基于Vue uniapp和java SpringBoot的汽车充电桩微信小程序

摘要:

        随着新能源汽车市场的迅猛发展,汽车充电桩的需求日益增长。为了满足市场需求,本课题开发了一款基于Java SpringBoot后端框架和Vue uniapp前端框架的汽车充电桩微信小程序。该小程序旨在为用户提供一个简洁高效的充电服务平台,同时为充电桩运营商提供强大的后台管理功能。通过利用SpringBoot的快速开发特性和uni-app的跨平台能力,本项目成功实现了一个既能够适应不断变化的市场需求,又能够保证用户体验的充电服务解决方案。整体系统设计考虑了易用性、稳定性与扩展性,以期在未来的发展中持续满足用户需求和业务拓展。

实现的功能:

本系统后台管理是PC浏览器端,用户端是微信小程序。

功能应该包括:用户注册登录、会员管理、订单管理、留言管理、共享充电桩管理等功能,前台用户还可以进行资讯阅读、充电下单等操作。

注册、登录:管理员使用已经创建的账号信息可以登录后台管理系统。未注册的微信用户可以注册,有了账号后可以登录小程序;

会员管理:管理员可以查看所有注册会员信息,实现增删改查;

订单管理:管理员可以查看用户在小程序上的充电下单记录;

留言管理:主要是管理员对留言管理,进行增删改查;

共享充电桩管理:实现录入充电桩的所在充电站名称、停车场名称、所在位置、数量、收费、简介信息等。实现增删改查。

用到的技术:

后端 java语言的SpringBoot框架、MySql数据库、Maven依赖管理等;

前端 PC前端使用element-ui、微信小程序使用Vue.js语法的UniApp框架。

部分代码展示

