隨著計(jì)算機(jī)技術(shù)的成熟,互聯(lián)網(wǎng)的建立,如今,PC平臺上有許多關(guān)于書櫥方面的應(yīng)用程序,但由于使用時間和地點(diǎn)上的限制,用戶在使用上存在著種種不方便,而開發(fā)一款基于微信小程序的書櫥系統(tǒng),能夠有效地解決這個問題。
本基于微信小程序的書櫥系統(tǒng)采用Java技術(shù)、MYSQL數(shù)據(jù)庫、微信開發(fā)者工具進(jìn)行開發(fā)設(shè)計(jì),以微信為入口的,具有快捷、輕便的特點(diǎn),不占內(nèi)存,不用下載、安裝,而且訪問速度很快。系統(tǒng)界面良好,操作簡單方便,通過系統(tǒng)概述、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、系統(tǒng)測試這幾個部分,詳細(xì)的說明了系統(tǒng)的開發(fā)過程,最后并對整個開發(fā)過程進(jìn)行了總結(jié),實(shí)現(xiàn)了用戶通過微信平臺進(jìn)行圖書查詢、閱讀以及論壇交流的重要功能。
?“操作簡單,功能實(shí)用”這是本軟件設(shè)計(jì)的核心理念,本系統(tǒng)力求創(chuàng)造最好的用戶體驗(yàn)。
關(guān)鍵詞:書櫥;Java技術(shù);微信小程序;MYSQL數(shù)據(jù)庫
基于微信小程序的書櫥+ssm圖書管理后臺源碼和論文weixin110
演示視頻:
基于微信小程序的書櫥+ssm圖書管理后臺源碼和論文
ABSTRACT
With the maturity of computer technology and the establishment of the Internet, nowadays, there are many bookcase applications on the PC platform. However, due to restrictions on the time and place of use, users have various inconveniences in use, and the development of a The bookcase system of the WeChat applet can effectively solve this problem.
The bookcase system based on WeChat applet uses Java technology, MYSQL database, and WeChat developer tools for development and design. It uses WeChat as the entry point. It is fast and portable, does not occupy memory, does not need to be downloaded or installed, and has a fast access speed. . The system interface is good, and the operation is simple and convenient. Through the system overview, system analysis, system design, database design, and system testing, the development process of the system is explained in detail. Finally, the whole development process is summarized to realize the user Important functions for book inquiry, reading and forum communication through the WeChat platform.
??"Easy operation, practical function" is the core concept of this software design, this system strives to create the best user experience.
Keywords:?Bookcase; Java technology; WeChat applet; MYSQL database
文章來源:http://www.zghlxwxcb.cn/news/detail-808268.html
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.format.annotation.DateTimeFormat;
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.YonghuEntity;
import com.entity.view.YonghuView;
import com.service.YonghuService;
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-04-04 18:42:33
*/
@RestController
@RequestMapping("/yonghu")
public class YonghuController {
@Autowired
private YonghuService yonghuService;
@Autowired
private TokenService tokenService;
/**
* 登錄
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", username));
if(user==null || !user.getMima().equals(password)) {
return R.error("賬號或密碼不正確");
}
String token = tokenService.generateToken(user.getId(), username,"yonghu", "用戶" );
return R.ok().put("token", token);
}
/**
* 注冊
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody YonghuEntity yonghu){
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", yonghu.getZhanghao()));
if(user!=null) {
return R.error("注冊用戶已存在");
}
Long uId = new Date().getTime();
yonghu.setId(uId);
yonghuService.insert(yonghu);
return R.ok();
}
/**
* 退出
*/
@RequestMapping("/logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 獲取用戶的session用戶信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
YonghuEntity user = yonghuService.selectById(id);
return R.ok().put("data", user);
}
/**
* 密碼重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", username));
if(user==null) {
return R.error("賬號不存在");
}
user.setMima("123456");
yonghuService.updateById(user);
return R.ok("密碼已重置為:123456");
}
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
HttpServletRequest request){
EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu, HttpServletRequest request){
EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( YonghuEntity yonghu){
EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
return R.ok().put("data", yonghuService.selectListView(ew));
}
/**
* 查詢
*/
@RequestMapping("/query")
public R query(YonghuEntity yonghu){
EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();
ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));
YonghuView yonghuView = yonghuService.selectView(ew);
return R.ok("查詢用戶成功").put("data", yonghuView);
}
/**
* 后端詳情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
YonghuEntity yonghu = yonghuService.selectById(id);
return R.ok().put("data", yonghu);
}
/**
* 前端詳情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
YonghuEntity yonghu = yonghuService.selectById(id);
return R.ok().put("data", yonghu);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", yonghu.getZhanghao()));
if(user!=null) {
return R.error("用戶已存在");
}
yonghu.setId(new Date().getTime());
yonghuService.insert(yonghu);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("zhanghao", yonghu.getZhanghao()));
if(user!=null) {
return R.error("用戶已存在");
}
yonghu.setId(new Date().getTime());
yonghuService.insert(yonghu);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
//ValidatorUtils.validateEntity(yonghu);
yonghuService.updateById(yonghu);//全部更新
return R.ok();
}
/**
* 刪除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
yonghuService.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<YonghuEntity> wrapper = new EntityWrapper<YonghuEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = yonghuService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
?文章來源地址http://www.zghlxwxcb.cn/news/detail-808268.html
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.format.annotation.DateTimeFormat;
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.YuedujiluEntity;
import com.entity.view.YuedujiluView;
import com.service.YuedujiluService;
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-04-04 18:42:34
*/
@RestController
@RequestMapping("/yuedujilu")
public class YuedujiluController {
@Autowired
private YuedujiluService yuedujiluService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,YuedujiluEntity yuedujilu,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("yonghu")) {
yuedujilu.setZhanghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<YuedujiluEntity> ew = new EntityWrapper<YuedujiluEntity>();
PageUtils page = yuedujiluService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yuedujilu), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,YuedujiluEntity yuedujilu, HttpServletRequest request){
EntityWrapper<YuedujiluEntity> ew = new EntityWrapper<YuedujiluEntity>();
PageUtils page = yuedujiluService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yuedujilu), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( YuedujiluEntity yuedujilu){
EntityWrapper<YuedujiluEntity> ew = new EntityWrapper<YuedujiluEntity>();
ew.allEq(MPUtil.allEQMapPre( yuedujilu, "yuedujilu"));
return R.ok().put("data", yuedujiluService.selectListView(ew));
}
/**
* 查詢
*/
@RequestMapping("/query")
public R query(YuedujiluEntity yuedujilu){
EntityWrapper< YuedujiluEntity> ew = new EntityWrapper< YuedujiluEntity>();
ew.allEq(MPUtil.allEQMapPre( yuedujilu, "yuedujilu"));
YuedujiluView yuedujiluView = yuedujiluService.selectView(ew);
return R.ok("查詢閱讀記錄成功").put("data", yuedujiluView);
}
/**
* 后端詳情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
YuedujiluEntity yuedujilu = yuedujiluService.selectById(id);
return R.ok().put("data", yuedujilu);
}
/**
* 前端詳情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
YuedujiluEntity yuedujilu = yuedujiluService.selectById(id);
return R.ok().put("data", yuedujilu);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody YuedujiluEntity yuedujilu, HttpServletRequest request){
yuedujilu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(yuedujilu);
yuedujiluService.insert(yuedujilu);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody YuedujiluEntity yuedujilu, HttpServletRequest request){
yuedujilu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(yuedujilu);
yuedujiluService.insert(yuedujilu);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody YuedujiluEntity yuedujilu, HttpServletRequest request){
//ValidatorUtils.validateEntity(yuedujilu);
yuedujiluService.updateById(yuedujilu);//全部更新
return R.ok();
}
/**
* 刪除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
yuedujiluService.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<YuedujiluEntity> wrapper = new EntityWrapper<YuedujiluEntity>();
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("zhanghao", (String)request.getSession().getAttribute("username"));
}
int count = yuedujiluService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
到了這里,關(guān)于基于微信小程序的書櫥+ssm圖書管理后臺源碼和論文的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!