基于uniapp的 电子书小程序——需求整理

前言

想开发一个很简单的 电子书阅读小程序,要怎么做的。下面从功能、数据库设计这一块来说一下。说不一定能从某个角度提供一些思路

开发语言

springcloud + uniapp 小程序(vue2)+mysql

说明

电子书的主题是电子书,我们在日常中使用阅读器阅读电子书的时候,流程是什么?大致流程是:

  • 进入小程序,首页中有书籍的一些分类,可以搜索
  • 可以查看电子书的简介
  • 可以加入书架,如果未登录,则进入登录页面;
  • 在登录状态下,可以直接进入阅读,会记录阅读的进度方便下次阅读时可以定位
    以上的内容是核心的内容,我们可以按照自己的需求加入积分、交流区等功能
    在这里插入图片描述

数据库设计

在这里插入图片描述
根据上面的功能列表,根据业务设计数据库,需要包括微信用户、书籍信息、用户书架、读书记录、类型、模块

微信用户

在小程序上,我们可以直接让用户使用微信绑定手机号登录,可以减少用户的注册,也可以避免用户设置密码

create table book_user
(id               int auto_increment comment '编号'primary key,avatar_url       varchar(2000)                      null comment '头像',account_name     varchar(50)                        null comment '账户',account_password varchar(200)                       null comment '密码',tel              varchar(50)                        null comment '联系电话',display_name     varchar(50)                        null comment '昵称',city             varchar(200)                       null comment '区域',age              int                                null comment '年龄',status           int      default 1                 null comment '状态',gender           varchar(10)                        null comment '性别',province         varchar(200)                       null comment '省份',country          varchar(200)                       null comment '国籍',union_id         varchar(2000)                      null comment 'unionId',open_id          varchar(2000)                      null comment 'openId',bing_open_id     varchar(2000)                      null comment '绑定的openId',create_at        datetime default CURRENT_TIMESTAMP null comment '创建时间',modify_at        datetime default CURRENT_TIMESTAMP null comment '修改时间'
)comment '微信用户';

书籍信息

create table book_base
(id              int auto_increment comment '编号'primary key,display_name    varchar(200)                       null comment '书籍名',display_photo   varchar(2000)                      null comment '书籍图片',display_url     varchar(2000)                      null comment '书籍文件',display_module  int                                null comment '书籍模块',display_type    varchar(2000)                      null comment '书籍类型',display_author  varchar(200)                       null comment '作者',display_content longtext                           null comment '详情',is_use          int      default 1                 null comment '是否上架',create_at       datetime default CURRENT_TIMESTAMP null comment '创建时间',modify_at       datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '编辑时间'
)comment '书籍信息';

用户书架

create table book_user_base
(id            int auto_increment comment '编号'primary key,user_id       int                                null comment '用户',display_name  varchar(2000)                      null comment '书籍名称',display_photo varchar(2000)                      null comment '书籍图片',display_url   varchar(2000)                      null comment '书籍地址',is_read       int      default 0                 null comment '是否读完',create_at     datetime default CURRENT_TIMESTAMP null comment '加入时间',modify_at     datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '编辑时间'
)comment '用户书架';

读书记录

create table book_user_record
(id           int auto_increment comment '编号'primary key,user_id      int                                null comment '用户',book_id      int                                null comment '书籍',display_name varchar(2000)                      null comment '书籍名称',display_num  double                             null comment '阅读进度',create_at    datetime default CURRENT_TIMESTAMP null comment '阅读日期'
)comment '读书记录';

类型

书籍类型,这里的设置是树表结构,并没有层级限制。这样设计灵活性更强

create table book_type
(id           int auto_increment comment '编号'primary key,tree_id      int                                null comment '上级类型',display_name varchar(200)                       null comment '类型名称',status       int      default 1                 null comment '状态',create_at    datetime default CURRENT_TIMESTAMP null comment '创建时间',modify_at    datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '编辑时间'
)comment '类型';

模块

模块这里是和电子书并没有什么关系的表。只是为了说,在小程序中,管理后台可以动态的管理小程序前端模块的显示隐藏。

