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創建,模型名對應去掉前綴的數據表名,可以在對應的模型文件中寫一些對數據表增刪查改的方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM