核心内容摘要
清纯梦梦子:心动瞬间,定格青春的温柔时光
文章目录系列文章目录目的前言
详细视频演示
项目部分实现截图
技术栈后端框架springboot前端框架vue持久层框架MyBaitsPlus微信小程序介绍系统测试
代码参考源码获取目的基于微信小程序的宠物服务预约系统专注于宠物用品销售与服务预约采用Spring Boot框架构建后端服务前端通过微信小程序实现用户交互。
系统涵盖宠物用品分类展示、在线下单、支付、配送跟踪、服务预约如宠物训练、医疗咨询等功能支持用户收藏、评价与分享。
商家可通过管理后台发布新品、管理订单、查看销售数据优化运营策略。
系统采用响应式设计适配不同屏幕尺寸提升用户体验。
通过微信社交属性实现用户裂变传播扩大品牌影响力。
系统还支持优惠券、会员积分等营销活动增强用户粘性促进宠物用品销售增长。
前言博主介绍✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌精彩专栏 推荐订阅全网最全的Java python 小程序 php uniapp项目列表-CSDN博客文末获取源码数据库感兴趣的可以先收藏起来还有大家在毕设选题项目以及论文编写等相关问题都可以给我留言咨询希望帮助更多的人
详细视频演示文章底部获取博主联系方式
项目部分实现截图
技术栈后端框架SpringBootSpring Boot内置了Tomcat、Jetty和Undertow等服务器这意味着你可以直接使用它们而不需要额外的安装和配置。
Spring Boot的一个主要优点是它的自动配置功能。
它可以根据你的项目中的依赖关系自动配置应用程序。
这使得配置应用程序变得非常容易因为你不需要手动配置每个依赖项。
Spring Boot也提供了大量的开箱即用的功能和插件如Spring Data、Spring Security和Spring Cloud等。
这些功能使得开发者可以更快速地构建应用程序并且可以更容易地扩展和集成其他技术。
它是一个非常流行的框架它的自动配置、内置服务器和插件等功能使得开发者可以更快、更轻松地构建高质量的应用程序。
前端框架VueVue.js的核心是虚拟DOM技术。
虚拟DOM是一个内存中的数据结构它可以帮助Vue.js实现高效的DOM操作它采用了响应式数据绑定、虚拟DOM、组件化等现代化技术为开发者提供了一种灵活、高效、易于维护的开发模式当数据发生变化时UI也会自动更新这样就使得开发者可以更加专注于数据处理而不是手动更新UI这就是Vue体现出来的简洁灵活高效。
持久层框架MyBaitsPlusMyBatis-Plus是一款基于MyBatis框架的增强工具旨在简化MyBatis的开发。
它是一款开源的Java框架支持多种数据库包括MySQL、Oracle、SQL Server、PostgreSQL等。
MyBatis-Plus提供了丰富的API和注解可以通过简单的配置和使用来实现ORM操作大大减少了手写SQL的工作量。
此外MyBatis-Plus还提供了一套代码生成器可以自动生成实体类、Mapper接口以及XML映射文件极大地简化了开发流程。
MyBatis-Plus还支持分页查询、动态查询、乐观锁、性能分析等实用功能方便开发者进行高效的数据操作。
通过MyBatis-Plus开发者可以快速开发高质量的数据访问层代码提高开发效率系统测试从多个角度进行测试找到系统中存在的问题是本系统首要的测试目的通过功能测试寻找出系统缺陷并改正确保系统没有缺陷。
在测试过程中证明系统满足客户需求发现问题和不足及时改正。
测试完成之后得出测试结论。
系统测试目的在管理系统的开发周期中系统测试是必不可少且考验耐心的过程。
其重要性在于它是保证系统质量和牢靠性的最后一道关也是整个系统开发过程的最后一次检查。
系统测试主要是为了避免用户在使用时发生问题增强用户体验感为了不影响用户的使用我们需要从多角度、多思路去考虑系统可能遇到的问题通过不同的模拟场景来发现缺陷并解决问题。
在测试的过程中也可以了解到该系统的质量情况系统功能是否健全系统逻辑是否顺畅。
一个合格的系统测试过程完成后将大大提升系统质量和使用感。
测试的目标是验证系统是否符合需求规格说明书的定义并找出与需求规格说明书不符合或与之冲突的内容。
测试过程中一定站在用户的角度考虑问题避免一些不切实际的场景浪费测试时间从而可能会引起问题导致预期结果与实际结果不符。
系统功能测试对系统功能模块进行测试通过点击、输入边界值和必填项非必填项的验证等方法进行一系列的黑盒测试。
通过编写测试用例根据测试用例中的内容进行测试最后得出测试结论。
登录功能测试方案当需要登入该系统时通过账户密码等功能点进行验证用户在输入时需要输入与数据库内存储的数据匹配的内容当其中某项输入错误时系统将提示输入错误。
此界面对角色权限也有相应的校验当用户角色的帐号选择管理员角色登录时也会报错。
登录功能测试用例如下表所示。
输入数据预期结果实际结果结果分析用户名guanliyuan 密码123456 验证码正确输入登入系统成功登入系统和估算结果一样用户名guanliyuan 密码111111 验证码正确输入密码错误密码错误请重新输入密码和估算结果一样用户名guanliyuan 密码123456 验证码错误输入验证码错误验证码信息错误和估算结果一样用户名空 密码123456 验证码正确输入用户名必填请输入用户名和估算结果一样用户名guanliyuan 密码空 验证码正确输入密码错误密码错误请重新输入密码和估算结果一样用户管理功能测试方案用户管理主要有添加、编辑、删除、查找用户功能。
添加用户时必填项不填检验系统是否有非空检验添加已有的用户信息检验是否提示用户名已被使用删除用户信息系统将检验是否进行此操作更改用户信息更改用户信息后页面是否可以展示出来。
用户管理测试用例如下表所示。
输入数据预期结果实际结果结果分析填入用户基本信息添加成功在用户列表中显示该用户出现在在列表中和估算结果一样修改用户信息编辑成功修改信息成功被修改用户信息被修改和估算结果一样选中删除用户系统询问是否删除用户确认后用户被删除验证码信息错误系统询问是否删除用户确认后查找不到用户信息和估算结果一样添加用户时不填用户名提示用户名不能为空提示用户名不能为空和估算结果一样填入已有用户名添加失败提示用户名重复添加失败提示用户名重复和估算结果一样系统测试结论本系统主要使用黑盒测试通过模拟用户使用系统实现各个功能编写测试用例并进行测试。
以确保系统流程的正确性。
系统测试必不可少可以使系统更加完善该系统的可使用性也会更高。
测试该系统主要为了验证系统的功能模块是否满足我们最初的设计理念验证各个功能模块逻辑是否正确此系统不需要过于复杂的逻辑处理以便于使用者操作。
测试的最终目的也是围绕着用户使用展开。
测试过程中所有场景都应符合用户需求不可偏离需求目标遇到问题时要站在用户的角度进行思考。
经过一系列的测试过程后得到最终的测试结果从测试结果可以看出实现的系统在功能和性能方面满足设计要求。
微信小程序介绍小程序简介小程序是一种连接用户与服务的方式它能在微信内被便捷地获取和传播具有出色的使用体验。
不需要下载安装用户通过搜一搜或扫一扫就可以打开使用使用完后退出即可。
小程序是基于微信的开发平台属于微信内部。
发展史微信中的 WebView 逐渐成为移动 Web 的一个入口时微信就有相关的 JS API 出现了也就是说微信小程序开发中会用到javascript。
2015年初微信发布了一整套网页开发工具包称之为 JS-SDK开放了拍摄、录音、语音识别、二维码、地图、支付、分享、卡券等几十个API供web开发者开发使用但是它也有很多不足例如白屏等问题为解决这类问题于是诞生了小程序。
小程序的优点
快速的加载
更强大的能力
原生的体验
易用且安全的微信数据开放
高效和简单的开发小程序与普通网页开发的区别小程序的主要开发语言是 JavaScript 小程序的开发同普通网页开发有很大的相似性。
对于前端开发者而言从网页开发迁移到小程序的开发成本并不高但是二者还是有区别的其主要区别如下
网页开发中渲染线程和脚本线程是互斥的这使得长时间的脚本运行可能会导致页面失去响应而在小程序中二者是分开的分别运行在不同的线程中不会失去响应。
网页开发中可以使用各种浏览器暴露DOM并对其进行操作而在小程序中逻辑层和渲染层是分开的逻辑层运行在 JSCore 中并没有浏览器对象因此小程序中没有DOM和BOM的操作。
JSCore 的环境同 NodeJS 环境也不相同所以一些 NPM 的包在小程序中也是无法运行的。
网页开发需要面临各种各样的浏览器环境而小程序只需面临两大系统iOS和Android及辅助开发者工具。
网页开发中只需要使用到浏览器并搭配一些辅助工具或者编辑器即可小程序的开发则有所不同需要经过申请小程序帐号、安装小程序开发者工具、配置项目等才可以。
申请账号想要开发一款小程序首先需要申请一个小程序账号通过这个账号就可以管理自己的小程序其步骤如下
打开官网https://mp.weixin.qq.com/进入微信公众平台点立即注册选择小程序
在小程序注册页面根据指引填写相关资料并注册。
到注册邮箱查阅邮件点击邮件中的链接地址进行信息登记并继续后确认
重新进入网址https://mp.weixin.qq.com扫码登录进入小程序页面开发---开发管理---开发设置获取AppID(小程序ID相当于一个身份证后面会用到这里需要知道自己的AppID即可)安装开发工具微信小程序有自己的开发工具当然你可以使用自己的编辑器编写代码获取完AppID后在当前页面进行下载开发者工具具体步骤如下
单击开发----开发工具---开发者工具---下载---选择对应自己电脑系统版本下载应用
将下载好的应用双击接受用户协议安装目录可自愿修改之后进行安装。
通过以上两步就已经安装完微信开发工具了想要了解更多微信工具的使用可阅读官方文档https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html第一个微信小程序安装完开发工具后可以使用它开发一个小demo先简单测试一下,其步骤如下
在桌面找到新安装的微信开发者工具并双击。
使用微信扫描弹出的二维码进入开发者工具界面首次打开需要扫码登陆。
在小程序项目---小程序中点击加号填写项目配置AppID可使用自己注册小程序时的AppID也可选择测试号
选择着默认模板其他配置默认即可最后勾选用户协议点击新建。
此时在开发工具模拟器中会看到自己微信的头像和hello world,此时表明第一个微信小程序已经创建成功。
小程序代码构成上面生成的demo项目文件目录机构如下一个基础的小程序由四种文件构成分别是
json 后缀的 JSON 配置文件
wxml 后缀的 WXML 模板文件
wxss 后缀的 WXSS 样式文件
js后缀的 JS 脚本逻辑文件下面是对上面文件的详细介绍.json文件此文件用于静态配置项目根目录下app.json文件是当前小程序的全局配置包括小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等app.json基础配置如下json文件中不能添加注释这里为了方便说明以//开始的表示注释使用此配置信息时将注释删除即可{ pages:[//
pages用于配置所有页面路径默认会进入第一个路径指定的页面。
pages/index/index,//当在这里配置完新页面保存后pages下会自动生成对应的页面文件只需修改自动生成的文件即可。
pages/logs/logs ], entryPagePath: pages/logs/logs,//
entryPagePath配置小程序默认启动首页不配置此项默认会选择pages配置中的第一项。
window:{//
window:配置小程序所有页面的顶部背景颜色文字颜色等。
navigationBarBackgroundColor: #ff0,//
设置顶部导航背景颜色支持十六进制颜色值。
navigationBarTitleText: 微信小程序测试,//
设置顶部导航标题文本。
navigationBarTextStyle:black,//
设置顶部导航标题字体颜色其值只能是black和white默认值。
navigationStyle:default,//
配置导航栏样式默认值defalult,还有一值custom导航栏标题及背景都会消失仅右上角胶囊按钮存在。
backgroundColor:#ffffff,//
配置窗口的背景色默认值#ffffff支持十六进制颜色值。
backgroundTextStyle:dark,//
配置下拉loading的样式仅支持 dark默认值和light。
backgroundColorTop:#666,//
设置顶部窗口的背景色仅iOS支持默认值#ffffff。
backgroundColorBottom:#555,//
设置底部窗口的背景色仅iOS支持默认值#ffffff。
enablePullDownRefresh:true,//
设置是否开启全局下拉刷新默认值为false。
onReachBottomDistance:50,//
设置当页面上拉距底部某个距离后触发事件单位为px,默认值50例如下拉加载更多数据。
pageOrientation:auto//
设置屏幕旋转时小程序是否跟随设备旋转横竖屏显示其值portrait默认值设备旋转时小程序不旋转、landscape设备旋转小程序旋转保持与视线不变、auto自动。
}, tabBar:{//
tabBar:配置tab栏切换按钮。
color:#fff,//
设置tab按钮字体颜色其值为十六进制颜色值且为必须项。
selectedColor:#000,//
设置tab按钮被选中时字体颜色其值为十六进制颜色值且为必须项。
backgroundColor:#999,//
设置tab栏背景颜色其值为十六进制颜色值且为必须项。
borderStyle:black,//
设置tab栏边框颜色其值为black默认和white。
list:[//
设置tab按钮选项其值为一个每项都是对象的数组且为必须项数组元素的个数必须是[2,5]个不在范围内不显示。
{ pagePath:pages/logs/logs,//
设置当前要跳转的页面路径。
text:登录,//
设置当前按钮文本。
iconPath:images/tabs/home.png,//
设置当前按钮点击前icon图标大小限制为40kb建议尺寸81px*81px不支持网络图片。
selectedIconPath:images/tabs/home-active.png//
设置当前按钮点击后icon图标大小限制为40kb建议尺寸81px*81px不支持网络图片。
}, { pagePath:pages/index/index, text:登录, iconPath:images/tabs/home.png, selectedIconPath:images/tabs/home-active.png } ], position:top,//
设置tab栏的位置其值bottom底部默认、top顶部。
custom:false//
自定义设置tabBar一般忽略此项配置其默认值为false,当值为true时需要自定义设计tabBar否则tabBar将失效其设计可阅读https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html。
}, networkTimeout:{//
networkTimeout:设置请求超时时间。
request:60000,//
设置wx.request的超时时间默认值为60000单位值毫秒。
connectSocke:60000,//
设置wx.connectSocket的超时时间默认值为60000单位值毫秒。
uploadFile:60000,//
设置wx.uploadFile的超时时间默认值为60000单位值毫秒。
downloadFile:60000//
设置wx.downloadFile的超时时间默认值为60000单位值毫秒。
}, //debug:true,//
debug:是否开启在开发工具控制台面板显示调试信息Page 的注册页面路由数据更新事件触发等便于开发者快速定位问题所在调试完建议关闭其默认值为false。
//functionalPages:true,//
functionalPages是否启用插件功能默认false如要启用可阅读https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/functional-pages.html。
//subpackages:{},//
subpackages:分包结构配置用于构建时打包成不同的分包按需加载如需配置请阅读https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages.html。
//workers:string,//
workers:设置处理多线程任务时worker代码放置目录如需配置请阅读https://developers.weixin.qq.com/miniprogram/dev/framework/workers.html。
//requiredBackgroundModes:string,//
requiredBackgroundModes设置需要在后台使用的能力如需配置请阅读https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#requiredBackgroundModes //plugins:Object,//
plugins:设置使用到的插件如需配置可阅读https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html。
//preloadRule:Object,//
preloadRule:设置分包预下载规则如需配置可阅读https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/preload.html。
resizable:true,//
resizable:设置是否允许在PC上对窗口进行缩放及iPad是否支持屏幕旋转默认值为false。
//usingComponents:Object,//
usingComponents:配置自定义组件。
//permission:Object,//
permission:配置小程序接口权限相关设置如需配置可阅读https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#permission。
//sitemapLocation:String,//
sitemapLocation:配置sitemap.json文件路径默认在app.json同级目录下。
style:v2,//
style:当值为v2时表示启用新版的组件样式。
//useExtendedLib:Object,//
useExtendedLib:配置引用的扩展库如需配置可阅读https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#useExtendedLib。
//entranceDeclare:Object,//
entranceDeclare:配置微信消息用小程序打开如需配置可阅读https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/location-message.html。
//darkmode:String,//
darkmode:配置小程序支持 DarkMode如需配置可阅读https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#darkmode。
//themeLocation:String,//
themeLocation:配置theme.json 的路径如需配置可阅读https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#themeLocation。
//lazyCodeLoading:String,//
lazyCodeLoading:配置自定义组件代码按需注入如需配置可阅读https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#lazyCodeLoading。
//singlePage:Object,//
singlePage:配置单页模式相关配置如需配置可阅读https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#singlePage。
}app.json文件更详细配置文档推荐https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.htmlproject.config.json 对开发工具的配置使用这个配置后即使在更换电脑重新安装工具后将此项目在工具中打开依旧是自己熟悉的工具配置项。
pages文件夹中json文件 pages文件夹中每个页面下的json文件是对当前页面的配置当前页面使用此json文件配置页面后当前页面可以忽略app.json文件的配置。
.wxml文件此文件用于小程序骨架类似网页中的html文件此文件存在pages文件夹下的页面文件夹中也是由标签、属性等构成但是这里的标签和html中的标签有很大的不同如view classcontainertexthello/text/viewwxml文件和html文件不同之处
标签名有所不同具体可阅读组件相关文档https://developers.weixin.qq.com/miniprogram/dev/component/
小程序中可以实现数据绑定、列表渲染、条件渲染、模板等具体文档推荐https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/wxss样式wxss支持css大部分特性其文件为后缀.wxss的文件其不同之处
新增rpx尺寸单位一个响应式的尺寸单位把所有设备屏幕尺寸都划分为750rpx,使用rpx可以适配不同屏幕尺寸。
仅支持css基础选择器。
js逻辑微信小程序中js逻辑代码和网页中js代码基本相似后面会详细介绍。