摘 要
随着城市流浪动物数量的不断增加,流浪动物救助和领养成为亟待解决的社会问题。为了更好地连接流浪动物与潜在领养者,本文设计并实现了一款基于Django的领养流浪动物微信小程序。该小程序旨在为用户提供一个高效便捷的集领养、送养、寻宠、志愿、捐助等功能为一体的综合性流浪动物平台,用户可通过该平台快速获取和浏览流浪动物信息,提交领养申请,发布送养寻宠信息,参与志愿活动,进行在线捐助,实现互动交流等。本研究基于Python的Django框架构建后端业务逻辑,使用MySQL数据库进行数据存储,结合微信小程序进行前端展示和用户交互,实现信息化管理和高效的数据交互。通过设计合理的功能模块,完成包括但不限于系统用户、流浪动物管理、领养信息管理、送养信息管理、志愿活动管理、活动报名管理、寻宠信息管理、捐款中心管理、举报登记管理、私信信息管理、留言管理、交流管理等多元功能,提升管理效率与用户体验。经过测试,确保系统运行稳定,功能完整,能够有效满足不同用户的多样化需求。本领养流浪动物微信小程序的研究与实现有助于提升社会对流浪动物保护的意识,减少流浪动物数量,提升动物领养与救助效率与质量。
关键词:领养流浪动物;微信小程序;Django框架;Python语言;领养管理系统
Abstract
With the continuous increase in the number of stray animals in cities, rescuing and adopting stray animals has become an urgent social issue that needs to be addressed. In order to better connect stray animals with potential adopters, this article designs and implements a Django based WeChat mini program for adopting stray animals. This mini program aims to provide users with an efficient and convenient comprehensive stray animal platform that integrates functions such as adoption, sending out, searching for pets, volunteering, and donations. Users can quickly access and browse stray animal information, submit adoption applications, publish information on sending out and searching for pets, participate in volunteer activities, make online donations, and achieve interactive communication through this platform. This study is based on the Django framework using Python to build backend business logic, using MySQL database for data storage, and combining WeChat mini program for frontend display and user interaction, achieving information management and efficient data interaction. By designing reasonable functional modules, multiple functions including but not limited to system users, stray animal management, adoption information management, adoption information management, volunteer activity management, activity registration management, pet seeking information management, donation center management, report registration management, private message information management, message management, communication management, etc. can be completed to improve management efficiency and user experience. After testing, it has been ensured that the system runs stably, has complete functions, and can effectively meet the diverse needs of different users. The research and implementation of the WeChat mini program for raising stray animals can help enhance society's awareness of animal protection, reduce the number of stray animals, and improve the efficiency and quality of animal adoption and rescue.
Keywords: adoption of stray animals; WeChat Mini Program; Django framework; Python language; Adoption Management System
目 录
1 前 言
1.1 研究背景
1.2 研究意义
1.3 国内外研究现状
1.3.1 国内研究现状
1.3.2 国外研究现状
1.4 论文结构与章节安排
2 关键技术
2.1 Python
2.2 MySQL
2.3 Django框架
2.4 微信小程序
2.5 B/S模式
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.2 功能需求分析
3.3 系统性能分析
3.4 系统流程分析
3.4.1 程序操作流程
3.4.2 登录流程
3.4.3 注册流程
4 系统设计
4.1 总体设计
4.1.1 系统框架设计
4.1.2 功能模块设计
4.2 数据库设计
4.2.1 数据库E-R图设计
4.2.1 数据库表结构设计
5 系统实现
5.1 系统环境分析
5.2 系统前台功能模块实现
5.2.1 用户登录模块
5.2.2 用户注册模块
5.2.3 首页模块
5.2.4 流浪动物模块
5.2.5 志愿活动模块
5.2.6 捐款中心模块
5.2.7 我的模块
5.3 后台管理功能模块实现
5.3.1 后台首页模块
5.3.2 流浪动物管理模块
5.3.3 领养信息管理模块
5.3.4 送养信息管理模块
5.3.5 志愿活动管理模块
5.3.6 留言管理模块
6 系统测试
6.1 测试目的
6.2 测试用例
6.3 测试分析
7 结束语
参考文献
致 谢
1 前 言
随着人们生活水平的提高,宠物文化逐渐受到大众的关注,同时,流浪动物问题也愈加凸显。无数无家可归的动物在城市中生存,许多流浪动物面临着食物短缺、疾病传播和人身安全等多重威胁。流浪动物的数量不断增加,不仅影响了城市的环境卫生,也对社会的和谐形成了挑战。因此,寻找一个便捷高效的平台进行流浪动物的领养和救助显得尤为重要。传统的流浪动物管理方式多依赖线下活动,信息传递效率低、资源分配不均,无法满足日益增长的需求。因此,开发一个集信息发布、领养管理、志愿活动组织等功能于一体的信息化系统,利用现代信息技术提升流浪动物管理效率,是顺应时代的必然选择。
微信小程序作为一种轻量级的应用程序,无需下载安装即可使用,极大地降低了用户的使用门槛。同时,依托于微信庞大的用户基础和社交属性,领养流浪动物微信小程序能够快速吸引用户,提升用户的使用黏性。通过相对简洁和友好的界面设计,用户能够方便快捷地完成浏览流浪动物信息,申请领养动物,发布送养寻宠信息,报名参与志愿活动,在线捐助等一系列操作。
本研究的主要目的是构建和实施一个基于Django的流浪动物领养微信小程序,为流浪动物提供一个切实有效,功能完备且操作简便的领养和救助平台。探讨如何利用信息技术改善社会公益服务,从而推动流浪动物的防护与领养工作。通过本流浪动物领养微信小程序的部署,实现信息的及时共享和资源的合理配置,提高救助和领养的成功率。同时,通过这款小程序能够提高公众对流浪动物保护的意识,让更多人参与志愿活动及领养捐助行动中,并推动流浪动物领养管理的信息化建设。此外,这一研究的实现不仅对流浪动物的管理模式进行创新,也为推动社会公益事业的发展提供了新的思路和实践路径。通过提升社会对流浪动物的关注,促进流浪动物领养与保护,有助于构建和谐的人宠关系,进而推动社会和谐发展。
简而言之,本领养流浪动物微信小程序的研究与开发具有重要的理论与实践意义。本研究实现的整个系统集成了多项管理功能,能够有效提升流浪动物管理的效率,为流浪动物的领养与救助提供了便捷有效的解决方案,可以强化公众对流浪动物救助的社会责任感,激励更多人参与到流浪动物的保护行动中,为构建和谐人宠关系贡献力量,并为相关领域和类似系统的研究提供有效借鉴与参考。
在国内,流浪动物救助与领养的研究近年来逐渐受到重视,多个城市和公益组织开始探索有效的救助模式与管理系统。随着流浪动物问题的日益突出,各地政府先后出台了一系列相关政策,为流浪动物的救助提供了法律支持和保障。例如,北京市实施了《北京市流浪犬管理办法》,旨在加强对流浪犬的管理与救助。同时国内相关非政府组织(NGO)和志愿者团队通过线下活动、宣传和社会募集资金参与流浪动物救助,为流浪动物提供医疗救治和临时庇护。例如,上海的“流浪动物之家”通过众筹和志愿者的方式,为大批流浪动物提供庇护和领养服务。此外,随着互联网的发展,一些研究开始关注如何利用网络平台提高流浪动物的救助效率,像是通过社交媒体,许多动物保护组织分享流浪动物的领养信息,不过,这些信息往往缺乏系统性、准确性,导致潜在领养者获取信息的困难。以“爱心动物救助站”为例,该机构利用微信和微博等社交媒体发布流浪动物的领养信息,并定期举办线下领养活动,成功促成了多次流浪动物的领养。
国外在流浪动物救助与领养方面的研究与实践相对成熟,许多国家建立了完善的流浪动物管理制度和慈善组织。像是美国和欧洲的许多国家已经制定了严格的动物保护法律,如《美国动物保护法》(Animal Welfare Act),通过立法确保流浪动物的基本权益,这些法律为动物收容、救助和领养提供了有力的保障。或者通过实行有效流浪动物的收容和领养机制,构建动物收容所和救助组织来实现系统化动物领养救助。例如,加州的“动物收容所”通过与社区合作,设立宠物领养日,增加流浪动物的曝光率,普遍提高了领养成功率。此外,许多国家开始利用科技手段来改善动物救助的效率。像是美国的“ASPCA” (美国防止虐待动物协会组织)通过其官网和移动应用,提供流浪动物领养的相关信息,使用户能够轻松找到适合的宠物并参与领养。ASPCA还积极推广宠物绝育和相关知识,提高公众的动物保护意识。
总的来看,国内在流浪动物救助与领养方面的研究起步较晚,但正在逐步完善与发展;而国外则在法律法规、救助机制和技术应用方面积累了丰富的经验。借鉴国外成功的案例和经验,将有助于提升流浪动物的救助与领养工作的效率与质量。
1.4论文结构与章节安排
本文共分为七章,章节内容安排如下:
第一章:引言,主要介绍领养流浪动物微信小程序领域研究的背景和意义,概述研究的现状。
第二章:关键技术,主要探讨和说明实现领养流浪动物微信小程序的关键技术。
第三章:系统分析,主要从领养流浪动物微信小程序的可行性、功能、性能等方面进行分析,为后续系统设计提供理论支持。
第四章:系统设计,主要对领养流浪动物微信小程序功能模块、数据库进行功能设计。
第五章:系统实现,主要介绍了领养流浪动物微信小程序各个用户的功能、系统界面的实现。
第六章:系统测试,主要对领养流浪动物微信小程序进行测试,验证功能完整性、稳定性和安全性,评估系统在实际运行中的性能表现。
第七章:结束语。总结全文研究内容,提出未来发展的展望和建议,指出研究的不足和可优化之处,为相关领域的进一步探索提供参考。
2 关键技术
Python是一种简单易学的高级编程语言,以高可读性和简洁的语法著称。它适用于Web开发、数据分析、人工智能、科学计算等多个领域,拥有丰富的第三方库和框架,能帮助开发者快速找到合适的工具。Python的跨平台特性使其可以在多种操作系统上运行,而动态类型的特点虽提高了开发效率,但在大型项目中可能增大运行时错误的风险。
MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛用于Web应用和服务。其主要特点包括:
高性能:MySQL提供快速的读写性能,适合高并发的应用环境。
可靠性:具有数据安全性和恢复能力,支持多种数据备份和恢复选项。
灵活性:支持多种数据类型和SQL查询,使得数据操作更加灵活。
社区支持:拥有庞大的用户基础和开发者社区,提供丰富的文档和工具支持。
可扩展性:可以通过分区和复制等方式来扩展,以处理大规模数据。
Django是一个高效的Python Web框架,旨在帮助开发者快速构建Web应用程序。它遵循“不要重复自己”(DRY)原则,具有以下特点:
ORM(对象关系映射): Django提供了强大的ORM,使得开发者可以使用Python代码与数据库进行交互,而无需编写SQL语句。
MVC架构:Django采用MVC(模型-视图-控制器)模式,尽管在Django中更倾向于称其为MTV(模型-模板-视图),使得代码结构更加清晰。
内置管理后台:Django自动生成的管理后台可以快速对数据模型进行增删改查操作,便于管理应用数据。
安全性:Django内置多种安全机制,如CSRF保护、SQL注入防护、密码哈希等,增强了Web应用的安全性。
丰富的社区支持:Django拥有活跃的开发社区,提供了诸多可用插件和扩展库。
微信小程序是一种无需下载安装就能使用的应用,用户可通过微信扫码或搜索进入。这种应用具有便捷性,用户可以毫不费力地快速使用,大幅降低了使用门槛,小程序能够跨平台运行,主要在微信环境中使用,并且相较于传统APP体积更小、更新更快,用户体验良好。开发者使用Python及其框架进行开发,结合特有的WXML和WXSS布局与样式设计,深度集成微信支付、分享等功能,极大促进了商业化运作。
B/S(浏览器/服务器)模式是一种常见的网络应用架构,相比C/S(客户端/服务器)模式具有显著优势。B/S模式简化了客户端操作,用户仅需通过浏览器访问应用,无需安装客户端软件,从而降低了使用难度。服务器集中管理数据,简化了版本管理和维护工作,更新应用只需在服务器端进行,所有用户访问时均能获得最新版本。此外,B/S模式还确保了良好的跨平台性,能够在不同操作系统和设备上实现一致的可用性。
3 系统分析
3.1可行性分析
3.1.1技术可行性
从技术角度来看,Django作为一种高效、快速构建的Python框架,提供内置的管理后台,能够提高开发效率,降低系统的复杂程度,易于维护和升级。MySQL作为关系型数据库,能够支持平台数据的存储与管理,保障系统的稳定性和高效性。前端使用的是uni-app技术,基于微信小程序开发,用户无需安装,并可应用多平台,支持在线支付。因此,本系统具有技术可行性。
从经济角度来看,基于Django搭建领养流浪动物微信小程序的投入成本相对较低,因为Django本身是一个免费、开源的框架,可以节省开发成本。同时,使用MySQL作为数据库也具有成本效益高的优势。微信小程序作为平台的客户端使用界面,用户能够快速上手,操作简易,能够更好地吸引用户参与,从而提升平台的商业化价值,增加商业合作和广告推广等收入来源。因此,本系统具有经济可行性。
从操作角度来看,Django的简洁性和高度集成的特点使得系统的部署和运行相对简单,容易维护和管理。同时,微信小程序作为用户主要的操作入口,降低用户使用门槛,有利于用户体验的优化,提升用户的参与度和留存率。因此,本系统具有操作可行性。
综合来看,本领养流浪动物微信小程序的设计与实现在经济、技术、操作等方面都具有较高的可行性,能够为用户提供便捷的服务,有效提升管理效率。
根据用户需求分析,基于Django的领养流浪动物微信小程序可以划分为普通用户和管理员等两大角色,各角色用例图及相应功能分析说明如下。
普通用户角色用例如下图所示。

