我自己开发了一款在线客服系统,最近一直琢磨把客服系统官网做好。因为访客来的人不少,大部分人可能就是看看官网界面就走了,怎样把这些访客留存下来,去测试试用客服系统,是我一直琢磨的问题。
官网是一个企业的门面,也是一个系统的门面,还是需要把门面的内容整理总结一下,让大家能清楚看到系统的功能。网站的内容少,那么搜索引擎收录的就少,这样会导致网站的权重不高,搜索排名比较低。
因此要简单的加上一个小型的内容管理功能。
大家感兴趣也可以去看看唯一客服系统
设计数据库
很简单的两张表,分类表和内容表
DROP TABLE IF EXISTS `cms_cate`;
CREATE TABLE `cms_cate` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cat_name` varchar(50) NOT NULL DEFAULT '' COMMENT '分类名称',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) COMMENT '自增主键索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT 'CMS分类表';
DROP TABLE IF EXISTS `cms_news`;
CREATE TABLE `cms_news` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(500) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '标题',
`content` text COLLATE utf8mb4_general_ci COMMENT '内容',
`cat_id` int(11) NOT NULL DEFAULT '0' COMMENT '分类ID',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) COMMENT '自增主键索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT 'CMS内容表';
编写数据库操作gorm Model部分
设计两个结构体
type CmsCate struct {
Id uint `json:"id"`
CatName string `json:"cat_name"`
CreatedAt types.Time `json:"created_at"`
}
type CmsNews struct {
Id uint `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
CreatedAt types.Time `json:"created_at"`
}
types.Time类型是我对time.Time类型的包装,用于在序列化为json的时候,可以格式化时间。
默认的Time类型,JSON序列化出来后是UTC格式,不符合观看习惯
package types
import (
"database/sql/driver"
"fmt"
"time"
)
type Time struct {
time.Time
}
func (t Time) MarshalJSON() ([]byte, error) {
localTime := t.Format

本文介绍了一个在线客服系统的官网建设过程,包括如何通过增加内容管理功能提高搜索引擎排名,并分享了具体的数据库设计与前后端实现方案。
最低0.47元/天 解锁文章
2725

被折叠的 条评论
为什么被折叠?



