哪个网站是自己销售,功能性的网站,wordpress 快速评论插件,广州做响应式网站多少钱大家好#xff0c;我是java1234_小锋老师#xff0c;看到一个不错的微信小程序智能商城系统(uniappSpringboot后端vue管理端)#xff0c;分享下哈。 项目视频演示
【免费】微信小程序智能商城系统(uniappSpringboot后端vue管理端) Java毕业设计_哔哩哔哩_bilibili 项目介绍…大家好我是java1234_小锋老师看到一个不错的微信小程序智能商城系统(uniappSpringboot后端vue管理端)分享下哈。 项目视频演示
【免费】微信小程序智能商城系统(uniappSpringboot后端vue管理端) Java毕业设计_哔哩哔哩_bilibili 项目介绍
互联网发展至今无论是其理论还是技术都已经成熟而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播搭配信息管理工具可以很好地为人们提供服务。针对高校教师成果信息管理混乱出错率高信息安全性差劳动强度大费时费力等问题采用智能小程序商城可以有效管理使信息管理能够更加科学和规范。
智能小程序商城使用Java语言进行编码使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务其管理智能小程序商城信息查看智能小程序商城信息管理智能小程序商城。
总之智能小程序商城集中管理信息有着保密性强效率高存储空间大成本低等诸多优点。它可以降低信息管理成本实现信息管理计算机化。 系统展示 部分代码 package com.controller;import java.util.List;
import java.util.Arrays;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import com.service.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
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.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.UsersEntity;
import com.service.TokenService;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;/*** 登录相关*/
RequestMapping(users)
RestController
public class UsersController {Autowiredprivate UsersService usersService;Autowiredprivate TokenService tokenService;/*** 登录*/IgnoreAuthPostMapping(value /login)public R login(String username, String password, String captcha, HttpServletRequest request) {UsersEntity user usersService.selectOne(new EntityWrapperUsersEntity().eq(username, username));if(usernull || !user.getPassword().equals(password)) {return R.error(账号或密码不正确);}String token tokenService.generateToken(user.getId(),username, users, user.getRole());R r R.ok();r.put(token, token);r.put(role,user.getRole());r.put(userId,user.getId());return r;}/*** 注册*/IgnoreAuthPostMapping(value /register)public R register(RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);if(usersService.selectOne(new EntityWrapperUsersEntity().eq(username, user.getUsername())) !null) {return R.error(用户已存在);}usersService.insert(user);return R.ok();}/*** 退出*/GetMapping(value logout)public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok(退出成功);}/*** 修改密码*/GetMapping(value /updatePassword)public R updatePassword(String oldPassword, String newPassword, HttpServletRequest request) {UsersEntity users usersService.selectById((Integer)request.getSession().getAttribute(userId));if(newPassword null){return R.error(新密码不能为空) ;}if(!oldPassword.equals(users.getPassword())){return R.error(原密码输入错误);}if(newPassword.equals(users.getPassword())){return R.error(新密码不能和原密码一致) ;}users.setPassword(newPassword);usersService.updateById(users);return R.ok();}/*** 密码重置*/IgnoreAuthRequestMapping(value /resetPass)public R resetPass(String username, HttpServletRequest request){UsersEntity user usersService.selectOne(new EntityWrapperUsersEntity().eq(username, username));if(usernull) {return R.error(账号不存在);}user.setPassword(123456);usersService.update(user,null);return R.ok(密码已重置为123456);}/*** 列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params,UsersEntity user){EntityWrapperUsersEntity ew new EntityWrapperUsersEntity();PageUtils page usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put(data, page);}/*** 列表*/RequestMapping(/list)public R list( UsersEntity user){EntityWrapperUsersEntity ew new EntityWrapperUsersEntity();ew.allEq(MPUtil.allEQMapPre( user, user)); return R.ok().put(data, usersService.selectListView(ew));}/*** 信息*/RequestMapping(/info/{id})public R info(PathVariable(id) String id){UsersEntity user usersService.selectById(id);return R.ok().put(data, user);}/*** 获取用户的session用户信息*/RequestMapping(/session)public R getCurrUser(HttpServletRequest request){Integer id (Integer)request.getSession().getAttribute(userId);UsersEntity user usersService.selectById(id);return R.ok().put(data, user);}/*** 保存*/PostMapping(/save)public R save(RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);if(usersService.selectOne(new EntityWrapperUsersEntity().eq(username, user.getUsername())) !null) {return R.error(用户已存在);}usersService.insert(user);return R.ok();}/*** 修改*/RequestMapping(/update)public R update(RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);usersService.updateById(user);//全部更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Long[] ids){ListUsersEntity user usersService.selectList(null);if(user.size() 1){usersService.deleteBatchIds(Arrays.asList(ids));}else{return R.error(管理员最少保留一个);}return R.ok();}
}templatedivdiv classcontainer loginIn stylebackgroundImage: url(/zhinengxiaochengxsc/img/back-img-bg.jpg)div :class2 1 ? left : 2 2 ? left center : left right stylebackgroundColor: rgba(255, 255, 255, 0.15)el-form classlogin-form label-positionleft :label-width1 3 ? 56px : 0pxdiv classtitle-containerh3 classtitle stylecolor: var(--publicMainColor)智能小程序商城/h3/divel-form-item :label1 3 ? 用户名 : :classstyle1span v-if1 ! 3 classsvg-container stylecolor:rgba(18, 18, 18, 1);line-height:44pxsvg-icon icon-classuser //spanel-input placeholder请输入用户名 nameusername typetext v-modelrulesForm.username //el-form-itemel-form-item :label1 3 ? 密码 : :classstyle1span v-if1 ! 3 classsvg-container stylecolor:rgba(18, 18, 18, 1);line-height:44pxsvg-icon icon-classpassword //spanel-input placeholder请输入密码 namepassword typepassword v-modelrulesForm.password //el-form-itemel-form-item v-if0 1 classcode :label1 3 ? 验证码 : :classstyle1span v-if1 ! 3 classsvg-container stylecolor:rgba(18, 18, 18, 1);line-height:44pxsvg-icon icon-classcode //spanel-input placeholder请输入验证码 namecode typetext v-modelrulesForm.code /div classgetCodeBt clickgetRandCode(4) styleheight:44px;line-height:44pxspan v-for(item, index) in codes :keyindex :style{color:item.color,transform:item.rotate,fontSize:item.size}{{ item.num }}/span/div/el-form-itemel-form-item v-ifroleOptions.length1 label角色 proploginInRole classrole styledisplay: flex;align-items: center;el-radiochangemenuChangev-foritem in roleOptionsv-bind:keyitem.valuev-modelrulesForm.role:labelitem.value{{item.key}}/el-radio/el-form-itemel-button typeprimary clicklogin() classloginInBt stylepadding:0;font-size:16px;border-radius:4px;height:44px;line-height:44px;width:100%;backgroundColor:var(--publicMainColor); borderColor:var(--publicMainColor); color:rgba(255, 255, 255, 1){{2 1 ? 登录 : login}}/el-button el-form-item classsettingdiv classregister clickregister(yonghu)用户注册/divdiv classregister clickregister(shangjia)商家注册/div/el-form-item/el-form/div/div/div
/template
scriptimport menu from /utils/menu;export default {data() {return {rulesForm: {username: ,password: ,role: ,code: ,},menus: [],roleOptions: [],tableName: ,codes: [{num: 1,color: #000,rotate: 10deg,size: 16px},{num: 2,color: #000,rotate: 10deg,size: 16px},{num: 3,color: #000,rotate: 10deg,size: 16px},{num: 4,color: #000,rotate: 10deg,size: 16px}],};},mounted() {let menus menu.list();this.menus menus;for (let i 0; i this.menus.length; i) {if (this.menus[i].hasBackLogin是) {let menuItem{};menuItem[key]this.menus[i].roleName;menuItem[value]this.menus[i].tableName;this.roleOptions.push(menuItem);}}},created() {this.getRandCode()},methods: {menuChange(role){},register(tableName){this.$storage.set(loginTable, tableName);this.$router.push({path:/register})},// 登陆login() {let code for(let i in this.codes) {code this.codes[i].num}if (0 1 !this.rulesForm.code) {this.$message.error(请输入验证码);return;}if (0 1 this.rulesForm.code.toLowerCase() ! code.toLowerCase()) {this.$message.error(验证码输入有误);this.getRandCode()return;}if (!this.rulesForm.username) {this.$message.error(请输入用户名);return;}if (!this.rulesForm.password) {this.$message.error(请输入密码);return;}if(this.roleOptions.length1) {console.log(1)if (!this.rulesForm.role) {this.$message.error(请选择角色);return;}let menus this.menus;for (let i 0; i menus.length; i) {if (menus[i].tableName this.rulesForm.role) {this.tableName menus[i].tableName;this.rulesForm.role menus[i].roleName;}}} else {this.tableName this.roleOptions[0].value;this.rulesForm.role this.roleOptions[0].key;}this.$http({url: ${this.tableName}/login?username${this.rulesForm.username}password${this.rulesForm.password},method: post}).then(({ data }) {if (data data.code 0) {this.$storage.set(Token, data.token);this.$storage.set(userId, data.userId);this.$storage.set(role, this.rulesForm.role);this.$storage.set(sessionTable, this.tableName);this.$storage.set(adminName, this.rulesForm.username);this.$router.replace({ path: /index/ });} else {this.$message.error(data.msg);}});},getRandCode(len 4){this.randomString(len)},randomString(len 4) {let chars [a, b, c, d, e, f, g, h, i, j, k,l, m, n, o, p, q, r, s, t, u, v,w, x, y, z, A, B, C, D, E, F, G,H, I, J, K, L, M, N, O, P, Q, R,S, T, U, V, W, X, Y, Z, 0, 1, 2,2, 4, 5, 6, 7, 8, 9]let colors [0, 1, 2,2, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f]let sizes [14, 15, 16, 17, 18]let output [];for (let i 0; i len; i) {// 随机验证码let key Math.floor(Math.random()*chars.length)this.codes[i].num chars[key]// 随机验证码颜色let code #for (let j 0; j 6; j) {let key Math.floor(Math.random()*colors.length)code colors[key]}this.codes[i].color code// 随机验证码方向let rotate Math.floor(Math.random()*60)let plus Math.floor(Math.random()*2)if(plus 1) rotate -rotatethis.codes[i].rotate rotate(rotatedeg)// 随机验证码字体大小let size Math.floor(Math.random()*sizes.length)this.codes[i].size sizes[size]px}},}};
/script
style langscss scoped.loginIn {min-height: 100vh;position: relative;background-repeat: no-repeat;background-position: center center;background-size: cover;.left {position: absolute;left: 0;top: 0;width: 360px;height: 100%;.login-form {background-color: #fff;width: 100%;right: inherit;padding: 0 12px;box-sizing: border-box;display: flex;justify-content: center;flex-direction: column;}.title-container {text-align: center;font-size: 24px;.title {margin: 20px 0;}}.el-form-item {position: relative;.svg-container {padding: 6px 5px 6px 15px;color: #889aa4;vertical-align: middle;display: inline-block;position: absolute;left: 0;top: 0;z-index: 1;padding: 0;line-height: 40px;width: 30px;text-align: center;}.el-input {display: inline-block;height: 40px;width: 100%; /deep/ input {background: transparent;border: 0px;-webkit-appearance: none;padding: 0 15px 0 30px;height: 40px;}}}}.center {position: absolute;left: 50%;top: 50%;width: 360px;transform: translate3d(-50%,-50%,0);height: 446px;border-radius: 8px;}.right {position: absolute;left: inherit;right: 0;top: 0;width: 360px;height: 100%;}.code {.el-form-item__content {position: relative;.getCodeBt {position: absolute;right: 0;top: 0;line-height: 40px;width: 100px;background-color: rgba(51,51,51,0.4);color: #fff;text-align: center;border-radius: 0 4px 4px 0;height: 40px;overflow: hidden;span {padding: 0 5px;display: inline-block;font-size: 16px;font-weight: 600;}}.el-input { /deep/ input {padding: 0 130px 0 30px;}}}}.setting { /deep/ .el-form-item__content {padding: 0 15px;box-sizing: border-box;line-height: 32px;height: 32px;font-size: 14px;color: #999;margin: 0 !important;.register {float: left;width: 50%;color: var(--publicMainColor);}.reset {float: right;width: 50%;text-align: right;}}}.style2 {padding-left: 30px;.svg-container {left: -30px !important;}.el-input { /deep/ input {padding: 0 15px !important;}}}.code.style2, .code.style3 {.el-input { /deep/ input {padding: 0 115px 0 15px;}}}.style3 { /deep/ .el-form-item__label {padding-right: 6px;}.el-input { /deep/ input {padding: 0 15px !important;}}}.role { /deep/ .el-form-item__label {width: 56px !important;} /deep/ .el-radio {margin-right: 12px;color: var(--publicMainColor);}}}
/style源码代码
链接https://pan.baidu.com/s/1GXFNJ2gs3olK2dVpuFL4pg 提取码1234