图3.1普通用户用例图
系统前台小程序端普通用户具体功能说明如下所示。
- 注册登录:提供注册登录系统功能,用户可注册并登录系统(注册信息需经过管理员审核才可成功登录),支持微信授权登录,并提供忘记密码操作。
- 首页:用户登录系统后首先进入首页界面,可查看轮播图、通知公告、新闻资讯等系统概览和推荐信息,并提供留言板、流浪动物、送养信息、志愿活动、寻宠信息、捐款中心、举报登记、私信信息等系统功能入口子功能;用户可根据自身需求选择相应功能进行操作。例如,可发布留言内容(统一由管理员回复);可搜索和浏览流浪动物、送养信息、志愿活动、寻宠信息、捐款中心等信息,并进行收藏、评论或分享操作,并在线提交领养申请,报名参与志愿活动及选择捐款项目进行捐款;可提交举报登记信息;向其他用户发送私信信息。
- 新闻资讯:当用户点击“新闻资讯”这一按钮时,可进入新闻资讯展示页面,支持搜索和浏览新闻资讯详情内容,进行点赞、评论、收藏操作。
- 互动论坛:当用户点击“互动论坛”这一按钮时,可进入互动论坛展示界面,支持搜索和浏览互动论坛详情内容,进行点赞、评论、收藏操作;并提供发布内容操作,发布互动论坛贴子。
- 我的:当用户在前台点击“我的”可以对用户的基本信息、收藏、统计图、领养信息、送养信息、活动报名、寻宠信息、捐款记录、举报登记、私信信息、留言板、论坛管理等信息进行管控,用户可根据需求实现相应管理操作。
管理员角色用例如下图所示。

图3.2管理员用例图
系统后台管理端管理员具体功能说明如下所示。
- 登录:管理员可直接使用账号密码登录系统后台,进行管理,可对自己的个人信息和密码信息进行修改。
- 后台首页:管理员登录系统后台后的起始界面,该界面主要展示系统重要信息概览和数据统计图表,包括流浪动物、领养信息、捐款记录等数据统计图
- 系统用户:管理员可管理系统的所有系统用户信息,包括普通用户、管理员账号等,支持用户权限管理和角色设置,可增改删查和审核封禁系统用户信息。
- 流浪动物管理:管理员可管理所有流浪动物信息的发布、下架、更新等操作,提供搜索功能,支持查看和管控评论内容。
- 动物类型管理:管理员可管理所有动物类型信息,包括新增、编辑、删除和查询动物类型信息。
- 领养信息管理:管理员可管理所有领养信息,包括查询、审核和删除领养信息,支持审核回复领养信息,及更新领养状态;提供记录回访功能。
- 回访记录管理:管理员可管理所有回访记录信息,包括查询、删除回访记录。
- 送养信息管理:管理员可管理所有送养信息,包括新增、编辑、删除和查询送养信息,提供审核功能(审核通过才可显示在系统前台),支持查看和管控评论。
- 志愿活动管理:管理员可管理所有志愿活动的发布、下架、更新等操作,提供搜索功能,支持查看和管控评论;同时实现页面倒计时功能和报名次数限制功能。
- 活动类型管理:管理员可管理所有活动类型信息,包括新增、编辑、删除和查询活动类型信息。
- 活动报名管理:管理员可管理所有活动报名信息,包括查询、审核和删除活动报名信息,支持审核回复活动报名信息。
- 寻宠信息管理:管理员可管理所有寻宠信息,包括新增、编辑、删除和查询寻宠信息,提供审核功能(审核通过才可显示在系统前台),支持查看和管控评论。
- 捐款中心管理:管理员可管理所有捐款中心信息的发布、下架、更新等操作,提供搜索功能,支持查看和管控评论内容。
- 捐款记录管理:管理员可管理所有捐款记录信息,包括查询、删除捐款记录信息,提供支付操作,支持更新支付状态。
- 举报登记管理:管理员可管理所有举报登记信息,包括查询、审核和删除举报登记信息,支持审核回复举报登记信息。
- 私信信息管理:管理员可管理所有私信信息,包括查询、删除私信信息。
- 系统管理:管理员可管理系统的轮播图信息,包括新增、编辑、删除轮播图,提供搜索功能,支持添加图片附带链接。
- 留言管理:管理员可管理所有留言板信息,包括查询、回复和删除留言信息,提供回复和查看回复功能。
- 通知公告管理:管理员可管理平台发布的通知公告,包括新增、编辑、删除通知公告,提供搜索功能。
- 资源管理:管理员可管理新闻资讯和资讯分类的新增、编辑、删除等操作,提供搜索功能,支持对新闻资讯的评论管控和查看;。
- 交流管理:管理员可管理互动论坛和论坛分类的新增、编辑、删除等操作,提供搜索功能,支持对互动论坛的评论管控和查看。
对于领养流浪动物微信小程序的设计与实现,下面是系统性能分析表:
表3.1性能需求表
|
项目 |
内容 |
|
响应时间 |
系统对用户请求的响应时间需在500ms以内 |
|
并发用户数 |
系统需要支持1000个并发用户同时访问 |
|
吞吐量 |
系统每秒需要处理1000个请求 |
|
可用性 |
系统需要保证每月99.9%的可用性 |
|
数据安全 |
用户敏感数据需要加密存储,并支持数据库备份和恢复 |
|
数据一致性 |
系统中的数据操作需保证ACID特性,确保数据一致性 |
|
扩展性 |
系统需要支持水平扩展,能够方便地增加服务器节点以应对高请求量 |
|
可维护性 |
系统代码需要清晰易懂、结构良好,方便团队成员维护和修改 |
|
日志记录 |
系统需要记录用户操作日志、异常日志以及系统运行日志 |
|
监控报警 |
系统需要实时监控运行状态,当系统异常时能够及时发送警报通知相关人员 |
|
缓存设置 |
针对频繁使用的数据,系统需要进行合适的缓 |
用户访问平台网站,可以选择进行注册或登录操作。注册成功后,用户可以使用注册的账号登录平台。登录后的用户可以进入系统功能界面,使用自己权限内的功能操作。程序操作流程图如下图所示。

