CureWord.top 鸡汤重构笔记
前言
最近收到朋友的催更,花了一周左右把go-Cureword的进度给赶完了
这篇博客用来记录我这期间踩过的所有坑,解决方法,以及心得
因为是工程写完之后来统计的 可能会有特别多的疏漏
鸡汤站地址:
工程开源地址:
前端: github.com/…/cureword.top
后端: github.com/…/go-cureword
坑🕳
Vue.js – axios 通过POST方式传输的json是Request Payload
搜罗了一堆东西,最后发现只要你请求头是
Content-Type: application/json
貌似Golang就能读取出来…生成API接口文档
最开始使用的是APIPost/Postman的生成方法,但是这两个软件生成出来的文档夹带太多私货(指广告),后来就使用了apidoc进行生成
APIDOC 可以读取源码的注释 进行生成api文档
Go net/http 处理静态文件
生成出来的api文档是一个文件夹,带静态文件,需要一并搭载出来
解决方法:
1
http.Handle("/", http.FileServer(http.Dir("/xxx/")))
刚开始这个方法貌似用不了,调试了很久又发现能用了,盲猜浏览器缓存的锅
(这个方法真的是简单粗暴方便)
Go []byte 与 json 互相转换方法(搜索次数多)
1
2b, _ := json.Marshal(m)//将json对象序列化为byte[]
json.Unmarshal(b,&ki)//将序列化的byte[]重写反序列化为对象。Gorm 指定struct对应的表名
1
2
3
4
5
6
7
8
9
10type Article struct {
Id uint32 `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
}
func (Article) TableName() string {
//实现TableName接口,以达到结构体和表对应,如果不实现该接口,并未设置全局表名禁用复数,gorm会自动扩展表名为articles(结构体+s)
return "it_article"
}
// 后记:貌似直接使用db.Table("表名")指定即可axios 相应后执行的函数无法使用element-ui的函数(this指向有变化)
原使用方法
1
2
3
4axios
.get("host")
.then(function(res){})
.catch(...)现使用方法
1
2
3
4axios
.get("host")
.then((res)=>{})
.catch(...)原因:
function(res){this.xxx}
和(res)=>{this.xxx}
中的this
的指向是不同的,箭头函数并不简单是匿名函数的简写。在JS中,箭头函数并不是简单的function(){}匿名函数的简写语法糖,实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,在编写函数时就已经确定了。而匿名函数的this指向运行时实际调用该方法的对象,无法在编写函数时确定。
vue router 刷新后无法定位路由
将
router/index.js
中的mode
从history
改为hash
即可使用https时的证书问题
最后放弃了https,全站使用http
Wakatime
前往Wakatime查看 go-Cureword 编写时所需的时长
我才发现这玩意快写了30个小时了…
API
获取API请前往爱发电进行充电,充电一次获取1个月API使用权限
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hello! I'm 0o酱!
评论