create table book_module
(id            int auto_increment comment '编号'primary key,display_name  varchar(200)                       null comment '模块名',display_photo varchar(2000)                      null comment 'logo',display_url   varchar(200)                       null comment '访问地址',status        int      default 1                 null comment '状态',create_at     datetime default CURRENT_TIMESTAMP null comment '创建时间',modify_at     datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '编辑时间'
)comment '模块';

设想的ui页面

在这里插入图片描述
下一节会开始介绍前端页面的一些布局

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

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

相关文章

GEE:基于 Landst 遥感数据计算的 kNDVI 下载 APP

作者:CSDN _养乐多_ 本文记录了在Google Earth Engine(GEE)平台中,使用 Landsat 遥感数据计算并且下载 kNDVI 的应用 APP 链接,并介绍该 APP 的使用方法和步骤。该APP可以为用户展示 NDVI 和 kNDVI 的遥感影像&#…

3ds Max 电脑配置建议 | 建模+渲染选专业显卡or游戏显卡?

使用3ds Max进行建模和渲染时,选择合适的电脑配置非常重要。比如在硬件选择上,究竟选购游戏显卡还是专业显卡呢?本文将为你详细介绍游戏显卡和专业显卡的区别,并提供配置建议,助你作出明智的决策。 &#…

NX二次开发UF_CSYS_set_wcs_display 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_set_wcs_display Defined in: uf_csys.h int UF_CSYS_set_wcs_display(int display_status ) overview 概述 Set display of work coordinate system. 展示工作坐标系。 …

【数据分享】我国12.5米分辨率的DEM地形数据(免费获取/地理坐标系)

DEM地形数据是我们在各种研究和设计中经常使用的数据!之前我们分享过500米分辨率的DEM地形数据、90米分辨率的DEM地形数据、30米分辨率的DEM地形数据(均可查看之前的文章获悉详情)。 本次我们为大家带来的是分辨率为12.5m的DEM地形数据&#…

RK3568驱动指南|第七期-设备树-第69章 of操作函数实验:获取中断资源

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

post请求参数全大写后台接不到参数

post请求参数全大写后台接不到参数 开发过程中,我们一般都习惯用驼峰命名法,但是特殊情况要求请求参数全大写(或者首字母大写),测试验证的时候发现,接收不到请求参数。 前端请求传递: 服务端接…

渗透测试信息搜集

注:太简陋了,不忍直视 渗透测试信息收集 黑盒测试:给域名 灰盒测试:给域名、账户(或密码) 白盒测试:给域名、账户、密码 授权书 对安全公司进行授权 攻防演习 是对个人进行授权 渗透测试:&#xff0…

AndroidStudio2022.3.1 Patch3使用国内下载源加速

记录一下这个版本的as在使用国内下载源加速碰到的诸多问题。 一、gradle-8.0-bin.zip下载慢 编辑项目文件夹/gradle/wrapper/gradle-wrapper.properties,文件内容改为如下: #Fri Nov 24 18:50:06 CST 2023 distributionBaseGRADLE_USER_HOME distribu…

生产环境出现问题,测试人如何做工作复盘?

很多时候我们能把大部分的Bug或一些部署等问题在业务上线之前就解决了,但由于某些因素,线上问题还是时而出现,影响业务生产甚至是公司效益。 避免线上问题的发生以及线上问题及时处理是测试人员的一项重要职责,如何快速地处理&am…

报错AttributeError: module ‘cv2‘ has no attribute ‘ximgproc‘

报错AttributeError: module ‘cv2’ has no attribute ‘ximgproc’ 首先查看是否安装opencv-contrib-python pip list | grep opencv显示 opencv-contrib-python 4.4.0.46 opencv-python 4.8.1.78 opencv-pyt…

SuperMap iDesktopX如何获取简单线的起终端点及坐标

作者:超图研究院技术支持中心-于丁 SuperMap iDesktopX如何获取简单线的起终端点及坐标 在GIS行业应用中,线数据的端点坐标有非常多的用处。 定位和可视化:线数据端点坐标可以用于定位和可视化线要素在空间中的位置。这对于地图制作、规划和…

0002Java程序设计-springboot在线考试系统小程序

文章目录 **摘 要****目录**系统实现开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅🐧裙:776871563 摘 要 本毕业设计的内容是设计并且实现一个基于springboot的在线考试系统小程序。它是在Windows下,以MYSQL为数据库开发平台&…