当前位置:   article > 正文

基于java+springboot+vue的h5移动网赚项目设计与实现微信小程序_基于java的爬虫的微信小程序

基于java的爬虫的微信小程序

项目介绍

随着计算机技术的成熟,互联网的建立,如今,PC平台上有许多网赚项目的程序,但由于使用时间和地点上的限制,用户在使用上存在着种种不方便,而开发一款基于微信开发的移动网赚项目小程序,能够有效地解决这个问题。

本移动网赚项目小程序采用WXML 、WXS、JS小程序编写语言、微信开发者工具进行微信端开发,使用MYSQL数据库进行储存系统数据,以微信为入口的,具有快捷、轻便的特点,不占内存,不用下载、安装,而且访问速度很快。系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了查看任务、接单任务以及兑换商品的重要功能。

“操作简单,功能实用”这是本软件设计的核心理念,本系统力求创造最好的用户体验。
在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,微信开发者工具,jdk1.8,maven
支持定做:java/php/python/android/小程序vue/爬虫/c#/asp.net

系统实现

5.1用户功能模块的实现
5.1.1用户注册登录界面
没有账号的用户可进行注册操作,注册后可进入登录界面进行登录系统,用户注册登录界面展示如图5-1所示。
在这里插入图片描述

图5-1 用户注册登录界面图

5.1.2首页界面
用户登录后进入系统首页,首页界面展示如图5-2所示。
在这里插入图片描述

图5-2 首页界面图

5.1.3任务界面
用户在任务界面可查看所有任务信息,并可进行查看详情,任务界面展示如图5-3所示。
在这里插入图片描述

图5-3 任务界面图

5.1.4兑换物品界面
用户可查看兑换物品信息,并可选择查看详情,进行兑换操作,兑换物品界面如图5-4所示。
在这里插入图片描述

图5-4 兑换物品界面图

5.1.5签到界面
用户登录后还可进行签到操作,签到界面如图5-5所示。
在这里插入图片描述

图5-5 签到界面图

5.1.6我的界面
用户在我的界面可根据需求进行相应操作,我的界面如图5-6所示。
在这里插入图片描述

图5-6 我的界面图

5.2管理员功能模块的实现
5.2.1管理员登录界面
管理员要想进入系统后台对系统进行管理操作,必须登录系统后台,管理员登录界面如图5-7所示。
在这里插入图片描述

图5-7 管理员登录界面图

5.2.2用户管理界面
管理员登录后可查看、新增、修改和删除用户信息,用户管理界面如图5-8所示。
在这里插入图片描述

图5-8 用户管理界面图

5.2.3签到管理界面
管理员可查看、添加、修改和删除签到信息,签到管理界面如图5-9所示。
在这里插入图片描述

图5-9 签到管理界面图

5.2.4任务管理界面
管理员可添加、修改和删除任务信息,任务管理界面如图5-10所示。
在这里插入图片描述

图5-10 任务管理界面图

5.2.5任务分类管理界面
管理员可增删改查任务分类信息,任务分类管理界面展示如图5-11所示。
在这里插入图片描述

图5-11 任务分类管理界面图

5.2.6兑换物品管理界面
管理员能够查看、添加、修改和删除兑换物品信息,兑换物品管理界面如图5-12所示。
在这里插入图片描述

图5-12 兑换物品管理界面图

5.2.7提交审核管理界面
管理员能够查看用户任务接单信息,并可对其进行审核、修改和删除操作,提交审核管理界面如图5-13所示。
在这里插入图片描述

图5-13 提交审核管理界面图

核心代码

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.XiaojifenEntity;
import com.entity.view.XiaojifenView;

import com.service.XiaojifenService;
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 
 */
@RestController
@RequestMapping("/xiaojifen")
public class XiaojifenController {
    @Autowired
    private XiaojifenService xiaojifenService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,XiaojifenEntity xiaojifen,
		HttpServletRequest request){
        EntityWrapper<XiaojifenEntity> ew = new EntityWrapper<XiaojifenEntity>();
		PageUtils page = xiaojifenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiaojifen), params), params));

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

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(XiaojifenEntity xiaojifen){
        EntityWrapper< XiaojifenEntity> ew = new EntityWrapper< XiaojifenEntity>();
 		ew.allEq(MPUtil.allEQMapPre( xiaojifen, "xiaojifen")); 
		XiaojifenView xiaojifenView =  xiaojifenService.selectView(ew);
		return R.ok("查询消积分成功").put("data", xiaojifenView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        XiaojifenEntity xiaojifen = xiaojifenService.selectById(id);
        return R.ok().put("data", xiaojifen);
    }

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



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

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

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        xiaojifenService.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<XiaojifenEntity> wrapper = new EntityWrapper<XiaojifenEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


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


}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205

论文参考

在这里插入图片描述

目 录
1 绪 论 1
1.1研究背景 1
1.2研究现状 1
1.3研究内容 2
2系统关键技术 3
2.1 微信小程序 3
2.2微信Web开发者工具 3
2.3微信小程序API接口 3
2.4 WXML 、WXS、JS小程序编写语言 4
2.5 MYSQL数据库 4
3系统分析 1
3.1可行性分析 1
3.1.1 技术可行性 1
3.1.2经济可行性 1
3.1.3操作可行性 1
3.1.4法律可行性 2
3.2系统性能分析 2
3.3 系统功能分析 2
3.3.1用户功能分析 2
3.3.2管理员功能分析 3
3.4用户体验需求分析 3
3.5系统流程分析 4
3.5.1注册流程 4
3.5.2登录流程 4
3.5.3录入信息流程 5
4系统设计 6
4.1系统设计要求 6
4.2系统开发流程设计 6
4.3系统结构设计 6
4.4数据库设计 7
4.4.1数据库E-R图设计 7
4.4.2数据库表设计 9
5 系统的实现 12
5.1用户功能模块的实现 12
5.1.1用户注册登录界面 12
5.1.2首页界面 12
5.1.3任务界面 13
5.1.4兑换物品界面 14
5.1.5签到界面 14
5.1.6我的界面 15
5.2管理员功能模块的实现 16
5.2.1管理员登录界面 16
5.2.2用户管理界面 16
5.2.3签到管理界面 16
5.2.4任务管理界面 17
5.2.5任务分类管理界面 17
5.2.6兑换物品管理界面 18
5.2.7提交审核管理界面 18
6系统测试 19
6.1测试定义 19
6.2测试的重要性 19
6.3测试方案 20
6.4测试结论 21
结 论 1
参考文献 2
谢 辞 3

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/587009
推荐阅读
相关标签
  

闽ICP备14008679号