企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
前面我们在项目中引入了用户登录状态的检测,但是并没有与实际的后台项目打通。我们需要有一个用户后台,负责记录用户的基本信息,处理用户注册用户登录和用户管理等功能。 现在我们就开始设计我们用户社区后台。 第一版本,我们的需求先设计得简单一些,后面再一步一步迭代。 我们先设计用户的基本信息: | id | name | account | password | age | avatar | gendor | | --- | --- | --- | --- | --- | --- | --- | | integer | varchar(64) | varchar(64) | binary | integer | varchar(4096) | integer | | 唯一id | 展示用户名 | 登录账户 | 登录密码 | 年龄 | 用户头像 | 性别 | > > > ~~~ > CREATE TABLE IF NOT EXISTS "user" > ( >     id serial NOT NULL, >     name varchar(64) NOT NULL, >     account varchar(64) NOT NULL, >     password bytea NOT NULL, >     age int, >     avatar varchar(4096), >     gendor int DEFAULT -1, >     -- timestamps >     created_date            timestamp                      DEFAULT now(), >     changed_date            timestamp                      DEFAULT now(), >     deleted_date            timestamp                               NULL, >     CONSTRAINT user_pk PRIMARY KEY ("id") > ); > CREATE UNIQUE INDEX IF NOT EXISTS user_account_uqinue ON "user"("account") > > ~~~ > > 接下来我们创建一个用户后台项目,这个项目你可以根据自己的喜好和熟悉程度用不同的语言和框架去实现,当然也可以使用和改造现成的用户社区项目,这类项目随便找一下应该有不少。 这里我选择使用php的laravel框架来从头实现后台的功能。 数据库我选择mysql。 我们可以根据各自的技术栈储备情况来选择开发框架,并没有哪种实现是绝对的最好,高效合理地解决问题才是关键。 好了,我们把后端工程先搭起来,连接数据库并创建好我们的用户表。 下面我们来实现一个用户注册的第一版接口,提供account/password/name等基本信息创建用户。 这里由于account是以后用于用户登录的,所以我们在注册时要保证它的唯一性,当然我们在数据库设计时已经保证了这一点。 另外,我们应该尽量保持注册的过程的简洁,前期以引入用户为主,在获取足够的必要信息后,其他的信息可以在后面引导用户完善。所以这里我们只让用户提供了账号密码和名字。 再来做一个用户登录的接口,从而好与我们之前在scratch-gui中做的用户登录对接起来。 ![](https://img-blog.csdnimg.cn/20200206184527327.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RhbmtfZnQ=,size_16,color_FFFFFF,t_70) 在登录成功后,返回用户信息和JWT token。用户信息用于前端展示,token将由前端存在本地,在后面需要身份验证的接口中带过来。 好了,由于这个是后台相关的技术,是最基本的用户登录和注册两个接口,所以介绍的比较简介,本章我们把用户社区后台的服务搭建起来了,下一步我们来将本章实现的两个接口与scratch-gui前端对接起来。