图3.3程序操作流程图
用户访问平台的网站,进入登录页面,输入其用户名和密码,后端服务接收登录请求,验证用户提供的用户名和密码是否匹配数据库中存储的信息,验证通过即可登录成功。登录流程图如下图所示。

图3.4登录流程图
未有账号的用户可进入注册界面进行注册操作,填写注册表格,包括用户名、密码、电子邮件等必要信息。后台系统验证并保存用户提交的信息。分配唯一用户标识符。注册成功后,用户可以使用账号密码进行登录。用户注册流程图如下图所示。

图3.5注册流程图
4 系统设计
B/S架构,即浏览器/服务器架构,是一种基于Web的分布式计算范式。在此架构中,应用程序的逻辑被巧妙地区分为客户端和服务器两部分。具体而言,客户端借助广泛使用的浏览器界面,进行应用访问与操作;而服务器端则肩负起业务逻辑处理、数据存储及管理的核心职责。值得一提的是,客户端无需安装特定的软件,用户仅需通过浏览器输入相应的URL地址,即可轻松访问应用程序,这一特性极大地提升了用户的使用便捷性和系统的维护效率。服务器端通常采用高性能的计算机和数据库系统,能够处理大量并发请求和复杂的业务逻辑。B/S架构的优势在于其跨平台性和易于维护性,开发者可以通过更新服务器端的代码来实现整个系统的升级和维护,而无需逐一更新客户端。

图4.1系统架构图
功能模块设计是系统开发过程中的重要阶段,它旨在将系统划分为不同的模块,每个模块负责完成特定的功能或任务。领养流浪动物微信小程序由多个功能模块组成,每个模块下又包含具体的功能操作。功能模块图如下图所示。

图4.2系统功能模块图
E-R图有助于理清系统中的数据结构和关系,为后续的数据库表结构设计提供指导。在进行数据库设计之前,首先需要先绘制实体-关系(E-R)图。E-R图将帮助理清业务中的实体(Entity)及它们之间的关系(Relationship),从而为后续的数据库表设计提供基础。根据前文可以得出本领养流浪动物微信小程序拥有多个实体,在此列举主要实体,各个实体之间联系总E-R图如下图所示。

图4.3系统总E-R图
在E-R图确定后,接下来可以根据实体和关系的属性设计数据库表结构。在E-R图明确了实体和它们之间的关系后,接下来可以开始设计数据库表结构。每个实体对应一个数据库表,每个属性对应表中的字段。如下列表格所示,在此列举主要数据表。
表access_token (登陆访问时长)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID | |
|
2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 | |
|
3 |
info |
text |
65535 |
0 |
Y |
N | ||
|
4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
activity_type_id |
int |
10 |
0 |
N |
Y |
活动类型ID | |
|
2 |
activity_type |
varchar |
64 |
0 |
Y |
N |
活动类型 | |
|
3 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
adoption_information_id |
int |
10 |
0 |
N |
Y |
领养信息ID | |
|
2 |
adoption_number |
varchar |
64 |
0 |
Y |
N |
领养编号 | |
|
3 |
animal_name |
varchar |
64 |
0 |
Y |
N |
动物名称 | |
|
4 |
animal_type |
varchar |
64 |
0 |
Y |
N |
动物类型 | |
|
5 |
cover_image |
varchar |
255 |
0 |
Y |
N |
封面图 | |
|
6 |
animal_age |
varchar |
64 |
0 |
Y |
N |
动物年龄 | |
|
7 |
animal_gender |
varchar |
64 |
0 |
Y |
N |
动物性别 | |
|
8 |
is_it_free |
varchar |
64 |
0 |
Y |
N |
是否免费 | |
|
9 |
adoption_conditions |
varchar |
64 |
0 |
Y |
N |
领养条件 | |
|
10 |
adoption_address |
varchar |
64 |
0 |
Y |
N |
领养地址 | |
|
11 |
vaccine_status |
varchar |
64 |
0 |
Y |
N |
疫苗状况 | |
|
12 |
application_date |
date |
10 |
0 |
Y |
N |
申请日期 | |
|
13 |
adopting_users |
int |
10 |
0 |
Y |
N |
0 |
领养用户 |
|
14 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
15 |
phone_number |
varchar |
16 |
0 |
Y |
N |
手机号码 | |
|
16 |
location_city |
varchar |
64 |
0 |
Y |
N |
所在城市 | |
|
17 |
reason_for_adoption |
text |
65535 |
0 |
Y |
N |
领养理由 | |
|
18 |
adoption_status |
varchar |
64 |
0 |
Y |
N |
领养状态 | |
|
19 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
|
20 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 | |
|
21 |
follow_up_records_limit_times |
int |
10 |
0 |
N |
N |
0 |
记录回访限制次数 |
|
22 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
23 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
24 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 | |
|
25 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID | |
|
26 |
source_user_id |
int |
10 |
0 |
Y |
N |
来源用户 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
animal_type_id |
int |
10 |
0 |
N |
Y |
动物类型ID | |
|
2 |
animal_type |
varchar |
64 |
0 |
Y |
N |
动物类型 | |
|
3 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
article_id |
mediumint |
8 |
0 |
N |
Y |
文章id:[0,8388607] | |
|
2 |
title |
varchar |
125 |
0 |
N |
Y |
标题:[0,125]用于文章和html的title标签中 | |
|
3 |
type |
varchar |
64 |
0 |
N |
N |
0 |
文章分类:[0,1000]用来搜索指定类型的文章 |
|
4 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数:[0,1000000000]访问这篇文章的人次 |
|
5 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
|
6 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
7 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
8 |
source |
varchar |
255 |
0 |
Y |
N |
来源:[0,255]文章的出处 | |
|
9 |
url |
varchar |
255 |
0 |
Y |
N |
来源地址:[0,255]用于跳转到发布该文章的网站 | |
|
10 |
tag |
varchar |
255 |
0 |
Y |
N |
标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
|
11 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文:文章的主体内容 | |
|
12 |
img |
varchar |
255 |
0 |
Y |
N |
封面图 | |
|
13 |
description |
text |
65535 |
0 |
Y |
N |
文章描述 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] | |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000]决定分类显示的先后顺序 |
|
3 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] | |
|
4 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
|
5 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 | |
|
6 |
icon |
text |
65535 |
0 |
Y |
N |
分类图标: | |
|
7 |
url |
varchar |
255 |
0 |
Y |
N |
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
auth_id |
int |
10 |
0 |
N |
Y |
授权ID: | |
|
2 |
user_group |
varchar |
64 |
0 |
Y |
N |
用户组: | |
|
3 |
mod_name |
varchar |
64 |
0 |
Y |
N |
模块名: | |
|
4 |
table_name |
varchar |
64 |
0 |
Y |
N |
表名: | |
|
5 |
page_title |
varchar |
255 |
0 |
Y |
N |
页面标题: | |
|
6 |
path |
varchar |
255 |
0 |
Y |
N |
路由路径: | |
|
7 |
parent |
varchar |
64 |
0 |
Y |
N |
父级菜单 | |
|
8 |
parent_sort |
int |
10 |
0 |
N |
N |
0 |
父级菜单排序 |
|
9 |
position |
varchar |
32 |
0 |
Y |
N |
位置: | |
|
10 |
mode |
varchar |
32 |
0 |
N |
N |
_blank |
跳转方式: |
|
11 |
add |
tinyint |
3 |
0 |
N |
N |
1 |
是否可增加: |
|
12 |
del |
tinyint |
3 |
0 |
N |
N |
1 |
是否可删除: |
|
13 |
set |
tinyint |
3 |
0 |
N |
N |
1 |
是否可修改: |
|
14 |
get |
tinyint |
3 |
0 |
N |
N |
1 |
是否可查看: |
|
15 |
field_add |
text |
65535 |
0 |
Y |
N |
添加字段: | |
|
16 |
field_set |
text |
65535 |
0 |
Y |
N |
修改字段: | |
|
17 |
field_get |
text |
65535 |
0 |
Y |
N |
查询字段: | |
|
18 |
table_nav_name |
varchar |
500 |
0 |
Y |
N |
跨表导航名称: | |
|
19 |
table_nav |
varchar |
500 |
0 |
Y |
N |
跨表导航: | |
|
20 |
option |
text |
65535 |
0 |
Y |
N |
配置: | |
|
21 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
22 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
childcare_information_id |
int |
10 |
0 |
N |
Y |
送养信息ID | |
|
2 |
pet_name |
varchar |
64 |
0 |
N |
N |
宠物名称 | |
|
3 |
pet_type |
varchar |
64 |
0 |
Y |
N |
宠物类型 | |
|
4 |
cover_image |
varchar |
255 |
0 |
Y |
N |
封面图 | |
|
5 |
pet_age |
varchar |
64 |
0 |
Y |
N |
宠物年龄 | |
|
6 |
animal_gender |
varchar |
64 |
0 |
Y |
N |
动物性别 | |
|
7 |
vaccine_status |
varchar |
64 |
0 |
Y |
N |
疫苗状况 | |
|
8 |
details_introduction |
text |
65535 |
0 |
Y |
N |
详情介绍 | |
|
9 |
publisher |
int |
10 |
0 |
Y |
N |
0 |
发布人 |
|
10 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
11 |
phone_number |
varchar |
16 |
0 |
Y |
N |
手机号码 | |
|
12 |
location_city |
varchar |
64 |
0 |
Y |
N |
所在城市 | |
|
13 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
|
14 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
|
15 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 | |
|
16 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
|
17 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
18 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
code_token_id |
int |
10 |
0 |
N |
Y | ||
|
2 |
token |
varchar |
255 |
0 |
Y |
N | ||
|
3 |
code |
varchar |
255 |
0 |
Y |
N |
验证码 | |
|
4 |
expire_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
失效时间 |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
collect_id |
int |
10 |
0 |
N |
Y |
收藏ID: | |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
收藏人ID: |
|
3 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: | |
|
4 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: | |
|
5 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
6 |
title |
varchar |
255 |
0 |
Y |
N |
标题: | |
|
7 |
img |
varchar |
255 |
0 |
Y |
N |
封面: | |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
comment_id |
int |
10 |
0 |
N |
Y |
评论ID: | |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评论人ID: |
|
3 |
reply_to_id |
int |
10 |
0 |
N |
N |
0 |
回复评论ID:空为0 |
|
4 |
content |
longtext |
2147483647 |
0 |
Y |
N |
内容: | |
|
5 |
nickname |
varchar |
255 |
0 |
Y |
N |
昵称: | |
|
6 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] | |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
9 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: | |
|
10 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: | |
|
11 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
donation_center_id |
int |
10 |
0 |
N |
Y |
捐款中心ID | |
|
2 |
donation_title |
varchar |
64 |
0 |
N |
N |
捐款标题 | |
|
3 |
cover_image |
varchar |
255 |
0 |
Y |
N |
封面图 | |
|
4 |
purpose_of_donation |
varchar |
64 |
0 |
Y |
N |
捐款目的 | |
|
5 |
person_in_charge |
varchar |
64 |
0 |
Y |
N |
负责人 | |
|
6 |
contact_number |
varchar |
16 |
0 |
Y |
N |
联系电话 | |
|
7 |
details_introduction |
longtext |
2147483647 |
0 |
Y |
N |
详情介绍 | |
|
8 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
|
9 |
donation_record_limit_times |
int |
10 |
0 |
N |
N |
0 |
捐款限制次数 |
|
10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
11 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
donation_record_id |
int |
10 |
0 |
N |
Y |
捐款记录ID | |
|
2 |
donation_title |
varchar |
64 |
0 |
Y |
N |
捐款标题 | |
|
3 |
cover_image |
varchar |
255 |
0 |
Y |
N |
封面图 | |
|
4 |
purpose_of_donation |
varchar |
64 |
0 |
Y |
N |
捐款目的 | |
|
5 |
person_in_charge |
varchar |
64 |
0 |
Y |
N |
负责人 | |
|
6 |
contact_number |
varchar |
16 |
0 |
Y |
N |
联系电话 | |
|
7 |
donation_date |
date |
10 |
0 |
Y |
N |
捐款日期 | |
|
8 |
donor |
int |
10 |
0 |
Y |
N |
0 |
捐款人 |
|
9 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
10 |
phone_number |
varchar |
16 |
0 |
Y |
N |
手机号码 | |
|
11 |
donation_amount |
double |
9 |
2 |
Y |
N |
0.00 |
捐赠金额 |
|
12 |
blessing_language |
text |
65535 |
0 |
Y |
N |
祝福语 | |
|
13 |
pay_state |
varchar |
16 |
0 |
N |
N |
未支付 |
支付状态 |
|
14 |
pay_type |
varchar |
16 |
0 |
Y |
N |
支付类型: 微信、支付宝、网银 | |
|
15 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
16 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
17 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 | |
|
18 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID | |
|
19 |
source_user_id |
int |
10 |
0 |
Y |
N |
来源用户 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
event_registration_id |
int |
10 |
0 |
N |
Y |
活动报名ID | |
|
2 |
registration_number |
varchar |
64 |
0 |
Y |
N |
报名编号 | |
|
3 |
event_name |
varchar |
64 |
0 |
Y |
N |
活动名称 | |
|
4 |
cover |
varchar |
255 |
0 |
Y |
N |
封面 | |
|
5 |
activity_type |
varchar |
64 |
0 |
Y |
N |
活动类型 | |
|
6 |
activity_time |
varchar |
64 |
0 |
Y |
N |
活动时间 | |
|
7 |
event_location |
varchar |
64 |
0 |
Y |
N |
活动地点 | |
|
8 |
registered_users |
int |
10 |
0 |
Y |
N |
0 |
报名用户 |
|
9 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
10 |
phone_number |
varchar |
16 |
0 |
Y |
N |
手机号码 | |
|
11 |
proof_of_identity |
varchar |
255 |
0 |
Y |
N |
身份证明 | |
|
12 |
proof_of_residence |
varchar |
255 |
0 |
Y |
N |
居住证明 | |
|
13 |
pet_ownership_certificate |
varchar |
255 |
0 |
Y |
N |
养宠证明 | |
|
14 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
|
15 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 | |
|
16 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
|
17 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
18 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
19 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 | |
|
20 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID | |
|
21 |
source_user_id |
int |
10 |
0 |
Y |
N |
来源用户 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
follow_up_records_id |
int |
10 |
0 |
N |
Y |
回访记录ID | |
|
2 |
adoption_number |
varchar |
64 |
0 |
Y |
N |
领养编号 | |
|
3 |
animal_name |
varchar |
64 |
0 |
Y |
N |
动物名称 | |
|
4 |
animal_type |
varchar |
64 |
0 |
Y |
N |
动物类型 | |
|
5 |
cover_image |
varchar |
255 |
0 |
Y |
N |
封面图 | |
|
6 |
animal_age |
varchar |
64 |
0 |
Y |
N |
动物年龄 | |
|
7 |
animal_gender |
varchar |
64 |
0 |
Y |
N |
动物性别 | |
|
8 |
is_it_free |
varchar |
64 |
0 |
Y |
N |
是否免费 | |
|
9 |
adoption_conditions |
varchar |
64 |
0 |
Y |
N |
领养条件 | |
|
10 |
adoption_address |
varchar |
64 |
0 |
Y |
N |
领养地址 | |
|
11 |
vaccine_status |
varchar |
64 |
0 |
Y |
N |
疫苗状况 | |
|
12 |
adopting_users |
int |
10 |
0 |
Y |
N |
0 |
领养用户 |
|
13 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
14 |
phone_number |
varchar |
16 |
0 |
Y |
N |
手机号码 | |
|
15 |
location_city |
varchar |
64 |
0 |
Y |
N |
所在城市 | |
|
16 |
date_of_visit |
date |
10 |
0 |
Y |
N |
来访日期 | |
|
17 |
visiting_content |
text |
65535 |
0 |
Y |
N |
来访内容 | |
|
18 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
19 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
20 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表 | |
|
21 |
source_id |
int |
10 |
0 |
Y |
N |
来源ID | |
|
22 |
source_user_id |
int |
10 |
0 |
Y |
N |
来源用户 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
forum_id |
mediumint |
8 |
0 |
N |
Y |
论坛id | |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
排序 |
|
3 |
user_id |
mediumint |
8 |
0 |
N |
N |
0 |
用户ID |
|
4 |
nickname |
varchar |
16 |
0 |
Y |
N |
昵称:[0,16] | |
|
5 |
praise_len |
int |
10 |
0 |
Y |
N |
0 |
点赞数 |
|
6 |
hits |
int |
10 |
0 |
N |
N |
0 |
访问数 |
|
7 |
title |
varchar |
125 |
0 |
N |
N |
标题 | |
|
8 |
keywords |
varchar |
125 |
0 |
Y |
N |
关键词 | |
|
9 |
description |
varchar |
255 |
0 |
Y |
N |
描述 | |
|
10 |
url |
varchar |
255 |
0 |
Y |
N |
来源地址 | |
|
11 |
tag |
varchar |
255 |
0 |
Y |
N |
标签 | |
|
12 |
img |
text |
65535 |
0 |
Y |
N |
封面图 | |
|
13 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文 | |
|
14 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
15 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
16 |
avatar |
varchar |
255 |
0 |
Y |
N |
发帖人头像: | |
|
17 |
type |
varchar |
64 |
0 |
N |
N |
0 |
论坛分类:[0,1000]用来搜索指定类型的论坛帖 |
|
18 |
istop |
int |
10 |
0 |
N |
N |
0 |
是否置顶 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] | |
|
2 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] | |
|
3 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 | |
|
4 |
url |
varchar |
255 |
0 |
Y |
N |
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
|
5 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
|
6 |
icon |
varchar |
255 |
0 |
Y |
N |
分类图标: | |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
hits_id |
int |
10 |
0 |
N |
Y |
点赞ID: | |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
|
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: | |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: | |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
message_id |
int |
10 |
0 |
N |
Y |
留言板ID: | |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID: |
|
3 |
title |
varchar |
64 |
0 |
Y |
N |
标题: | |
|
4 |
content |
longtext |
2147483647 |
0 |
N |
N |
内容: | |
|
5 |
nickname |
varchar |
32 |
0 |
N |
N |
昵称: | |
|
6 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像: | |
|
7 |
|
varchar |
125 |
0 |
Y |
N |
留言者邮箱 | |
|
8 |
phone |
varchar |
11 |
0 |
Y |
N |
留言者手机号码 | |
|
9 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
11 |
reply |
longtext |
2147483647 |
0 |
Y |
N |
回复 | |
|
12 |
reply_state |
tinyint |
4 |
0 |
Y |
N |
0 |
回复状态 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
notice_id |
mediumint |
8 |
0 |
N |
Y |
公告id: | |
|
2 |
title |
varchar |
125 |
0 |
N |
N |
标题: | |
|
3 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文: | |
|
4 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
5 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
ordinary_users_id |
int |
10 |
0 |
N |
Y |
普通用户ID | |
|
2 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
3 |
phone_number |
varchar |
16 |
0 |
Y |
N |
手机号码 | |
|
4 |
gender |
varchar |
64 |
0 |
Y |
N |
性别 | |
|
5 |
location_city |
varchar |
64 |
0 |
Y |
N |
所在城市 | |
|
6 |
birthday |
varchar |
64 |
0 |
Y |
N |
生日 | |
|
7 |
proof_of_identity |
varchar |
255 |
0 |
Y |
N |
身份证明 | |
|
8 |
proof_of_residence |
varchar |
255 |
0 |
Y |
N |
居住证明 | |
|
9 |
pet_ownership_certificate |
varchar |
255 |
0 |
Y |
N |
养宠证明 | |
|
10 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
|
11 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
|
12 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
13 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表pet_seeking_information (寻宠信息)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
pet_seeking_information_id |
int |
10 |
0 |
N |
Y |
寻宠信息ID | |
|
2 |
pet_name |
varchar |
64 |
0 |
N |
N |
宠物名称 | |
|
3 |
pet_type |
varchar |
64 |
0 |
N |
N |
宠物类型 | |
|
4 |
cover_image |
varchar |
255 |
0 |
N |
N |
封面图 | |
|
5 |
pet_age |
varchar |
64 |
0 |
N |
N |
宠物年龄 | |
|
6 |
animal_gender |
varchar |
64 |
0 |
Y |
N |
动物性别 | |
|
7 |
lost_date |
date |
10 |
0 |
Y |
N |
丢失日期 | |
|
8 |
lost_location |
varchar |
64 |
0 |
Y |
N |
丢失地点 | |
|
9 |
feature_description |
text |
65535 |
0 |
Y |
N |
特征描述 | |
|
10 |
publisher |
int |
10 |
0 |
Y |
N |
0 |
发布人 |
|
11 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
12 |
phone_number |
varchar |
16 |
0 |
Y |
N |
手机号码 | |
|
13 |
location_city |
varchar |
64 |
0 |
Y |
N |
所在城市 | |
|
14 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
|
15 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
|
16 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
17 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
praise_id |
int |
10 |
0 |
N |
Y |
点赞ID: | |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
|
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: | |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: | |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
8 |
status |
bit |
1 |
0 |
N |
N |
1 |
点赞状态:1为点赞,0已取消 |
表private_message_information (私信信息)
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
private_message_information_id |
int |
10 |
0 |
N |
Y |
私信信息ID | |
|
2 |
sender |
int |
10 |
0 |
Y |
N |
0 |
发送人 |
|
3 |
recipient |
int |
10 |
0 |
Y |
N |
0 |
接收人 |
|
4 |
sending_date |
date |
10 |
0 |
Y |
N |
发送日期 | |
|
5 |
private_message_content |
text |
65535 |
0 |
Y |
N |
私信内容 | |
|
6 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
7 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
report_registration_id |
int |
10 |
0 |
N |
Y |
举报登记ID | |
|
2 |
report_date |
date |
10 |
0 |
Y |
N |
举报日期 | |
|
3 |
registered_person |
int |
10 |
0 |
Y |
N |
0 |
登记人 |
|
4 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 | |
|
5 |
phone_number |
varchar |
16 |
0 |
Y |
N |
手机号码 | |
|
6 |
report_screenshot |
varchar |
255 |
0 |
N |
N |
举报截图 | |
|
7 |
report_content |
text |
65535 |
0 |
Y |
N |
举报内容 | |
|
8 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
|
9 |
examine_reply |
varchar |
16 |
0 |
Y |
N |
审核回复 | |
|
10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
11 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
schedule_id |
smallint |
5 |
0 |
N |
Y |
日程ID:[0,32767] | |
|
2 |
content |
varchar |
255 |
0 |
Y |
N |
日程内容 | |
|
3 |
scheduled_time |
datetime |
19 |
0 |
Y |
N |
计划时间 | |
|
4 |
user_id |
int |
10 |
0 |
N |
N |
用户id | |
|
5 |
create_time |
datetime |
19 |
0 |
Y |
N |
创建时间 | |
|
6 |
update_time |
datetime |
19 |
0 |
Y |
N |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
score_id |
int |
10 |
0 |
N |
Y |
评分ID: | |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评分人: |
|
3 |
nickname |
varchar |
64 |
0 |
Y |
N |
昵称: | |
|
4 |
score_num |
double |
5 |
2 |
N |
N |
0.00 |
评分: |
|
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
7 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: | |
|
8 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: | |
|
9 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
slides_id |
int |
10 |
0 |
N |
Y |
轮播图ID: | |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题: | |
|
3 |
content |
varchar |
255 |
0 |
Y |
N |
内容: | |
|
4 |
url |
varchar |
255 |
0 |
Y |
N |
链接: | |
|
5 |
img |
varchar |
255 |
0 |
Y |
N |
轮播图: | |
|
6 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击量: |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
stray_animals_id |
int |
10 |
0 |
N |
Y |
流浪动物ID | |
|
2 |
animal_name |
varchar |
64 |
0 |
Y |
N |
动物名称 | |
|
3 |
animal_type |
varchar |
64 |
0 |
Y |
N |
动物类型 | |
|
4 |
cover_image |
varchar |
255 |
0 |
Y |
N |
封面图 | |
|
5 |
animal_age |
varchar |
64 |
0 |
Y |
N |
动物年龄 | |
|
6 |
animal_gender |
varchar |
64 |
0 |
Y |
N |
动物性别 | |
|
7 |
is_it_free |
varchar |
64 |
0 |
Y |
N |
是否免费 | |
|
8 |
adoption_conditions |
varchar |
64 |
0 |
Y |
N |
领养条件 | |
|
9 |
adoption_address |
varchar |
64 |
0 |
Y |
N |
领养地址 | |
|
10 |
vaccine_status |
varchar |
64 |
0 |
Y |
N |
疫苗状况 | |
|
11 |
details_introduction |
longtext |
2147483647 |
0 |
Y |
N |
详情介绍 | |
|
12 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
|
13 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
|
14 |
adoption_information_limit_times |
int |
10 |
0 |
N |
N |
0 |
领养限制次数 |
|
15 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
16 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
upload_id |
int |
10 |
0 |
N |
Y |
上传ID | |
|
2 |
name |
varchar |
64 |
0 |
Y |
N |
文件名 | |
|
3 |
path |
varchar |
255 |
0 |
Y |
N |
访问路径 | |
|
4 |
file |
varchar |
255 |
0 |
Y |
N |
文件路径 | |
|
5 |
display |
varchar |
255 |
0 |
Y |
N |
显示顺序 | |
|
6 |
father_id |
int |
10 |
0 |
Y |
N |
0 |
父级ID |
|
7 |
dir |
varchar |
255 |
0 |
Y |
N |
文件夹 | |
|
8 |
type |
varchar |
32 |
0 |
Y |
N |
文件类型 |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
user_id |
int |
10 |
0 |
N |
Y |
用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
|
2 |
state |
smallint |
5 |
0 |
N |
N |
1 |
账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
|
3 |
user_group |
varchar |
32 |
0 |
Y |
N |
所在用户组:[0,32767]决定用户身份和权限 | |
|
4 |
login_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
上次登录时间: |
|
5 |
phone |
varchar |
11 |
0 |
Y |
N |
手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
|
6 |
phone_state |
smallint |
5 |
0 |
N |
N |
0 |
手机认证:[0,1](0未认证|1审核中|2已认证) |
|
7 |
username |
varchar |
16 |
0 |
N |
N |
用户名:[0,16]用户登录时所用的账户名称 | |
|
8 |
nickname |
varchar |
16 |
0 |
Y |
N |
昵称:[0,16] | |
|
9 |
password |
varchar |
64 |
0 |
N |
N |
密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
|
10 |
|
varchar |
64 |
0 |
Y |
N |
邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
|
11 |
email_state |
smallint |
5 |
0 |
N |
N |
0 |
邮箱认证:[0,1](0未认证|1审核中|2已认证) |
|
12 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] | |
|
13 |
open_id |
varchar |
255 |
0 |
Y |
N |
针对获取用户信息字段 | |
|
14 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
group_id |
mediumint |
8 |
0 |
N |
Y |
用户组ID:[0,8388607] | |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000] |
|
3 |
name |
varchar |
16 |
0 |
N |
N |
名称:[0,16] | |
|
4 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该用户组的特点或权限范围 | |
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: | |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: | |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
|
8 |
register |
smallint |
5 |
0 |
Y |
N |
0 |
注册位置: |
|
9 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
|
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
|
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
|
1 |
volunteer_activities_id |
int |
10 |
0 |
N |
Y |
志愿活动ID | |
|
2 |
event_name |
varchar |
64 |
0 |
N |
N |
活动名称 | |
|
3 |
cover |
varchar |
255 |
0 |
Y |
N |
封面 | |
|
4 |
activity_type |
varchar |
64 |
0 |
Y |
N |
活动类型 | |
|
5 |
activity_time |
varchar |
64 |
0 |
Y |
N |
活动时间 | |
|
6 |
event_location |
varchar |
64 |
0 |
Y |
N |
活动地点 | |
|
7 |
activity_introduction |
longtext |
2147483647 |
0 |
Y |
N |
活动介绍 | |
|
8 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
|
9 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
|
10 |
timer_title |
varchar |
64 |
0 |
Y |
N |
计时器标题 | |
|
11 |
timing_start_time |
datetime |
19 |
0 |
Y |
N |
计时开始时间 | |
|
12 |
timing_end_time |
datetime |
19 |
0 |
Y |
N |
计时结束时间 | |
|
13 |
limit_times |
int |
10 |
0 |
N |
N |
0 |
限制次数 |
|
14 |
limit_type |
tinyint |
4 |
0 |
N |
N |
2 |
限制次数类型1-每天次,2-总计次 |
|
15 |
event_registration_limit_times |
int |
10 |
0 |
N |
N |
0 |
报名限制次数 |
|
16 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
|
17 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
5 系统实现
考虑到领养流浪动物微信小程序主要面对部分人群,网站的访问量不大。系统处理、统计分析工作简单,Tomcat服务器能够满足中小型网络用户的数据处理,通过互联网Internet 接入及MySQL 5.6以上的数据库应用的需求点。系统具体开发环境如下表所示:
表5.1系统环境表
|
项目 |
开发环境 |
|
操作系统 |
Windows 11、Windows 10、Windows 8、Windows 7 |
|
开发语言 |
Python |
|
使用框架 |
Django、微信小程序 |
|
体系结构 |
三层B/S体系结构 |
|
开发工具 |
pycharm、Vs Code、HbuildX |
|
数据库 |
MySQL 5.6以上 |
|
数据库管理工具 |
Navicat |
|
python版本 |
python3.6及以上 |
|
移动端 |
iOS、Android、Web(响应式)、以及各种小程序 |
用户输入用户名和密码后,系统首先对这些输入进行基本的格式验证,确保用户名和密码符合系统设定的格式要求(如长度、特殊字符要求等)。系统接收到用户输入后,会根据用户名查找系统中存储的用户信息数据库或者其他持久化存储方式。系统需要验证密码的正确性,验证成功即可成功登录。

图5.1用户登录界面设计
登录关键代码如下:
def Login(self, ctx):
print("===================登录=====================")
ret = {
"error": {
"code": 70000,
"message": "账户不存在",
}
}
body = ctx.body
password = md5hash(body["password"]) or ""
obj = service_select("user").Get_obj(
{"username": body["username"]}, {"like": False}
)
if obj:
user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})
if user_group and user_group['source_table'] != '':
user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']}, {"like": False})
if user_obj['examine_state'] == '未通过':
ret = {
"error": {
"code": 70000,
"message": "账户未通过审核",
}
}
return ret
if user_obj['examine_state'] == '未审核':
ret = {
"error": {
"code": 70000,
"message": "账户未审核",
}
}
return ret
if obj["state"] == 1:
if obj["password"] == password:
timeout = timezone.now()
timestamp = int(time.mktime(timeout.timetuple())) * 1000
token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))
ctx.request.session[token] = obj["user_id"]
service_select("access_token").Add(
{"token": token, "user_id": obj["user_id"]}
)
obj["token"] = token
ret = {
"result": {"obj": obj}
}
else:
ret = {
"error": {
"code": 70000,
"message": "密码错误",
}
}
else:
ret = {
"error": {
"code": 70000,
"message": "用户账户不可用,请联系管理员",
}
}
return ctx.response(json.dumps(ret, ensure_ascii=False))
用户注册时,系统要求用户提供必要的信息,例如用户名、密码、电子邮件地址等。这些信息通常由用户在注册表单中输入,并通过前端验证确保格式的正确性。注册过程完成后,系统会为新用户创建一个账户。这包括分配一个唯一的用户ID和设置初始的权限或者角色。

