基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文

这篇具有很好参考价值的文章主要介绍了基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序公交信息在线查询系统

摘要

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了微信小程序公交信息在线查询系统的开发全过程。通过分析微信小程序公交信息在线查询系统信息管理的不足,创建了一个计算机管理微信小程序公交信息在线查询系统信息的方案。文章介绍了微信小程序公交信息在线查询系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。

本微信小程序公交信息在线查询系统有管理员和用户两个角色。管理员功能有个人中心,用户管理,线路信息管理,站点分类管理,站点信息管理,周边分类管理,周边信息管理,系统管理等。用户功能有个人中心,线路信息管理,站点信息管理,周边信息管理等。。因而具有一定的实用性。

本站后台采用Java的SSM框架进行后台管理开发,可以在浏览器上登录进行后台数据方面的管理,MySQL作为本地数据库,微信小程序用到了微信开发者工具,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得微信小程序公交信息在线查询系统信息管理工作系统化、规范化。

关键词:微信小程序公交信息在线查询系统;SSM框架;MYSQL

基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文weixin13

基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java

Abstract

With the deepening and extensive application of information technology in management, the implementation of management information systems has gradually matured in technology. This article introduces the whole process of the development of the WeChat mini program bus information online query system. By analyzing the shortcomings of the information management of the WeChat mini-program bus information online query system, a computer-managed WeChat mini-program bus information online query system information plan was created. The article introduces the system analysis part of the WeChat mini program bus information online query system, including feasibility analysis, etc. The system design part mainly introduces the system function design and database design.

This WeChat Mini Program public transportation information online query system has two roles: administrator and user. Administrator functions include personal center, user management, line information management, site classification management, site information management, peripheral classification management, peripheral information management, system management, etc. User functions include personal center, line information management, site information management, peripheral information management, etc. . So it has a certain practicability.

The background of this site uses the Java SSM framework for background management and development. You can log in on the browser to manage the background data. MySQL is the local database, and the WeChat applet uses the WeChat developer tools to fully ensure the stability of the system. The system has the characteristics of clear interface, simple operation and complete functions, which makes the WeChat mini program bus information online query system information management systematized and standardized.

Keywords: WeChat mini program bus information online query system; SSM framework; MYSQL

基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文,微信小程序,小程序,java文章来源地址https://www.toymoban.com/news/detail-798218.html

package com.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ResourceUtils;
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.annotation.IgnoreAuth;
import com.baidu.aip.face.AipFace;
import com.baidu.aip.face.MatchRequest;
import com.baidu.aip.util.Base64Util;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.ConfigEntity;
import com.service.CommonService;
import com.service.ConfigService;
import com.utils.BaiduUtil;
import com.utils.FileUtil;
import com.utils.R;

/**
 * 通用接口
 */
@RestController
public class CommonController{
	@Autowired
	private CommonService commonService;
	
	@Autowired
	private ConfigService configService;
	
	private static AipFace client = null;
	
	private static String BAIDU_DITU_AK = null;
	
