Thinkjs学习2—数据库的配置

以github登录认证为例,说明如何通过mvc三部分的配合,实现这个功能。

要实现的功能:首页判断用户是否登录,如果没有登录,显示登录界面,用户点击按钮进入github登录验证,并保存用户的信息,登录状态;如果已经登录,则显示用户的个人信息。

分析:用户github认证成功后,需要将用户的信息存入数据库中,便于增删查改,用户的登录状态存入缓存中(这里采用session)。

下面我们开始建数据库和数据表。

github验证成功后,用户的信息如下:

mysql的安装和使用方法这里就不在详细说明了,根据thinkjs的规范,数据表要有个统一的前缀,这里就简单取个'gl_'(github log in缩写‘’)。新建一个数据库githublog,在这个数据库中新建一个数据表gl_user,存储数据信息,表结构如下。

DROP TABLE IF EXISTS `gl_user`;

CREATE TABLE `gl_user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(256) NOT NULL DEFAULT '' COMMENT '用户名称',
`nickname` varchar(11) NOT NULL DEFAULT '' COMMENT '用户昵称',
`gid` varchar(256) NOT NULL DEFAULT '' COMMENT '第三方社交帐号ID',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`email` varchar(256) DEFAULT NULL COMMENT '用户邮箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

LOCK TABLES `gl_user` WRITE;

 name,email分别对应着获取到的login和email值,gid作为用户唯一标识使用‘github_’加上所获取到的id。用户认证成功后,可以设置昵称nickname,修改邮箱email。

数据库创建完成后,要在thinkjs项目中进行配置src/common/config/db.js文件

 

 使用本地数据库的话host就是127.0.0.1,port默认是3306,database就是刚刚创建的githublog,user和password是mysql的用户名和密码,前缀是githublog数据库下数据表的前缀‘gl_’。(https://thinkjs.org/zh-cn/doc/2.2/model_config.html)

配置好之后,创建对应数据表的模型,参照https://thinkjs.org/zh-cn/doc/2.2/model_intro.html创建,模型名对应去掉前缀的数据表名,可以在对应的模型文件中写一些对数据表增删查改的方法。

posted @ 2017-08-23 15:05  Kate_Lee  阅读(1785)  评论(0编辑  收藏  举报