基于ssm微信图书小说阅读小程序源码和论文

摘  要

由于APP软件在开发以及运营上面所需成本较高,而用户手机需要安装各种APP软件,因此占用用户过多的手机存储空间,导致用户手机运行缓慢,体验度比较差,进而导致用户会卸载非必要的APP,倒逼管理者必须改变运营策略。随着微信小程序的出现,解决了用户非独立APP不可访问内容的痛点,所以很多APP软件都转向微信小程序。本次课题就运用了微信小程序技术开发一个微信阅读小程序。

微信阅读小程序借助微信开发者工具开发用户前端,使用SSM框架和Java语言开发管理员后台,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员管理书城,图书订单,图书章节,回复用户留言,管理用户以及阅读资讯。用户购买并支付图书订单,查看图书章节,发布留言,管理图书收藏信息。

总之,微信阅读小程序可以更加方便用户购买图书章节,在线阅读图书各个章节内容。

关键词:微信阅读小程序;微信开发者工具;SSM框架

基于ssm微信图书小说阅读小程序源码和论文010

演示视频:

基于ssm微信图书小说阅读小程序源码和文档


Abstract

Due to the high cost of APP software development and operation, and the user's mobile phone needs to install various APP software, it takes up too much mobile phone storage space of the user, causing the user's mobile phone to run slowly, the experience is relatively poor, and the user will uninstall Non-essential APPs force managers to change their operating strategies. With the emergence of WeChat mini-programs, the pain point that users cannot access content from non-independent APPs has been solved, so many APP software have turned to WeChat mini-programs. This project uses WeChat applet technology to develop a WeChat reading applet.

The WeChat reading applet uses the WeChat developer tool to develop the user front end, uses the SSM framework and the Java language to develop the administrator backend, and uses Mysql to create a data table to save the data generated by the system. The system can provide information display and corresponding services. Its administrator manages the bookstore, book orders, book chapters, responds to user messages, manages users, and reads information. Users purchase and pay for book orders, view book chapters, post messages, and manage book collection information.

In short, the WeChat reading applet can make it more convenient for users to purchase book chapters and read the contents of each chapter of the book online.

Key WordsWeChat reading applet; WeChat developer tool; SSM framework

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.FenleiEntity;
import com.entity.view.FenleiView;

import com.service.FenleiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 分类
 * 后端接口
 * @author 
 * @email 
 * @date 2021-03-09 17:26:39
 */
@RestController
@RequestMapping("/fenlei")
public class FenleiController {
    @Autowired
    private FenleiService fenleiService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,FenleiEntity fenlei, HttpServletRequest request){

        EntityWrapper<FenleiEntity> ew = new EntityWrapper<FenleiEntity>();
		PageUtils page = fenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fenlei), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,FenleiEntity fenlei, HttpServletRequest request){
        EntityWrapper<FenleiEntity> ew = new EntityWrapper<FenleiEntity>();
		PageUtils page = fenleiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fenlei), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( FenleiEntity fenlei){
       	EntityWrapper<FenleiEntity> ew = new EntityWrapper<FenleiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( fenlei, "fenlei")); 
        return R.ok().put("data", fenleiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(FenleiEntity fenlei){
        EntityWrapper< FenleiEntity> ew = new EntityWrapper< FenleiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( fenlei, "fenlei")); 
		FenleiView fenleiView =  fenleiService.selectView(ew);
		return R.ok("查询分类成功").put("data", fenleiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        FenleiEntity fenlei = fenleiService.selectById(id);
        return R.ok().put("data", fenlei);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        FenleiEntity fenlei = fenleiService.selectById(id);
        return R.ok().put("data", fenlei);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody FenleiEntity fenlei, HttpServletRequest request){
    	fenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(fenlei);

        fenleiService.insert(fenlei);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody FenleiEntity fenlei, HttpServletRequest request){
    	fenlei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(fenlei);

        fenleiService.insert(fenlei);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody FenleiEntity fenlei, HttpServletRequest request){
        //ValidatorUtils.validateEntity(fenlei);
        fenleiService.updateById(fenlei);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        fenleiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<FenleiEntity> wrapper = new EntityWrapper<FenleiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = fenleiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

 

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.ZhangjiexinxiEntity;
import com.entity.view.ZhangjiexinxiView;

import com.service.ZhangjiexinxiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 章节信息
 * 后端接口
 * @author 
 * @email 
 * @date 2021-03-09 17:26:39
 */
@RestController
@RequestMapping("/zhangjiexinxi")
public class ZhangjiexinxiController {
    @Autowired
    private ZhangjiexinxiService zhangjiexinxiService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ZhangjiexinxiEntity zhangjiexinxi, HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			zhangjiexinxi.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ZhangjiexinxiEntity> ew = new EntityWrapper<ZhangjiexinxiEntity>();
		PageUtils page = zhangjiexinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhangjiexinxi), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ZhangjiexinxiEntity zhangjiexinxi, HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			zhangjiexinxi.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ZhangjiexinxiEntity> ew = new EntityWrapper<ZhangjiexinxiEntity>();
		PageUtils page = zhangjiexinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhangjiexinxi), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ZhangjiexinxiEntity zhangjiexinxi){
       	EntityWrapper<ZhangjiexinxiEntity> ew = new EntityWrapper<ZhangjiexinxiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( zhangjiexinxi, "zhangjiexinxi")); 
        return R.ok().put("data", zhangjiexinxiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ZhangjiexinxiEntity zhangjiexinxi){
        EntityWrapper< ZhangjiexinxiEntity> ew = new EntityWrapper< ZhangjiexinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( zhangjiexinxi, "zhangjiexinxi")); 
		ZhangjiexinxiView zhangjiexinxiView =  zhangjiexinxiService.selectView(ew);
		return R.ok("查询章节信息成功").put("data", zhangjiexinxiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ZhangjiexinxiEntity zhangjiexinxi = zhangjiexinxiService.selectById(id);
        return R.ok().put("data", zhangjiexinxi);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ZhangjiexinxiEntity zhangjiexinxi = zhangjiexinxiService.selectById(id);
        return R.ok().put("data", zhangjiexinxi);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ZhangjiexinxiEntity zhangjiexinxi, HttpServletRequest request){
    	zhangjiexinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(zhangjiexinxi);

        zhangjiexinxiService.insert(zhangjiexinxi);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ZhangjiexinxiEntity zhangjiexinxi, HttpServletRequest request){
    	zhangjiexinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(zhangjiexinxi);
    	zhangjiexinxi.setUserid((Long)request.getSession().getAttribute("userId"));

        zhangjiexinxiService.insert(zhangjiexinxi);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ZhangjiexinxiEntity zhangjiexinxi, HttpServletRequest request){
        //ValidatorUtils.validateEntity(zhangjiexinxi);
        zhangjiexinxiService.updateById(zhangjiexinxi);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        zhangjiexinxiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<ZhangjiexinxiEntity> wrapper = new EntityWrapper<ZhangjiexinxiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			wrapper.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = zhangjiexinxiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程序源码(含截图)百度小说微信小程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值