项目简介
agende项目是一个CLI程序,可以进行用户管理,会议管理等遍历操作。按照本次作业的要求,实现其中的两条指令——register和log in。
开发环境
- Centos 7
- go 1.11.5 linux/amd64
实现过程
- 安装cobra
首先使用命令安装sys和text项目:
git clone https://github,com/golang/text
git clone https://github.com/golang/sys
之后使用命令:
go get -v github.com/spf13/cobra/cobra
go install github.com/spf13/cobra/cobra
就可以在go文件下的bin文件中找到cobra文件。
- 使用cobra进行项目的创建
使用命令:
cobra init agenda --pkg-name .
创建好文件夹,在go-online上需要根据pwd后的结果将.更改为/src/后的内容,生成cmd文件夹,LICENSE和main.go。
其中main.go的内容如下:
之后使用命令在cmd文件夹中创建相应的命令go文件:
cobra add register
cobra add login
可以看到cmd文件夹中多了register.go文件和login.go文件。
- 文件实现
- User.go
进行用户User的所含的变量声明,包括Name,Password,Email,Phone:
- EntityFunc.go
进行用户注册时的判断,通过对当前已注册用户json文件的读取遍历进行: - userrw.go
进行用户注册以及登录过程中的文件读写,进行用户的获取和存储、当前登录用户的获取和存储,以及文件有效性的判断:
- login.go
登录文件,需要根据用户输入的username和password进行判断,同时需要判断该用户是否已经登录。
- register.go
注册文件,需要在用户输入用户名和密码有效的情况下进行邮箱和电话号码的录入,同时需要判断该用户名是否已经被注册。
最终结果
1.在go-online上建立好相应的项目结构并填入文件,调整好import路径:
2.编译agenda.go文件,生成agenda文件:
3.进行第一个用户注册:
4.进行相同用户注册:
5.进行第一个用户登录:
6.进行相同用户登录:
go-online分享链接:http://139.9.57.167:20080/share/bmoqhbu76kvmo1a886sg?secret=false