基于java SpringBoot和Vue uniapp的影楼摄影预约小程序

摘要

        今天信息技术的发展很快,其足迹在我们的生活中随处可见。它影响着我们的衣食住行等各种需求。影响也在逐渐增加,逐渐渗透到各行各业,在这种背景下,经过实地考察后,为了让婚纱照管理更加高效方便,我决定开发一个摄影棚预约管理系统。随着社会的进步和时代的发展,科学技术不断向前发展,在21世纪,这是一个信息技术的时代。计算机技术的时代日新月异,计算机以前所未有的创新方式改变着世界的面貌,人们的现代化速度越来越快,生活方式发生了前所未有的新变化。计算机可以解决的问题数量大大增加,可以更有效地处理实际问题,节省大量时间。为此,影楼摄影预约系统的设计符合当前的现实。

实现的功能

本系统分为普通用户和管理员两种角色,普通用户是小程序端,管理员是PC浏览器端。

功能应该包括:注册登录、预约摄影功能、选择场景管理订单、分享照片的社区、个人中心等功能。

注册、登录:未注册用户可以注册,有了账号后可以登录小程序;

预约摄影功能:用户通过小程序登录后可以选择预约摄影;

选择场景管理订单:根据不同的订单管理自己预约信息;

分享照片的社区:主要是用户可以把自己喜欢的照片分享出去,也可以起到给影楼引流和宣传的作用;

个人中心:用户可以管理自己的个人信息。

用到的技术

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

前端 Vue.js语法的UniApp框架。

部分代码展示

