代码拉取完成,页面将自动刷新
package dao
import (
"GolangLearnPractice1/goMessage/model"
"encoding/json"
"fmt"
)
//GetTextItems 从数据库中拿到指定页面的数据
func GetTextItems(pageNo, pageSize int64) (textItems []*model.TextItem, totalRecord int64, totalPageNo int64, err error) {
query := fmt.Sprintf("db.collection(\"guestbook\").orderBy('createTime','desc').skip(%d).limit(%d).get()", (pageNo-1)*pageSize, pageSize)
data, err := getTcb().DatabaseQuery(getConfig().TcbEnv, query)
if err != nil {
return nil, 0, 0, err
}
for _, v := range data.Data {
textItem := &model.TextItem{}
err := json.Unmarshal([]byte(v), textItem)
if err != nil {
return nil, 0, 0, err
}
textItems = append(textItems, textItem)
}
//从数据库中查到留言项的总记录和总页数
sqlStr := "db.collection(\"guestbook\").get()"
countRes, err := getTcb().DatabaseCount(getConfig().TcbEnv, sqlStr)
if err != nil {
return nil, 0, 0, err
}
totalRecord = countRes.Count
if totalRecord%pageSize == 0 {
totalPageNo = totalRecord / pageSize
} else {
totalPageNo = totalRecord/pageSize + 1
}
return textItems, totalRecord, totalPageNo, nil
}
//AddTextItem 向数据库中添加留言项
func AddTextItem(textItem *model.TextItem) error {
query := `db.collection(\"%s\").add({
data: [{
username: \"%s\",
content: \"%s\",
fileName: \"%s\",
fileID: \"%s\",
createTime: \"%s\",
}]
})`
query = fmt.Sprintf(query, "guestbook", textItem.Username, textItem.Content, textItem.FileName, textItem.FileID, textItem.CreateTime)
_, err := getTcb().DatabaseAdd(getConfig().TcbEnv, query)
if err != nil {
fmt.Println(err)
return err
}
return nil
}
//FilterRes 过滤后的文本
type FilterRes struct {
Text string `json:"text"`
}
//FilterText 对用户发送的内容进行过滤
func FilterText(text string) (string, error) {
res, err := getTcb().InvokeCloudFunction(getConfig().TcbEnv, "filterText", fmt.Sprintf(`{"text":"%s"}`, text))
//返回的是json
filterRes := &FilterRes{}
err = json.Unmarshal([]byte(res.RespData), filterRes)
if err != nil {
return "", err
}
return filterRes.Text, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。