图5.2用户注册界面设计
注册关键代码如下:
def Register(self, ctx):
print("===================注册=====================")
userService = service_select("user")
body = ctx.body
if "username" not in body and body["username"] == '':
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "用户名不能为空",
}
}, ensure_ascii=False))
if "user_group" not in body and body["user_group"] == '':
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "用户组不能为空",
}
}, ensure_ascii=False))
if "password" not in body and body["password"] == '':
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "密码不能为空",
}
}, ensure_ascii=False))
post_param = body
post_param['nickname'] = body["nickname"] or ""
post_param['password'] = md5hash(body["password"])
obj = userService.Get_obj({"username": post_param['username']}, {"like": False})
if obj:
return ctx.response(json.dumps({
"error": {
"code": 70000,
"message": "用户名已存在",
}
}, ensure_ascii=False))
ret = {
"error": {
"code": 70000,
"message": "注册失败",
}
}
bl = userService.Add(post_param)
if bl:
ret = {
"result": {
"bl": True,
"message": "注册成功"
}
}
return ctx.response(json.dumps(ret, ensure_ascii=False))
用户登录系统后首先进入首页界面,可查看轮播图、通知公告、新闻资讯等系统概览和推荐信息,并提供留言板、流浪动物、送养信息、志愿活动、寻宠信息、捐款中心、举报登记、私信信息等系统功能入口子功能;用户可根据自身需求选择相应功能进行操作。
例如,前台首页主界面图如下所示。

图5.3首页主界面设计
当用户点击首页的“流浪动物”这一按钮时,可进入流浪动物信息展示页面,支持搜索和浏览流浪动物详情内容,进行收藏、评论、分享等操作,提供领养功能。界面图如下所示。

图5.4流浪动物详情页界面设计
领养关键代码如下:
def Add(self, ctx):
body = ctx.body
unique = self.config.get("unique")
obj = None
if unique:
qy = {}
for i in range(len(unique)):
key = unique[i]
qy[key] = body.get(key)
obj = self.service.Get_obj(qy)
if not obj:
error = self.Add_before(ctx)
if error["code"]:
return {"error": error}
error = self.Events("add_before", ctx, None)
if error["code"]:
return {"error": error}
result = self.service.Add(body, self.config)
if self.service.error:
return {"error": self.service.error}
res = self.Add_after(ctx, result)
if res:
result = res
res = self.Events("add_after", ctx, result)
if res:
result = res
return {"result": result}
else:
return {"error": {"code": 10000, "message": "已存在"}}
当用户点击首页的“志愿活动”这一按钮时,可进入志愿活动展示页面,支持搜索和浏览志愿活动详情内容,进行点赞、评论、分享等操作,提供报名功能(支持限制报名次数和页面倒计时,页面将自动关闭)。界面图如下所示。

图5.5志愿活动详情页界面设计
报名关键代码如下:
def Add(self, ctx):
body = ctx.body
unique = self.config.get("unique")
obj = None
if unique:
qy = {}
for i in range(len(unique)):
key = unique[i]
qy[key] = body.get(key)
obj = self.service.Get_obj(qy)
if not obj:
error = self.Add_before(ctx)
if error["code"]:
return {"error": error}
error = self.Events("add_before", ctx, None)
if error["code"]:
return {"error": error}
result = self.service.Add(body, self.config)
if self.service.error:
return {"error": self.service.error}
res = self.Add_after(ctx, result)
if res:
result = res
res = self.Events("add_after", ctx, result)
if res:
result = res
return {"result": result}
else:
return {"error": {"code": 10000, "message": "已存在"}}
当用户点击首页的“捐款中心”这一按钮时,可进入捐款中心信息展示页面,支持搜索和浏览捐款中心信息详情内容,进收藏、评论、分享等操作,提供捐款功能。界面图如下所示。

图5.6捐款中心界面设计
当用户在前台点击“我的”可以对用户的基本信息、收藏、统计图、领养信息、送养信息、活动报名、寻宠信息、捐款记录、举报登记、私信信息、留言板、论坛管理等信息进行管控,用户可根据需求实现相应管理操作。
例如,我的主界面图如下所示。

图5.7我的主界面设计
具体包括可在“基本信息”中修改资料和密码;可在“收藏”中查看管控自己收藏的各类系统信息;可在“统计图”中查看包括流浪动物、领养信息等统计数据分析图表;可在查询已提交的“领养信息”和“活动报名”等申请信息,确认其审核情况;可在“送养信息”中增改删查自己的送养信息和寻宠信息等内容(发布的送养或寻宠信息经管理员审核通过可显示在前台);可查阅和确认提交的“捐款记录”信息,支付捐款费用;可在“举报登记”中查看举报审核处理情况;可在“私信信息”中,查看已发送的私信内容;可在“留言板”中搜索和删除已发送的留言内容,查看管理员留言回复;可在“论坛管理”中管控已发布的互动论坛帖子和其评论。。
例如,我的领养信息界面图如下所示。