<template><view class="container"><!-- 小程序头部兼容 --><!-- #ifdef MP --><view class="mp-search-box"><input @confirm="search" class="ser-input" type="text" value="输入关键字搜索"  /></view><!-- #endif --><!-- 头部轮播 --><view class="carousel-section"><!-- 标题栏和状态栏占位符 --><view class="titleNview-placing"></view><!-- 背景色区域 --><view class="titleNview-background" :style="{backgroundColor:titleNViewBackground}"></view><swiper class="carousel" circular @change="swiperChange"><swiper-item v-for="(item, index) in carouselList" :key="index" class="carousel-item" @click="navToDetailPage({title: '轮播广告'})"><image mode="aspectFill" :src="item.src" /></swiper-item></swiper><!-- 自定义swiper指示器 --><view class="swiper-dots"><text class="num">{{swiperCurrent+1}}</text><text class="sign">/</text><text class="num">{{swiperLength}}</text></view></view><view class="block-wrap"><u-grid :col="4" :border="false" ><u-grid-item index="0" @click="changeType(0)" ><image class="gn-icon" src="/static/picture-album.png"></image><view class="grid-text" :class="tab==0?'selTab':''">摄影服装</view></u-grid-item><u-grid-item index="1" @click="changeType(1)" ><image class="gn-icon" src="/static/map-draw.png"></image><view class="grid-text"  :class="tab==1?'selTab':''">拍摄场地</view></u-grid-item><u-grid-item index="2"><image class="gn-icon" @click="toOrder()" src="/static/camera.png"></image><view class="grid-text">预约拍摄</view></u-grid-item></u-grid></view><!-- 分类 --><!-- <view class="cate-section"><view class="cate-item" v-for="(item,index) in typeList" :key="item.id" @click="navTo(item.id)"><image :src="'/static/temp/t'+(index+1)+'.png'"></image><text>{{item.name}}</text></view></view> --><!-- <view class="ad-1"><image src="/static/temp/hot.png" mode="scaleToFill"></image></view> --><!-- 猜你喜欢 --><view class="f-header m-t"><image src="/static/temp/h1.png"></image><view class="tit-box"><text class="tit">{{ tab == 0?"服装列表":"场地列表" }}</text><text class="tit2">{{ tab == 0?"Cloth":"Place" }}</text></view><!-- <text class="yticon icon-you"></text> --></view><view class="guess-section"><view v-for="(item, index) in dataList" :key="index"class="guess-item"@click="toInfo(item)"><view class="image-wrapper"><image :src="picUrl+item.pic1" mode="aspectFill"></image></view><text class="title clamp">{{item.name}}</text><view class="base" ><view v-if="index2<3" class="tag" v-for="(item2,index2) in splitTag(item.tag)" :key="index2">{{item2}}</view></view><text class="price">{{tab==0?"服装":"影棚"}}租金:¥{{item.price}}</text></view></view></view>
</template><script>import appRequest from "@/common/appRequestUrl.js";export default {data() {return {tab:0,picUrl:appRequest.urlMap.getPicById,titleNViewBackground: '',swiperCurrent: 0,swiperLength: 0,carouselList: [],dataList: [],user:"",typeList:[],userInfo:"",name:""};},onLoad() {this.getData();// this.getType();	//options},onShow() {// this.user = appRequest.getUserInfo();// this.getGoods();},onNavigationBarSearchInputConfirmed(e) {if(e.text){this.name = e.text;this.getData();}},methods: {toOrder(){uni.navigateTo({url:"/pages/order/order"})},search(e) {this.name = e.detail.value;this.getData();},splitTag(text){return text.split(" ");},changeType(index){this.tab = index;if(index<2){this.getData();}},toLogin(){let _this = this;let userInfo = appRequest.getUserInfo();if(!userInfo){wx.login({success(res) {if (res.code) {let code = res.code;uni.showModal({title: "登录",content: "请授权获取微信信息用于登录",success: function(res) {if (res.confirm) {_this.getUserLogin(code);}}})} else {console.log('登录失败!' + res.errMsg)}}})}else{this.userInfo = userInfo;}},getUserLogin(code){let _this = this;uni.clearStorage();wx.getUserProfile({desc: '使用前需要微信授权登录', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写success: (res) => {console.log(JSON.stringify(res));appRequest.request({method: "GET",data: {code: code,enData: res.encryptedData,iv:res.iv,userInfo:res.userInfo},url: appRequest.urlMap.loginCheck,success: function(res) {if(res.data.code == 200){try {uni.setStorageSync('userInfo', res.data.data);uni.switchTab({url:"/pages/index/index"})} catch (e) {//callback()uni.clearStorage();}	}else{//callback()}},fail: function(res) {//callback();}})},fail: (err) => {console.log(err);}})},toInfo(item){uni.navigateTo({url:"../product/product?id="+item.id})},navTo(id){try {uni.setStorageSync('currId', id);} catch (e) {}	uni.switchTab({url:"../category/category"})},getData(){let _this = this;appRequest.request({method: "POST",url: appRequest.urlMap.findPhClothPlaceList,data:{type:_this.tab,validFlag:1,name:_this.name},success: function(res) {if(res.data.code == 200){_this.dataList = res.data.data;_this.carouselList = [];_this.swiperLength = 3;for(var i=0;i<3;i++){var obj = _this.dataList[i];if(obj){_this.carouselList.push({src: _this.picUrl+obj.pic1,background: "rgb(203, 87, 60)"});}}}else{_this.$api.msg(res.data.msg);}},fail: function(res) {_this.$api.msg("请求异常");}})},/*** 请求静态数据只是为了代码不那么乱* 分次请求未作整合*/async loadData() {let carouselList = await this.$api.json('carouselList');this.titleNViewBackground = carouselList[0].background;this.swiperLength = 5;this.carouselList = carouselList;// let goodsList = await this.$api.json('goodsList');// this.goodsList = goodsList || [];},//轮播图切换修改背景色swiperChange(e) {const index = e.detail.current;this.swiperCurrent = index;this.titleNViewBackground = this.carouselList[index].background;},//详情页navToDetailPage(item) {//测试数据没有写id,用title代替let id = item.title;uni.navigateTo({url: `/pages/product/product?id=${id}`})}}}
</script>

演示视频

基于SpringBoot和UniAPP影楼摄影预约小程序

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

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

相关文章

gitlab 点击Integrations出现500错误

背景&#xff1a;在新服务器重新搭建了gitlab&#xff0c;并导入原来gitlab的备份&#xff0c;在项目中点击点击Integrations出现500错误。 解决方法&#xff1a;1.进入新服务器&#xff0c;将 /etc/gitlab/gitlab-secrets.json重命名为 /etc/gitlab/gitlab-secrets.json.bak …

JavaScript的内置类

一、认识包装类型 1.原始类型的包装类 JavaScript的原始类型并非对象类型&#xff0c;所以从理论上来说&#xff0c;它们是没有办法获取属性或者调用方法的。 但是&#xff0c;在开发中会看到&#xff0c;我们会经常这样操作&#xff1a; var message "hello world&q…

文件上传漏洞(CVE-2022-30887)

简介 多语言药房管理系统&#xff08;MPMS&#xff09;是用PHP和MySQL开发的&#xff0c;该软件的主要目的是在药房和客户之间提供一套接口&#xff0c;客户是该软件的主要用户。该软件有助于为药房业务创建一个综合数据库&#xff0c;并根据到期、产品等各种参数提供各种报告…

python超详细安装

目录 初始python获取python安装包python解释器安装pycharm编译器安装pycharm的简单使用&#xff08;第一个hello world&#xff09; 初始python Python 是一款易于学习且功能强大的编程语言。 它具有高效率的数据结构&#xff0c;能够简单又有效地实现面向对象编程。 Python简…

uni-app(微信小程序)图片旋转放缩,文字绘制、海报绘制

总结一下&#xff1a; 要进行海报绘制离不开canvas&#xff0c;我们是先进行图片&#xff0c;文字的拖拽、旋转等操作 最后再对canvas进行绘制&#xff0c;完成海报绘制。 背景区域设置为 position: relative&#xff0c;方便图片在当前区域中拖动等处理。添加图片&#xff0…

Python 图形化界面基础篇:添加标签( Label )到 Tkinter 窗口

Python 图形化界面基础篇&#xff1a;添加标签&#xff08; Label &#xff09;到 Tkinter 窗口 引言什么是 Tkinter 标签&#xff08; Label &#xff09;&#xff1f;步骤1&#xff1a;导入 Tkinter 模块步骤2&#xff1a;创建 Tkinter 窗口步骤3&#xff1a;创建标签&#x…

Mybatis---resultMap详解

目录 一、resultMap介绍 二、自定义映射关系 一、resultMap介绍 该标签的作用是自定义映射关系。 Mybatis可以将数据库结果封装到对象中&#xff0c;是因为结果集和对象属性名相同&#xff08;也就是你写的pojo类型的参数名和数据库的字段名相同&#xff09; 但是如果当他们不…

npm publish包报404,is not in the npm registry错误

1. 指定发布目标2. 登录npm&#xff0c;使用登录名发布包&#xff0c;包名命名原则“登录名/包名”&#xff0c;或 “包名” 3. 删除某一个版本npm unpublish pvfhv/eslint-config-prettier1.0.1 --force 删除后的版本不能重复使用&#xff0c;正式解释&#xff1a; Unfortun…

小米13Pro/13Ultra刷面具ROOT后激活LSPosed框架微X模块详细教程

喜欢买小米手机&#xff0c;很多是因为小米手机的开放&#xff0c;支持root权限&#xff0c;而ROOT对普通用户来说更多的是刷入DIY模块功能&#xff0c;今天ROM乐园小编就教大家如何使用面具ROOT&#xff0c;实现大家日常情况下非常依赖的微X模块功能&#xff0c;体验微X模块的…

makefile之链接静态库

make之链接静态库 (1)方法一: 指定静态库全路径和全名 APP_S_LIBS ./app_lib/libhost.a $(CC) $(CFLAGS) $(SRCOBJ) $(APP_S_LIBS) -o $(TARGET) APP_HEAD_DIR -I./include #APP_LIBS_DIR -L ./app_lib#APP_S_LIBS -lhost APP_S_LIBS ./app_lib/libhost.aCFLAGS $(APP_…

企业密码安全:ADSelfService Plus 提升密码管理的千里之行

在当今数字化时代&#xff0c;企业的密码安全变得至关重要。密码是保护企业敏感信息和数据的第一道防线&#xff0c;而有效的密码管理对于确保网络安全至关重要。ADSelfService Plus是一款强大的密码管理和自助服务解决方案&#xff0c;它在提供密码安全方面走在了前沿。 ADSel…

Ajax + Promise复习简单小结simple

axios使用 先看看老朋友 axios axios是基于Ajaxpromise封装的 看一下他的简单使用 安装&#xff1a;npm install axios --save 引入&#xff1a;import axios from axios GitHub地址 基本使用 axios({url: http://hmajax.itheima.net/api/province}).then(function (result…

普中 51 单片机点亮LED灯

普中 51 单片机 &#xff08;STC89C52RC&#xff09; LED / IO 将LED1进行闪烁操作 为啥要进行延时操作&#xff1f;依据人的肉眼余晖效应&#xff0c; 延时时间不能太短&#xff0c;否则就无法观察到 LED 闪烁 #include "reg52.h" typedef unsigned int u16; //对…

2023 最新前端面试题 (HTML 篇)

1. src 和 href 的区别 src 用于替换当前元素&#xff08;引入&#xff09;&#xff0c;href 用于在当前文档和引用资源之间确立联系&#xff08;引用&#xff09; &#xff08;1&#xff09;src&#xff08;source&#xff09; 指向外部资源的位置&#xff0c;指向的内容将会嵌…

开开心心带你学习MySQL数据库之节尾篇

Java的JDBC编程 各种数据库,MySQL, Oracle, SQL Server在开发的时候,就会提供一组编程接口(API) API ~~ Application Programming Interface ~~ 应用程序编程接口 计算机领域里面的一个非常常见的概念, 给你个软件,你能对他干啥(从代码层次上的) 基于它提供的这些功能,就可以写…

【MySQL】表的操作

目录 MySQL表的操作 创建表 创建表案例 查看表结构 修改表 删除表 MySQL表的操作 表操作至少会涉及如下两类SQL语句&#xff1a; DDL&#xff08;Data Definition Language&#xff09;数据定义语言&#xff1a;比如建表、删表、该表、新增列、删除列等。DML&#xff08…

JavaWeb_LeadNews_Day11-KafkaStream实现实时计算文章分数

JavaWeb_LeadNews_Day11-KafkaStream实现实时计算文章分数 KafkaStream概述案例-统计单词个数SpringBoot集成 实时计算文章分值来源Gitee KafkaStream 概述 Kafka Stream: 提供了对存储与Kafka内的数据进行流式处理和分析的功能特点: Kafka Stream提供了一个非常简单而轻量的…

星际争霸之小霸王之小蜜蜂(十二)--猫有九条命

系列文章目录 星际争霸之小霸王之小蜜蜂&#xff08;十一&#xff09;--杀杀杀 星际争霸之小霸王之小蜜蜂&#xff08;十&#xff09;--鼠道 星际争霸之小霸王之小蜜蜂&#xff08;九&#xff09;--狂鼠之灾 星际争霸之小霸王之小蜜蜂&#xff08;八&#xff09;--蓝皮鼠和大…

使用navicat for mongodb连接mongodb

使用navicat for mongodb连接mongodb 安装navicat for mongodb连接mongodb 安装navicat for mongodb 上文mongodb7.0安装全过程详解我们说过&#xff0c;在安装的时候并没有勾选install mongodb compass 我们使用navicat去进行可视化的数据库管理 navicat for mongodb下载地址…

系统架构设计师(第二版)学习笔记----系统架构概述

【原文链接】系统架构设计师&#xff08;第二版&#xff09;学习笔记----系统架构概述 文章目录 一、系统架构的定义与发展历程1.1 架构的定义1.2 架构设计的作用1.3 架构设计产生的背景1.4 软件架构的发展历程1.5 模块化开发方法1.6 模块法方法分解模块遵循的原则1.7 软件工程…