	@RequestMapping("/location")
	public R location(String lng,String lat) {
		if(BAIDU_DITU_AK==null) {
			BAIDU_DITU_AK = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "baidu_ditu_ak")).getValue();
			if(BAIDU_DITU_AK==null) {
				return R.error("请在配置管理中正确配置baidu_ditu_ak");
			}
		}
		Map<String, String> map = BaiduUtil.getCityByLonLat(BAIDU_DITU_AK, lng, lat);
		return R.ok().put("data", map);
	}
	
	/**
	 * 人脸比对
	 * 
	 * @param face1 人脸1
	 * @param face2 人脸2
	 * @return
	 */
	@RequestMapping("/matchFace")
	public R matchFace(String face1, String face2,HttpServletRequest request) {
		if(client==null) {
			/*String AppID = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "AppID")).getValue();*/
			String APIKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "APIKey")).getValue();
			String SecretKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "SecretKey")).getValue();
			String token = BaiduUtil.getAuth(APIKey, SecretKey);
			if(token==null) {
				return R.error("请在配置管理中正确配置APIKey和SecretKey");
			}
			client = new AipFace(null, APIKey, SecretKey);
			client.setConnectionTimeoutInMillis(2000);
			client.setSocketTimeoutInMillis(60000);
		}
		JSONObject res = null;
		try {
			File file1 = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+face1);
			File file2 = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+face2);
			String img1 = Base64Util.encode(FileUtil.FileToByte(file1));
			String img2 = Base64Util.encode(FileUtil.FileToByte(file2));
			MatchRequest req1 = new MatchRequest(img1, "BASE64");
			MatchRequest req2 = new MatchRequest(img2, "BASE64");
			ArrayList<MatchRequest> requests = new ArrayList<MatchRequest>();
			requests.add(req1);
			requests.add(req2);
			res = client.match(requests);
			System.out.println(res.get("result"));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return R.error("文件不存在");
		} catch (IOException e) {
			e.printStackTrace();
		} 
		return R.ok().put("data", com.alibaba.fastjson.JSONObject.parse(res.get("result").toString()));
	}
    
	/**
	 * 获取table表中的column列表(联动接口)
	 * @param table
	 * @param column
	 * @return
	 */
	@IgnoreAuth
	@RequestMapping("/option/{tableName}/{columnName}")
	public R getOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		if(StringUtils.isNotBlank(level)) {
			params.put("level", level);
		}
		if(StringUtils.isNotBlank(parent)) {
			params.put("parent", parent);
		}
		List<String> data = commonService.getOption(params);
		return R.ok().put("data", data);
	}
	
	/**
	 * 根据table中的column获取单条记录
	 * @param table
	 * @param column
	 * @return
	 */
	@IgnoreAuth
	@RequestMapping("/follow/{tableName}/{columnName}")
	public R getFollowByOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @RequestParam String columnValue) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		params.put("columnValue", columnValue);
		Map<String, Object> result = commonService.getFollowByOption(params);
		return R.ok().put("data", result);
	}
	
	/**
	 * 修改table表的sfsh状态
	 * @param table
	 * @param map
	 * @return
	 */
	@RequestMapping("/sh/{tableName}")
	public R sh(@PathVariable("tableName") String tableName, @RequestBody Map<String, Object> map) {
		map.put("table", tableName);
		commonService.sh(map);
		return R.ok();
	}
	
	/**
	 * 获取需要提醒的记录数
	 * @param tableName
	 * @param columnName
	 * @param type 1:数字 2:日期
	 * @param map
	 * @return
	 */
	@IgnoreAuth
	@RequestMapping("/remind/{tableName}/{columnName}/{type}")
	public R remindCount(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("table", tableName);
		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));
			}
		}
		
		int count = commonService.remindCount(map);
		return R.ok().put("count", count);
	}
	
	/**
	 * 单列求和
	 */
	@IgnoreAuth
	@RequestMapping("/cal/{tableName}/{columnName}")
	public R cal(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		Map<String, Object> result = commonService.selectCal(params);
		return R.ok().put("data", result);
	}
	
	/**
	 * 分组统计
	 */
	@IgnoreAuth
	@RequestMapping("/group/{tableName}/{columnName}")
	public R group(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		List<Map<String, Object>> result = commonService.selectGroup(params);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		for(Map<String, Object> m : result) {
			for(String k : m.keySet()) {
				if(m.get(k) instanceof Date) {
					m.put(k, sdf.format((Date)m.get(k)));
				}
			}
		}
		return R.ok().put("data", result);
	}
	
	/**
	 * (按值统计)
	 */
	@IgnoreAuth
	@RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}")
	public R value(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("xColumn", xColumnName);
		params.put("yColumn", yColumnName);
		List<Map<String, Object>> result = commonService.selectValue(params);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		for(Map<String, Object> m : result) {
			for(String k : m.keySet()) {
				if(m.get(k) instanceof Date) {
					m.put(k, sdf.format((Date)m.get(k)));
				}
			}
		}
		return R.ok().put("data", result);
	}
	
}
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.XianluxinxiEntity;
import com.entity.view.XianluxinxiView;

import com.service.XianluxinxiService;
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-29 00:46:21
 */
@RestController
@RequestMapping("/xianluxinxi")
public class XianluxinxiController {
    @Autowired
    private XianluxinxiService xianluxinxiService;
    


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

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

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(XianluxinxiEntity xianluxinxi){
        EntityWrapper< XianluxinxiEntity> ew = new EntityWrapper< XianluxinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( xianluxinxi, "xianluxinxi")); 
		XianluxinxiView xianluxinxiView =  xianluxinxiService.selectView(ew);
		return R.ok("查询线路信息成功").put("data", xianluxinxiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        XianluxinxiEntity xianluxinxi = xianluxinxiService.selectById(id);
        return R.ok().put("data", xianluxinxi);
    }

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



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

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