图5.8我的领养信息界面设计
例如,我的寻宠信息界面图如下所示。

图5.9我的寻宠信息界面设计
管理员登录后台后首先进入后台首页界面,该界面主要提供系统重要信息概览,以及数据统计分析图表,包括流浪动物、领养信息、捐款记录等统计图表,并可根据系统导航实现各项后台功能操作。界面图如下所示。

图5.10后台首页界面设计
管理员可管理所有流浪动物信息的发布、下架、更新等操作,提供搜索功能,支持查看和管控评论内容。界面图如下所示。

图5.11流浪动物管理界面设计
发布流浪动物信息关键代码如下:
def Add(self, ctx):
body = ctx.body
unique = self.config.get("unique")
obj = None
if unique:
qy = {}
for i in range(len(unique)):
key = unique[i]
qy[key] = body.get(key)
obj = self.service.Get_obj(qy)
if not obj:
error = self.Add_before(ctx)
if error["code"]:
return {"error": error}
error = self.Events("add_before", ctx, None)
if error["code"]:
return {"error": error}
result = self.service.Add(body, self.config)
if self.service.error:
return {"error": self.service.error}
res = self.Add_after(ctx, result)
if res:
result = res
res = self.Events("add_after", ctx, result)
if res:
result = res
return {"result": result}
else:
return {"error": {"code": 10000, "message": "已存在"}}
管理员可管理所有领养信息,包括查询、审核和删除领养信息,支持审核回复领养信息,及更新领养状态;提供记录回访功能,可添加编辑回访信息。界面图如下所示。

图5.12领养信息管理界面设计
领养信息管理关键代码如下:
def Set(self, ctx):
error = self.Set_before(ctx)
if error["code"]:
return {"error": error}
error = self.Events("set_before", ctx, None)
if error["code"]:
return {"error": error}
query = ctx.query
if 'page' in query.keys():
del ctx.query['page']
if 'size' in query.keys():
del ctx.query['size']
if 'orderby' in query.keys():
del ctx.query['orderby']
result = self.service.Set(ctx.query, ctx.body, self.config)
if self.service.error:
return {"error": self.service.error}
res = self.Set_after(ctx, result)
if res:
result = res
res = self.Events("set_after", ctx, result)
if res:
result = res
return {"result": result}
管理员可管理所有送养信息,包括新增、编辑、删除和查询送养信息,提供审核功能(审核通过才可显示在系统前台),可更新审核状态和编辑审核回复内容;支持查看和管控评论。界面图如下所示。

图5.13送养信息审核界面设计
审核送养信息关键代码如下:
def Set(self, ctx):
error = self.Set_before(ctx)
if error["code"]:
return {"error": error}
error = self.Events("set_before", ctx, None)
if error["code"]:
return {"error": error}
query = ctx.query
if 'page' in query.keys():
del ctx.query['page']
if 'size' in query.keys():
del ctx.query['size']
if 'orderby' in query.keys():
del ctx.query['orderby']
result = self.service.Set(ctx.query, ctx.body, self.config)
if self.service.error:
return {"error": self.service.error}
res = self.Set_after(ctx, result)
if res:
result = res
res = self.Events("set_after", ctx, result)
if res:
result = res
return {"result": result}
管理员可管理所有志愿活动的发布、下架、更新等操作,提供搜索功能,支持查看和管控评论;同时实现页面倒计时功能(计时结束,界面自动关闭)和报名次数限制(限制用户提交活动报名次数)功能。界面图如下所示。

图5.14志愿活动管理界面设计
志愿活动管理关键代码如下:
def Get_obj(self, ctx):
query = dict(ctx.query)
config_plus = {}
if "field" in query:
field = query.pop("field")
config_plus["field"] = field
obj = self.service.Get_obj(query, obj_update(self.config, config_plus))
if self.service.error:
return {"error": self.service.error}
if obj:
self.interact_obj(ctx, obj)
return {"result": {"obj": obj}}
def Add(self, ctx):
body = ctx.body
unique = self.config.get("unique")
obj = None
if unique:
qy = {}
for i in range(len(unique)):
key = unique[i]
qy[key] = body.get(key)
obj = self.service.Get_obj(qy)
if not obj:
error = self.Add_before(ctx)
if error["code"]:
return {"error": error}
error = self.Events("add_before", ctx, None)
if error["code"]:
return {"error": error}
result = self.service.Add(body, self.config)
if self.service.error:
return {"error": self.service.error}
res = self.Add_after(ctx, result)
if res:
result = res
res = self.Events("add_after", ctx, result)
if res:
result = res
return {"result": result}
else:
return {"error": {"code": 10000, "message": "已存在"}}
管理员可管理所有留言板信息,包括查询、回复和删除留言信息,提供回复和查看回复功能,可点击回复操作,回复用户发布的留言信息。界面图如下所示。

图5.15留言管理界面设计
回复留言信息关键代码如下:
def Add(self, ctx):
body = ctx.body
unique = self.config.get("unique")
obj = None
if unique:
qy = {}
for i in range(len(unique)):
key = unique[i]
qy[key] = body.get(key)
obj = self.service.Get_obj(qy)
if not obj:
error = self.Add_before(ctx)
if error["code"]:
return {"error": error}
error = self.Events("add_before", ctx, None)
if error["code"]:
return {"error": error}
result = self.service.Add(body, self.config)
if self.service.error:
return {"error": self.service.error}
res = self.Add_after(ctx, result)
if res:
result = res
res = self.Events("add_after", ctx, result)
if res:
result = res
return {"result": result}
else:
return {"error": {"code": 10000, "message": "已存在"}}
6 系统测试
在软件开发生命周期中,系统测试占据着举足轻重的地位。通过进行全面而系统的测试,能够确保软件在实际使用环境中具备稳定运行的能力,从而满足用户的多样化需求,并显著提升软件的整体质量与可靠性。这一过程不仅有助于识别并修复潜在问题,还能为软件的持续优化提供有力支撑。
随着现代信息的快速发展,在社会各大领域中已经都开始应用网络信息技术,在应用网络技术的同时人们也开始把软件的质量问题作为了一个重要焦点来关注,因为一个软件的好与坏它决定着这个系统在市场上的生存,所以必须要把软件质量来做好,这样才有一定的生存能力。对于用户来说它们首先选用的都是保证这个系统软件的质量问题,因为一个系统的软件质量决定着用户在后期上成本经济的问题。图6.1就是纠错测试流程。

