以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_』。(
配置好之後,建立對應資料表的模型,參照建立,模型名對應去掉字首的資料表名,可以在對應的模型檔案中寫一些對資料表增刪查改的方法。
資料庫學習2
分頁查詢2 select from select rownum cols,t.from select ename,sal from emp order by sal desc t where rownum 10 where cols between 6 and 10 在加編號時優化,可以對不必要的資...
資料庫學習2
劉江 11511010019 葉公正 11511010024 資料庫的建立,檢視,使用,刪除,備份,還原 表的建立,檢視,刪除,使用,重新命名,加入記錄,顯示表結構。資料庫的建立 mysql create database access 檢視 mysql show database access 使...
django學習5 pymysql 資料庫配置
資料庫的配置 一 安裝 我用的是mysql,建議裝pymysql,這個是比較符合python的,用pip install就好了。二 在setting檔案中配置資料庫 前面也有提到settings檔案的作用 databases 三 執行你會發現錯誤 在project的入口的 init 函式中增加兩行 ...