项目运行
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 4G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0等版本均可;
7.小程序:uniapp
毕设帮助,指导,本源码分享,调试部署(见文末)
系统介绍:
小区服务管理系统是一个基于B/S架构的Web应用,旨在为小区管理人员和住户提供一个便捷、高效的服务管理平台。系统集成了安保管理、客服聊天、反馈管理、房屋管理、公告管理等功能,通过集中化处理提高了信息管理的效率和准确性。系统采用Java语言开发,使用Spring Boot框架和MySQL数据库,确保了系统的稳定性和可维护性。
整体功能包含:
安保管理
客服聊天管理
反馈管理
字典管理
房屋管理
公告管理
住户管理
员工管理
管理员管理
前台模块:
用户注册与登录
客服聊天查看与参与
反馈提交与管理
房屋信息查看
公告信息浏览
后台模块:
管理员登录:系统登录功能,验证管理员身份。
客服聊天管理:管理客服聊天记录,回复用户问题。
反馈管理:查看、回复和处理用户反馈。
公告信息管理:发布和管理小区公告。
公告类型管理:管理公告类型,添加或编辑公告分类。
用户管理:管理小区住户信息。
房屋管理:管理小区房屋信息。
安保管理:分配和管理安保人员的工作安排。
功能截图:
代码实现:
javascript
var _default = {
data: function data() {
return {
username: '',
password: '',
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'
}],
options: ['请选择登录用户类型'],
optionsValues: ['', 'yonghu'],
index: 0,
roleNum: 0
};
},
onLoad: function onLoad() {
var options = ['请选择登录用户类型'];
var menus = _menu.default.list();
this.menuList = menus;
for (var i = 0; i < this.menuList.length; i++) {
if (this.menuList[i].hasFrontLogin == '是') {
options.push(this.menuList[i].roleName);
this.roleNum++;
}
}
if (this.roleNum == 1) {
this.index = 1;
}
this.options = options;
this.randomString(4);
this.styleChange();
},
methods: {
randomString: function randomString() {
var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 4;
var 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', '3', '4', '5', '6', '7', '8', '9'];
var colors = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
var sizes = ['28', '30', '32', '34', '36'];
for (var i = 0; i < len; i++) {
// 随机验证码
var key = Math.floor(Math.random() * chars.length);
this.codes[i].num = chars[key];
// 随机验证码颜色
var code = '#';
for (var j = 0; j < 6; j++) {
var _key = Math.floor(Math.random() * colors.length);
code += colors[_key];
}
this.codes[i].color = code;
// 随机验证码方向
var rotate = Math.floor(Math.random() * 30);
var plus = Math.floor(Math.random() * 2);
if (plus == 1) rotate = '-' + rotate;
this.codes[i].rotate = 'rotate(' + rotate + 'deg)';
// 随机验证码字体大小
var size = Math.floor(Math.random() * sizes.length);
this.codes[i].size = sizes[size] + 'rpx';
}
},
styleChange: function styleChange() {
this.$nextTick(function () {
// document.querySelectorAll('.uni-yaoxianStyle .uni-yaoxianStyle-yaoxianStyle').forEach(el=>{
// el.style.backgroundColor = this.loginFrom.content.yaoxianStyle.backgroundColor
// })
});
},
onRegisterTap: function onRegisterTap(tableName) {
uni.setStorageSync("loginTable", tableName);
this.$utils.jump('../register/register');
},
onForgetTap: function onForgetTap() {
this.$utils.jump('../forget/forget');
},
onLoginTap: function onLoginTap() {
var _this = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
var res;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (_this.optionsValues[_this.index]) {
_context.next = 3;
break;
}
_this.$utils.msg("请选择登陆人类型");
return _context.abrupt("return");
case 3:
if (true) {
_context.next = 6;
break;
}
_this.$utils.msg("请输入正确的验证码");
return _context.abrupt("return");
case 6:
_context.next = 8;
return _this.$api.login("".concat(_this.optionsValues[_this.index]), {
username: _this.username,
password: _this.password
});
case 8:
res = _context.sent;
uni.setStorageSync("token", res.token);
uni.setStorageSync("nickname", _this.username);
uni.setStorageSync("nowTable", "".concat(_this.optionsValues[_this.index]));
_context.next = 14;
return _this.$api.session("".concat(_this.optionsValues[_this.index]));
case 14:
res = _context.sent;
uni.setStorageSync("userid", res.data.id);
if (res.data.vip) {
uni.setStorageSync("vip", res.data.vip);
}
uni.setStorageSync("role", "".concat(_this.options[_this.index]));
_this.$utils.tab("../index/index");
case 19:
case "end":
return _context.stop();
}
}
}, _callee);
}))();
},
optionsChange: function optionsChange(e) {
this.index = e.target.value;
}
}
};
源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