<template><view><view class="u-flex user-box u-p-l-30 u-p-r-20 u-p-b-30"><view class="u-m-r-10"><image style="width: 140px;height: 140px;" src="../../static/images/nuoMi.png"></image></view><view class="u-flex-1"><view class="u-font-18 u-p-b-20">{{user.nickName}}</view><view class="u-font-14 u-tips-color">车牌号:{{user.carNo}}</view><view class="u-font-14 u-tips-color">身份:{{user.type==1?'管理员':'会员'}}</view></view><!-- <view class="u-m-l-10 u-p-10"><u-icon name="scan" color="#969799" size="28"></u-icon></view> --><!-- <view class="u-m-l-10 u-p-10"><u-icon name="arrow-right" color="#969799" size="28"></u-icon></view> --></view><view class="u-m-t-20"><u-cell-group><u-cell-item :iconStyle="{color:'#3f80de'}" @click="toCollect" icon="setting" title="我的收藏"></u-cell-item><u-cell-item :iconStyle="{color:'#3f80de'}" @click="showInfo" icon="setting" title="留言"></u-cell-item><u-cell-item :iconStyle="{color:'#3f80de'}" @click="clear" icon="man-add-fill" title="清除缓存"></u-cell-item><u-cell-item :iconStyle="{color:'#3f80de'}" @click="showAppInfo" icon="question-circle-fill" title="关于小程序"></u-cell-item></u-cell-group></view><!-- <view class="u-m-t-20"><u-cell-group><u-cell-item :iconStyle="{color:'#3f80de'}" icon="setting" title="设置"></u-cell-item></u-cell-group></view> --><u-select @confirm="selConfirm" v-model="show" :list="deptList"></u-select><u-popup v-model="showModel" mode="center" border-radius="14" width="600"><view class="c-model-view u-p-25"><u-field style="height: 25vh;" label="留言" type="textarea" placeholder="请输入留言内容"v-model="commentText"></u-field><u-button type="primary" class="u-m-t-50" @click="submitComment"  :ripple="true">发布</u-button></view></u-popup></view>
</template><script>import appRequest from "@/common/appRequestUrl.js"export default {data() {return {commentText:"",showModel:false,pic: 'https://uviewui.com/common/logo.png',show: false,nick: "未登录",userNo: "未绑定",deptName: "未绑定",user: "",admin: "",c:[],selObj:{},student:{name:"",userNo:"",deptFk:"",project:"",phone:"",deptNo:""},deptList:[]}},onShow:function() {this.user = appRequest.getUserInfo();if(!this.user){uni.navigateTo({url:"/pages/login/login"})}console.log(this.user.carNo);},methods: {toCollect(){uni.navigateTo({url:"/pages/app/collect/collect"})},submitComment(){if(!this.commentText){uni.showToast({title:"请输入留言",icon:"none"});return;}let _this = this;appRequest.request({method: "POST",data: {content:this.commentText,type:3,uid:this.user.uid,uname:this.user.uname},url: appRequest.urlMap.addNmComment,success: function(res) {if(res.data.code == 200){_this.$api.msg("提交成功");_this.showModel = false;}else{_this.$api.msg(res.data.msg);}},fail: function(res) {_this.$api.msg("提交失败");}})},showInfo(){this.showModel = true;this.commentText="";},showAppInfo:function(){uni.showModal({title:"关于",content:"糯米充电,版本号0.012",showCancel:false})},clear:function(){uni.clearStorageSync();uni.showToast({title:"已清除",icon:"none"})uni.navigateTo({url:"/pages/login/login"})},selConfirm(e) {this.selObj = e[0];for(let i=0;i<this.deptList.length;i++){if(this.deptList[i].value == this.selObj.value){this.selObj['no'] = this.deptList[i].no;break;}}},getDeptInfo: function(level) {let _this = this;appRequest.request({method: "GET",url: appRequest.getDeptData,success: function(res) {_this.deptList = [];res.data.data.map(function(item, index, arr) {if(level == item.level){_this.deptList.push({value: item.id,label: item.name,no:item.deptNo})}});},fail: function(res) {}})},submitCheck(){let _this = this;_this.student.deptFk = _this.selObj.value;_this.student.deptNo = _this.selObj.no;console.log(JSON.stringify(_this.student))if(!_this.student.name || !_this.student.userNo || !_this.student.deptFk || !_this.student.project ){uni.showToast({title:"请填写完整",icon:"none"})return;}try{let year = Number((new Date().getFullYear() + "").slice(2,4));let usrYear = Number((_this.student.userNo+"").slice(0,2));let dept = (_this.student.userNo+"").slice(2,4);if(year - usrYear > 4 ||  year - usrYear < 0 || dept != _this.selObj.no || (_this.student.userNo+"").length!=10){uni.showToast({title:"学号错误",icon:"error"})return;}}catch(e){//TODO handle the exceptionuni.showToast({title:"验证错误",icon:"error"})return;}},checkStudent() {let _this = this;// if (this.userInfo.token) {// 	uni.showToast({// 		title: '已完成学生认证,无需重复认证',// 		icon: "none"// 	})// 	return;// }_this.showModel = true;_this.getDeptInfo(1);}}}
</script>

演示视频

基于java和Vue uniapp的汽车充电桩微信小程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/655489.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机视觉:高级图像处理,满足您的所有需求。

一、说明 特征提取是机器学习管道中的关键步骤&#xff0c;可增强模型在不同数据集上的泛化和良好表现能力。特征提取方法的选择取决于数据的特征和机器学习任务的具体要求。本文揭示图像处理的数学原理&#xff0c;实现增强的计算机视觉 二、关于计算机视觉的普遍问题 在计算机…

pytest框架的基本使用

1. 测试框架的作用 测试框架不关系用例的内容 它关心的是&#xff1a;用例编排和结果收集 2. pytest框架的特点 1. 适用于python语言 2. 用法符合python风格 3. 有丰富的生态 3. 安装pytest框架 1. 新建一个项目 2. 在项目终端窗口输入如下命令&#xff0c;用于安装py…

python字典JSON 和csv文件

JSON与Python字典 Python中的字典与JSON非常类似而且支持嵌套结构。Json通过key取值的过程和python字典通过索引取值过程完全一致。JavaScript数据类型&#xff08;值&#xff09;对应的Python数据类型&#xff08;值&#xff09; JSONPythonobjectdictarraylist/tuplestring…

使用Hutool工具包解析、生成XML文件

说明&#xff1a;当我们在工作中需要将数据转为XML文件、或者读取解析XML文件时&#xff0c;使用Hutool工具包中的XMLUtil相关方法是最容易上手的方法&#xff0c;本文介绍如何使用Hutool工具包来解析、生成XML文件。 开始之前&#xff0c;需要导入Hutool工具包的依赖 <de…

uniapp瀑布流实现

1. 图片瀑布流&#xff1a; 不依赖任何插件&#xff0c;复制即可见效&#xff1a; <template><view class"page"><view class"left" ref"left"><image class"image" v-for"(item,i) in leftList" :k…

260:vue+openlayers 通过webgl方式加载矢量图层

第260个 点击查看专栏目录 本示例介绍如何在vue+openlayers中通过webgl方式加载矢量图层。在做这个示例的时候,采用vite的方式而非webpack的方式。这里的基础设置需要改变一下。 ol的版本7.5.2或者更高。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果 文…

【webrtc】‘ninja.exe‘ 不是内部或外部命令,也不是可运行的程序及vs2019 重新构建m98

werbtc 就是用ninja.exe 来构建找到了自己以前构建的webrtc 原版 m98 【m98 】webrtc ninja 构建 、example、tests 及OWT- P2P 项目P2PMFC-E2E-m98G:\CDN\rtcCli\webrtc-checkout\src找到了自己的deptools的路径 deptools里确实没有ninja.exe D:\SOFT\depot_tools\third_party…

14.STM32F4 LCD屏幕字体图片取模软件应用介绍(LCD之二)

一、文字取模软件应用 PCtoLCD2002取模软件主要是针对汉字、字母、数字、符号进行取模。可以根据下图说明对取模软件进行设置。 &#xff08;1&#xff09;界面介绍 &#xff08;2&#xff09;软件设置 &#xff08;3&#xff09;字符取摸举例&#xff1a; ①取摸字体&#…

二叉树及其相关例题

目录 1.树 1.树的基本概念 2.结点之间的的关系描述&#xff08;还是看上面的图&#xff09; 3.结点之间的属性描述 4.有序树和无序树 5.森林 6.遍历顺序 1.前序遍历&#xff1a;从根结点——>根结点左子树——>根结点的右子树&#xff08;中 左 右&#xff…

R语言学习case7:ggplot基础画图(核密度图)

step1: 导入ggplot2库文件 library(ggplot2)step2&#xff1a;带入自带的iris数据集 iris <- datasets::irisstep3&#xff1a;查看数据信息 dim(iris)维度为 [150,5] head(iris)查看数据前6行的信息 step4&#xff1a;画图展示 plot2 <- ggplot(iris,aes(Sepal.W…

海外云手机运营Instagram攻略

Instagram是世界著名的社交媒体平台&#xff0c;有着10亿实时用户&#xff0c;是跨境电子商务的优质流量来源。平台以女性用户为主&#xff0c;购物倾向高&#xff0c;转化率好。它被公认为外贸行业的优质社交媒体流量池。那么&#xff0c;如何使用海外云手机吸引Instagram上的…

表贴式PMSM的直接转矩控制(DTC)MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 表贴式PMSM的直接转矩控制(DTC),直接使用滞环控制对转矩和磁链进行控制&#xff0c;相对于传统的FOC控制而言&#xff0c;其不需要进行解耦变换&#xff0c;在此次的有以下几点需要注意&#xff1a…

血细胞分类项目

血细胞分类项目 数据集&#xff1a;血细胞分类数据集数据处理 dataset.py网络 net.py训练 train.py拿训练集的几张图进行预测 数据集&#xff1a;血细胞分类数据集 https://aistudio.baidu.com/datasetdetail/10278 数据处理 dataset.py from torchvision import transfor…

2024-01-29 ubuntu 用脚本设置安装交叉编译工具链路径方法,设置PATH环境变量

一、设置PATH环境变量的方法,建议用~/.bash_profile的方法&#xff0c;不然在ssh登录的时候可能没有设置PATH. 二、下面的完整的脚本&#xff0c;里面的echo "export PATH$build_toolchain_path:\$PATH" >> $HOME/.bashrc 就是把交叉编译路径写写到.bashrc设置…

Netty源码二:服务端创建NioEventLoopGroup

示例 还是拿之前启动源码的示例&#xff0c;来分析NioEventLoopGroup源码 NioEventLoopGroup构造函数 这里能看到会调到父类的MultiThread EventLoopGroup的构造方法 MultiThreadEventLoopGroup 这里我们能看到&#xff0c;如果传入的线程数目为0&#xff0c;那么就会设置2倍…

/etc/profile错误,命令失效

source /etc/profile后所有命令失效 执行 export PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 修改后 执行:wq! 执行:w !sudo tee %

TCP_拥塞控制

引言 24年春节马上就要到了&#xff0c;作为开车党&#xff0c;最大的期盼就是顺利回家过年不要堵车。梦想是美好的&#xff0c;但现实是骨感的&#xff0c;拥堵的道路让人苦不堪言。 在网络世界中&#xff0c;类似于堵车的问题也存在&#xff0c;而TCP&#xff08;Transmissi…

(一)Spring 核心之控制反转(IoC)—— 配置及使用

目录 一. 前言 二. IoC 基础 2.1. IoC 是什么 2.2. IoC 能做什么 2.3. IoC 和 DI 是什么关系 三. IoC 配置的三种方式 3.1. XML 配置 3.2. Java 配置 3.3. 注解配置 四. 依赖注入的三种方式 4.1. 属性注入&#xff08;setter 注入&#xff09; 4.2. 构造方法注入&a…

【更新】人工智能-55个工具变量汇总(2024年更新)

一、引言 工具变量是一种在统计学和计量经济学中常用的技术&#xff0c;用于处理因果关系研究中的内生性问题。内生性问题通常是由于遗漏变量、双向因果关系或测量误差等原因造成的&#xff0c;这会导致估计结果出现偏误。工具变量的使用可以帮助解决这一问题 整理收集了CSSC…

Android MediaCodec 简明教程(四):使用 MediaCodec 将视频解码到 Surface,并使用 SurfaceView 播放视频

系列文章目录 Android MediaCodec 简明教程&#xff08;一&#xff09;&#xff1a;使用 MediaCodecList 查询 Codec 信息&#xff0c;并创建 MediaCodec 编解码器Android MediaCodec 简明教程&#xff08;二&#xff09;&#xff1a;使用 MediaCodecInfo.CodecCapabilities 查…