图6.1测试与纠错信息流程
在系统的功能验证阶段,将对全部的功能界面进行全面测试。具体而言,将模拟用户行为,输入各类数据并进行提交操作,随后仔细观察和分析每个页面的响应反馈。这一过程旨在验证系统的功能完整性,确保页面所呈现的功能与预期相符,并能够完全实现预设的交互逻辑。通过这种全面细致的测试方法,将确保系统在实际应用中能够稳定、准确地响应用户需求。
下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
前置条件:用户有账户且未登录。
表6.1系统登录功能测试用例
|
功能描述 |
用于系统登录 | |
|
测试目的 |
检测登录时的合法性检查 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
输入的用户名和密码带有非法字符 |
提示用户名或者密码错误 |
与预期结果一致 |
|
输入的用户名或者密码为空 |
提示用户名或者密码错误 |
与预期结果一致 |
|
输入的用户名和密码不存在 |
提示用户名或者密码错误 |
与预期结果一致 |
|
输入正确的用户名和密码 |
登录成功 |
与预期结果一致 |
下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
前置条件:用户没有账户。
表6.2注册功能测试用例
|
功能描述 |
用于用户注册 | |
|
测试目的 |
检测用户注册时的合法性检查 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
输入的手机号不合法 |
提示请输入正确的手机号码 |
与预期结果一致 |
|
输入的字段为空 |
提示必填项不能为空 |
与预期结果一致 |
|
输入的密码少于6位 |
提示密码必须为6-12位 |
与预期结果一致 |
|
输入的密码大于12位 |
提示密码必须为6-12位 |
与预期结果一致 |
下表是流浪动物管理功能的测试用例,检测了流浪动物中对流浪动物的增加,删除,修改,查询等操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件:管理登录系统。
表6.3流浪动物管理的测试用例
|
功能描述 |
用于流浪动物管理 | |
|
测试目的 |
检测流浪动物管理时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加流浪动物,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
|
点击添加流浪动物,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改流浪动物,必填项合法输入,点击保存 |
提示修改成功 |
与预期结果一致 |
|
点击修改流浪动物,必填项输入不合法或为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除流浪动物,选择流浪动物删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索流浪动物,输入存在的流浪动物名 |
查找出相应流浪动物信息 |
与预期结果一致 |
|
点击搜索流浪动物,输入不存在的流浪动物名 |
不显示流浪动物信息 |
与预期结果一致 |
下表是领养信息管理功能的测试用例,检测了领养信息中对领养信息的查询,删除,修改,审核等操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件:管理登录系统。
表6.4领养信息管理的测试用例
|
功能描述 |
用于领养信息管理 | |
|
测试目的 |
检测领养信息管理时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击搜索领养信息,输入存在的领养信息名 |
查找出相应领养信息信息 |
与预期结果一致 |
|
点击搜索领养信息,输入不存在的领养信息名 |
不显示领养信息信息 |
与预期结果一致 |
|
点击修改领养信息,必填项合法输入,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改领养信息,必填项输入不合法或为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除领养信息,选择领养信息删除 |
提示删除成功 |
与预期结果一致 |
|
点击审核领养信息,必填项合法输入,点击保存 |
提示审核成功 |
与预期结果一致 |
|
点击审核领养信息,必填项输入不合法或为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
下表是寻宠信息管理功能的测试用例,检测了寻宠信息中对寻宠信息的增加,删除,修改,查询,审核等操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件:管理登录系统。
表6.5寻宠信息管理的测试用例
|
功能描述 |
用于寻宠信息管理 | |
|
测试目的 |
检测寻宠信息管理时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加寻宠信息,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
|
点击添加寻宠信息,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改寻宠信息,必填项合法输入,点击保存 |
提示修改成功 |
与预期结果一致 |
|
点击修改寻宠信息,必填项输入不合法或为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除寻宠信息,选择寻宠信息删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索寻宠信息,输入存在的寻宠信息名 |
查找出相应寻宠信息信息 |
与预期结果一致 |
|
点击搜索寻宠信息,输入不存在的寻宠信息名 |
不显示寻宠信息信息 |
与预期结果一致 |
|
点击审核寻宠信息,必填项合法输入,点击保存 |
提示审核成功 |
与预期结果一致 |
|
点击审核寻宠信息,必填项输入不合法或为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
下表是志愿活动管理功能的测试用例,检测了志愿活动中对志愿活动的增加,删除,修改,查询等操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件:管理登录系统。
表6.6志愿活动管理的测试用例
|
功能描述 |
用于志愿活动管理 | |
|
测试目的 |
检测志愿活动管理时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击添加志愿活动,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
|
点击添加志愿活动,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改志愿活动,必填项合法输入,点击保存 |
提示修改成功 |
与预期结果一致 |
|
点击修改志愿活动,必填项输入不合法或为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除志愿活动,选择志愿活动删除 |
提示删除成功 |
与预期结果一致 |
|
点击搜索志愿活动,输入存在的志愿活动名 |
查找出相应志愿活动信息 |
与预期结果一致 |
|
点击搜索志愿活动,输入不存在的志愿活动名 |
不显示志愿活动信息 |
与预期结果一致 |
下表是举报登记管理功能的测试用例,检测了举报登记中对举报登记的查询,删除,修改,审核等操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件:管理登录系统。
表6.7举报登记管理的测试用例
|
功能描述 |
用于举报登记管理 | |
|
测试目的 |
检测举报登记管理时的各种操作的运行情况 | |
|
测试数据以及操作 |
预期结果 |
实际结果 |
|
点击搜索举报登记,输入存在的举报登记名 |
查找出相应举报登记信息 |
与预期结果一致 |
|
点击搜索举报登记,输入不存在的举报登记名 |
不显示举报登记信息 |
与预期结果一致 |
|
点击修改举报登记,必填项合法输入,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击修改举报登记,必填项输入不合法或为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
|
点击删除举报登记,选择举报登记删除 |
提示删除成功 |
与预期结果一致 |
|
点击审核举报登记,必填项合法输入,点击保存 |
提示审核成功 |
与预期结果一致 |
|
点击审核举报登记,必填项输入不合法或为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
本领养流浪动物微信小程序开发与设计满足相关信息的管理需求,在设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了管理员以及用户能够方便操作。系统的主要特点和优点归纳如下:
(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给客户带来了极大的方便。
(2)该领养流浪动物微信小程序开发与设计内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因用户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都可以很好的进行操作。
经过对上述的测试结果分析,所有基本功能齐全,操作简单,系统运行性能良好,系统安全可靠,能促进领养流浪动物微信小程序的发展,发展前景广阔。
7 结束语
通过开发领养流浪动物微信小程序,我深刻体会到软件开发的完整流程。首先,在确定开发目标后,进行了详细的需求分析,明确了系统所需的各项功能。接下来,设计了系统的功能框架和数据库结构;包括实体和数据表的设计。随后,实现了各个功能模块的详细界面,并进行了全面的功能测试。尽管在这个过程中遇到了各种挑战,但通过反复分析和深入思考,借助相关文献和解决方案,成功地解决了这些问题,最终使领养流浪动物微信小程序顺利运行。
虽然该系统在功能上基本满足了用户的需求,但仍有许多需要改进的地方。在接下来的开发阶段,计划进行以下改进:
用户界面设计:目前的操作页面虽然满足了简易操作的要求,但在多样化设计方面还有提升空间。我将考虑引入更多丰富的设计元素,使界面更加美观和用户友好。
安全性能优化:针对系统安全性能的增强,需要进一步优化系统的整体防护能力。具体而言,将要对程序退出的安全性进行加强,确保在退出过程中不存在数据泄露或系统不稳定的风险。同时,对系统的并发处理能力进行升级,以确保在高并发场景下系统能够保持稳定的运行状态。
性能优化:在性能优化方面,将着重于对程序的数据结构和代码逻辑进行精细化调整。通过优化,旨在确保系统能在高负载下保持稳定且高效的运行状态。优化后的系统应具备快速处理大量事务的能力,显著缩短事务处理时间,从而提高整体工作效率。同时,致力于降低服务器资源的占用率,以实现资源的高效利用和成本的有效控制。
通过这些改进,希望能够进一步提升领养流浪动物微信小程序的用户体验和性能,使其更加贴合实际需求。
参考文献
[1]Xianru S ,Yanfang M ,Siyan C , et al.Research and Application of Service Design-Based Models for Stray Animal Management in Universities[J].Scientific and Social Research,2025,6(12):219-224.
[2]于中阳.城市宠物信息化管理研究[J].产业与科技论坛,2024,23(18):228-230.
[3]张雨蝶,周春柳.高校流浪动物的数字化管理探索[J].中国动物检疫,2023,40(11):41-45+88.
[4]张扬.宠物类App的UI交互设计研究[J].大观,2023,(10):112-114.
[5]曹雪朋.基于Django的数据分析系统设计与实现[J].信息与电脑(理论版),2023,35(15):141-143.
[6]费天乐,刘君.宠物领养一站式服务平台可行性及运行模式研究[J].国际公关,2023,(12):170-172.DOI:10.16645/j.cnki.cn11-5281/c.2023.12.003.
[7]郑妍,张未名,张润园,等.基于云开发和微信小程序的爱宠家系统[J].电脑编程技巧与维护,2023,(06):79-81.DOI:10.16184/j.cnki.comprg.2023.06.050.
[8]聂菊荣.基于Python语言的智能信息化管理平台设计与实现[J].信息记录材料,2023,24(05):216-218.DOI:10.16009/j.cnki.cn13-1295/tq.2023.05.024.
[9]周竞鸿,聂菊荣.基于微信小程序的Python语言学习平台设计与实现[J].信息记录材料,2023,24(04):201-203.DOI:10.16009/j.cnki.cn13-1295/tq.2023.04.046.
[10]颜惠.基于Web的宠物店信息管理系统设计[J].软件,2023,44(02):147-149.
[11]Cai S ,Wen Z ,Ma Y .Design of Intelligent Pet Consignment System Based on the Current Situation of Pet Consignment in China[J].Journal of Artificial Intelligence Practice,2023,6(1):
[12]张杜鹃.基于微服务的流浪动物新型救助系统的设计与实现[D].首都经济贸易大学,2022.DOI:10.27338/d.cnki.gsjmu.2022.000827.
[13]安琪.基于服务设计思维的城市流浪动物助养系统设计研究[D].北京化工大学,2022.DOI:10.26939/d.cnki.gbhgu.2022.001964.
[14]庄帅.宠物管理系统的设计及实现[J].福建电脑,2022,38(05):68-72.DOI:10.16707/j.cnki.fjpc.2022.05.017.
[15]殷凤梅,静育玉.基于云开发和微信小程序的助宠系统设计与实现[J].电脑知识与技术,2022,18(14):37-39.DOI:10.14004/j.cnki.ckt.2022.0942.
[16]张玉叶,王彤宇.Python程序设计项目化教程[M].人民邮电出版社:202111.213.
[17]姜苏.基于互联网平台解决社会流浪动物问题的可行性研究[D].山东农业大学,2020.DOI:10.27277/d.cnki.gsdnu.2020.001043.
[18]吴文洋,刘世宇.基于B/S架构宠物领养管理系统设计[J].软件,2020,41(11):85-87.
[19]杨芹.宠物领养Web App的设计与实现[D].华中科技大学,2020.DOI:10.27157/d.cnki.ghzku.2020.006892.
[20]赵兴东.基于Python Web的运动社交微信小程序[D].大连理工大学,2020.DOI:10.26991/d.cnki.gdllu.2020.004662.
致 谢
这次毕业设计能够完成,最重要的就是来自指导老师的帮助,老师不厌其烦的对我的论文及毕业设计提出非常有建设性的建议,我的毕设施能够完成离不开老师的帮助。我对老师由衷的表示感谢,
其次要感谢大学四年里学院里所有的任课老师的教导,老师们在我整个大学四年里给予了我丰富的知识,让我能够在大学中不虚度光阴,踏踏实实的学习,没有这些老师不辞辛劳的教诲,我无法完成这四年的学业。
最后,我要感谢我的家人和同学们。感谢父母在物质与精神上给予我无限的支持和鼓励。感谢我的同学们,在论文写作期间,你们给予了我许多宝贵的建议和帮助,让我在学术研究的道路上不再孤单。
再次感谢所有在我大学生活中给予我帮助和支持的人们。您们的关怀和鼓励将永远铭刻在我的心中,成为我未来前行的动力。
由于自己的水平有限,毕设仍然存在着很大的缺陷,各位老师若提出意见,我会努力改正。
1676

被折叠的 条评论
为什么被折叠?



