项目运行
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
毕设资助,指导,本源码分享,调试部署(见文末)
体系介绍:
乡村研学旅行平台是一个旨在提高乡村研学信息管理效率的体系,它通过互联网技术,实现了数据内容管理的现代化。该平台不仅为管理员提供了便捷的数据管理功能,还提升了用户的满足度。体系包罗了收货地点管理、购物车管理、客服聊天管理、字典表管理、论坛管理、景点管理等多个模块,实现了从数据录入到汇总分析的全过程管理。
团体功能包罗:
- 收货地址管理
- 购物车管理
- 客服聊天管理
- 字典表管理
- 论坛管理
- 景点管理
- 景点收藏管理
- 景点评价管理
- 景点预约管理
- 商品管理
- 商品收藏管理
- 商品评价管理
- 商品订单管理
- 研学管理
- 研学收藏管理
- 研学留言管理
- 研学报名管理
- 用户管理
- 管理员管理
复制代码 前台模块:
- 用户登录/注册
- 景点浏览与预约
- 商品浏览与购买
- 研学活动参与
- 论坛交流
复制代码 背景模块:
- 乡村研学管理
- 商品信息管理
- 商品类型管理
- 用户信息管理
- 订单处理
- 数据字典管理
- 论坛帖子管理
复制代码
功能截图:
代码实现:
- 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;
- }
- }
- };
复制代码 源码获取:
大家点赞、收藏、关注、批评啦 、检察 |