        xianluxinxiService.insert(xianluxinxi);
        return R.ok();
    }

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

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


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


}

到了这里,关于基于微信小程序的公交信息在线查询系统+ssm后台管理源码和论文的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一步搞定IP地址查询:这个在线工具帮你快速掌握设备的位置信息!

    前言   今天分享一个免费的在线工具来查询IP地址所在的地理位置。可以通过IP地址所属的网络运营商和其他相关信息来确定设备的位置,包括国家、地区、城市和经纬度等信息。 Ip-API 官网地址: https://ip-api.com/ 使用示例    该工具除了提供界面查询,还贴心的提供了AP

    2023年04月24日
    浏览(36)
  • 基于微信小程序的在线课堂系统

    随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,在线课堂微信小程序被用户普遍使用,为方便用户能够可以随时进行在线课堂微信小程序的数据信息管理,特

    2024年01月22日
    浏览(41)
  • (N-144)基于微信小程序在线订餐系统

    开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、ElementUI、 Vant Weapp 服务端技术:springboot+mybatis+redis 本系统分微信小程序和管理后台两部分,项目采用前后端分离 一、普通用户功能: 登录注册、浏览商品信息、添加购物车、

    2024年02月21日
    浏览(47)
  • N-144基于微信小程序在线订餐系统

    开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、ElementUI、 Vant Weapp 服务端技术:springboot+mybatis+redis 本系统分微信小程序和管理后台两部分,项目采用前后端分离 一、普通用户功能: 登录注册、浏览商品信息、添加购物车、

    2024年02月20日
    浏览(34)
  • 基于微信小程序的在线考试系统源码

    目录 一、整体目录(示范): 文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等 二、运行截图 三、代码部分(示范): 四、数据库表(示范): 数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习 五、主要技术介绍: 六、项目调试学习(点击

    2024年02月12日
    浏览(38)
  • ssm基于微信小程序英语在线考试系统(程序+开题)

    本系统(程序 + 源码)带文档 lw 万字以上 文末可获取一份本项目的 java 源码和数据库参考。 研究背景: 随着英语学习的重要性日益凸显,英语考试成为了学生学习的重要环节。传统的英语考试方式存在着时间和空间限制、试卷管理繁琐等问题,无法满足学生和教师的需求。

    2024年02月01日
    浏览(34)
  • 基于微信小程序的在线学习平台课程设计

    目录 一、整体目录(示范): 文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等 二、运行截图 三、代码部分(示范): 四、数据库表(示范): 数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习 五、主要技术介绍: 六、项目调试学习(点击

    2024年02月04日
    浏览(38)
  • 基于微信小程序的在线问诊系统(源码+LW)

    💗博主介绍:✌全网粉丝10W+,CSDN全栈领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者。 👇🏻 精彩专栏 推荐订阅👇🏻 计算机毕业设计精品项目案例-200套 🌟 文末获取源码+数据库+文档 🌟 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编

    2024年02月04日
    浏览(32)
  • 基于微信小程序的在线点餐外卖系统

    目 录 第1章 绪论 1 1.1 研究背景 1 1.2 研究目的和意义 1 1.2.1研究目的 1 1.2.2研究意义 2 1.3 国内外研究现状分析 2 1.3.1国外研究现状 2 1.3.2国内研究现状 3 1.4 研究内容及方法 3 1.4.1研究内容 3 1.4.2研究方法 4 1.4.3技术路线图 4 第2章 系统分析 6 2.1可行性分析 6 2.1.1技术可行性 6 2.1.

    2024年02月02日
    浏览(39)
  • 微信小程序 uniapp+vue城市公交线路查询系统dtjl3

     小程序Android端运行软件  微信开发者工具/hbuiderx uni-app框架:使用Vue.js开发跨平台应用的前端框架,编写一套代码,可编译到Android、小程序等平台。 前端:HTML5,CSS3 VUE 后端:java(springboot+ssm)/python(flask+django)/thinkphp/nodejs/ 开发运行:微信开发者/hbuilderx 后端:idea/eclipse/vscode/p

    2024年04月13日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包