Golang 雲盤開發之增加使用者系統

2021-10-11 22:48:29 字數 2843 閱讀 6103

使用者表建表語句

create table `tbl_user` (

`id` int(11) not null auto_increment,

`user_name` varchar(64) not null default '' comment '使用者名稱',

`user_pwd` varchar(256) not null default '' comment '使用者encoded密碼',

`email` varchar(64) default '' comment '郵箱',

`phone` varchar(128) default '' comment '手機號',

`email_validated` tinyint(1) default 0 comment '郵箱是否已驗證',

`phone_validated` tinyint(1) default 0 comment '手機號是否已驗證',

`signup_at` datetime default current_timestamp comment '註冊日期',

`last_active` datetime default current_timestamp on update current_timestamp comment '最後活躍時間戳',

`profile` text comment '使用者屬性',

`status` int(11) not null default '0' comment '賬戶狀態(啟用/禁用/鎖定/標記刪除等)',

primary key (`id`),

unique key `idx_username` (`user_name`),

key `idx_status` (`status`)

) engine=innodb default charset=utf8mb4;

model 資料

// user : 使用者表model

type user struct

介面梳理

對於有登入邏輯的系統,使用驗證邏輯

使用者註冊邏輯

// signuphandler : 處理使用者註冊請求

// 對密碼進行加鹽及取sha1值加密

encpasswd := util.sha1(byte(passwd + pwdsalt))

// 將使用者資訊註冊到使用者表中

suc := dblayer.usersignup(username, encpasswd)

if suc else

}

登入業務邏輯

包括邏輯校驗,生成token,跳轉首頁三部分

// signinhandler : 登入介面

// 1. 校驗使用者名稱及密碼

pwdchecked := dblayer.usersignin(username, encpasswd)

if !pwdchecked

// 2. 生成訪問憑證(token)

token := gentoken(username)

upres := dblayer.updatetoken(username, token)

if !upres

// 3. 登入成功後重定向到首頁

雲盤開發 1 功能設計

目前專案,有個雲盤功能要開發,這裡記下這個功能的開發流程思路。專案是b s架構的。一.雲盤功能 雲盤功能主要分三方面 1.儲存 2.分享 3.容量限制 儲存功能,核心在兩方面,1.檔名不重複,2.檔案目錄 實體檔案的檔名,用檔案的md5值儲存,資料庫檔案表記錄檔案的md5值和檔案原來的名字,上傳的m...

EclipseRCP開發之增加右鍵選單

需求如題,解決方法如下 有兩種方法 第一種,定義乙個方法,返回乙個menu 右鍵選單 private menu createpopup composite parent public void widgetdefaultselected selectionevent e return p 然後在你需...

Android之增加U盤同時使用的數量

在裝置上同時插入三個u盤時,只有兩個掛載成功。系統 android 5.1 平台 rk32881 修改device rockchip fstab.rk30board.bootmode.emmc non box product,configuration to the first item,will ...