一个聊天服务器,重要的是什么?
    一个是前端,要具有交互性对不
    另一个就是后端的处理了
    前端可以一天一个样子,只要统一api,自然可以进行合理的处理
    但后端的逻辑是不变的
    我大概分为下面几个逻辑
    1.登录模块,这里就需要与sql进行互动,进行注册等功能
    2.登录后的功能,反正乱七八糟很多,这些后面在开始进行尝试,今天先进行对于登录模块的实现

    这里参考这个结构
    https://gitcode.net/mirrors/golang-standards/project-layout/-/blob/master/README_zh.md

    然后开始第一天的代码书写
    现在简单来说 这个项目只有一个cmd目录与internal目录来保存项目私用代码
    第一天先不要考虑任何关于分布式的事情,先简简单单实现一个简单的demo在慢慢的进行迭代
    很明显 首先要考虑route路由的事情
    我们在internal里写一个route包,在route中使用gin包
    在使用gin包的时候,我们使用了路由分组
    然后进行对应路由的写法
    在进行书写的时候,发现需要绑定一个json
    所有有了sevice这个包,进行绑定,还要对应的结构体model保存在这个包内
    接下来就是dao的内容了,开始进行数据库的读写任务,
    首先了解什么是gorm,那得首先说起orm的定义了
    orm, Object-Relationl Mapping,即对象关系映射,这里的Relationl指的是关系型数据库
    他的作用就是让你写代码的时候像操作对象一样的操作数据库
    gorm,就是用go语言写的这个东西,
    在这个部分的时候,我们要去config.go这个里面去获得数据库的账号密码啥的
    这个部分就是用viper进行配置的
    找到问题所在,必须有cors中间件
    https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS
    浏览器分两种请求。简单请求的话就是按照vue框架给你封装的,直接Post简单body不修改它的header。如果修改了header那就是复杂请求。得需要考虑跨域问题。解决跨域的是先发一次options请求,获取allowheader,允许跨域之后才会再发真正的Post请求。
    https://studygolang.com/articles/12124?fr=sidebar
    https://blog.csdn.net/u010918487/article/details/82686293