\###用户表\###
DROP TABLE IF EXISTS `bbs\_user`;CREATE TABLE `bbs\_user`(
uidint(11)unsigned NOT NULL AUTO\_INCREMENT COMMENT'用户编号',
gidsmallint(6)unsigned NOT NULL DEFAULT'0'COMMENT'用户组编号',\#如果要屏蔽
,调整用户组即可
emailchar(40)NOT NULL DEFAULT''COMMENT'邮箱',
usernamechar(32)NOTNULLDEFAULT''COMMENT'用户名', \#不可以重复realnamechar(16)NOTNULLDEFAULT''COMMENT'用户名', \#真实姓名,天朝预留idnumberchar(19)NOTNULLDEFAULT''COMMENT'用户名', \#真实身份证号码,天朝
预留
`password`char(32)NOT NULL DEFAULT''COMMENT'密码',
`password\_sms`char(16)NOTNULLDEFAULT''COMMENT'密码', \#预留,手机发送的sms验证码
saltchar(16)NOT NULL DEFAULT''COMMENT'密码混杂',
mobilechar(11)NOTNULLDEFAULT''COMMENT'手机号', \#预留,供二次开发扩展
qqchar(15)NOTNULLDEFAULT''COMMENT'QQ', \#预留,供二次开发扩展,可以弹出QQ直接聊天
threadsint(11)NOTNULLDEFAULT'0'COMMENT'发帖数', \#postsint(11)NOTNULLDEFAULT'0'COMMENT'回帖数', \#
creditsint(11)NOTNULLDEFAULT'0'COMMENT'积分', \#预留,供二次开发扩展
goldsint(11)NOTNULLDEFAULT'0'COMMENT'金币', \#预留,虚拟币rmbsint(11)NOTNULLDEFAULT'0'COMMENT'人民币', \#预留,人民币create\_ipint(11)unsignedNOTNULLDEFAULT'0'COMMENT'创建时IP',create\_dateint(11)unsignedNOTNULLDEFAULT'0'COMMENT'创建时间',login\_ipint(11)unsigned NOT NULL DEFAULT'0'COMMENT'登 录 时IP',login\_dateint(11)unsignedNOTNULLDEFAULT'0'COMMENT'登录时间',loginsint(11)unsignedNOTNULLDEFAULT'0'COMMENT'登录次数',
avatarint(11)unsignedNOTNULLDEFAULT'0'COMMENT'用户最后更新图像时间',PRIMARY KEY(uid),
UNIQUE KEY username(username),
UNIQUE KEYemail(email), \#升级的时候可能为空
KEY gid(gid)
)ENGINE=MyISAM DEFAULTCHARSET=utf8;
INSERTINTO`bbs\_user`SETuid=1,gid=1,email='admin@admin.com',username='adm in',`password`='d98bb50e808918dd45a8d92feafc4fa3',salt='123456';
\#用户组
DROP TABLE IF EXISTS `bbs\_group`;CREATE TABLE `bbs\_group`(
gidsmallint(6)unsignedNOTNULL, \#
namechar(20)NOT NULLdefault'', \#用户组名称creditsfromint(11)NOT NULLdefault'0', \#积分从creditstoint(11)NOT NULLdefault'0', \#积分到allowreadint(11)NOT NULLdefault'0', \#允许访问allowthreadint(11)NOT NULLdefault'0', \#允许发主题allowpostint(11)NOT NULLdefault'0', \#允许回帖allowattachint(11)NOT NULLdefault'0', \#允许上传文件allowdownint(11)NOT NULLdefault'0', \#允许下载文件allowtopint(11)NOT NULLdefault'0', \#允许置顶allowupdateint(11)NOT NULLdefault'0', \#允许编辑allowdeleteint(11)NOT NULLdefault'0', \#允许删除allowmoveint(11)NOT NULLdefault'0', \#允许移动allowbanuserint(11)NOT NULLdefault'0', \#允许禁止用户allowdeleteuserint(11)NOTNULLdefault'0', \#允许删除用户
allowviewipint(11)unsignedNOTNULLdefault'0', \#允许查看用户敏感信息
PRIMARY KEY(gid)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
INSERT INTO `bbs\_group` SET gid='0',name="游客组",creditsfrom='0',creditsto=' 0',allowread='1',allowthread='0',allowpost='1',allowattach='0',allowdown=' 1',allowtop='0',allowupdate='0',allowdelete='0',allowmove='0',allowbanuser='0',allowdeleteuser='0',allowviewip='0';
INSERT INTO `bbs\_group` SET gid='1',name="管理员组",creditsfrom='0',creditsto='0',allowread='1',allowthread='1',allowpost='1',allowattach='1',allowdown='1',allowtop='1',allowupdate='1',allowdelete='1',allowmove='1',allowbanuser
='1',allowdeleteuser='1',allowviewip='1';
INSERT INTO `bbs\_group` SET gid='2',name="超级版主组",creditsfrom='0',credits to='0',allowread='1',allowthread='1',allowpost='1',allowattach='1',allowdo wn='1',allowtop='1',allowupdate='1',allowdelete='1',allowmove='1',allowban user='1',allowdeleteuser='1',allowviewip='1';
INSERT INTO `bbs\_group` SET gid='4',name="版主组",creditsfrom='0',creditsto='
0',allowread='1',allowthread='1',allowpost='1',allowattach='1',allowdown=' 1',allowtop='1',allowupdate='1',allowdelete='1',allowmove='1',allowbanuser='1',allowdeleteuser='0',allowviewip='1';
INSERT INTO `bbs\_group` SET gid='5',name="实习版主组",creditsfrom='0',credits
to='0',allowread='1',allowthread='1',allowpost='1',allowattach='1',allowdo wn='1',allowtop='1',allowupdate='1',allowdelete='0',allowmove='1',allowban user='0',allowdeleteuser='0',allowviewip='0';
INSERTINTO`bbs\_group`SETgid='6',name="待验证用户组",creditsfrom='0',credit sto='0',allowread='1',allowthread='0',allowpost='1',allowattach='0',allowd own='1',allowtop='0',allowupdate='0',allowdelete='0',allowmove='0',allowba nuser='0',allowdeleteuser='0',allowviewip='0';
INSERT INTO `bbs\_group` SET gid='7',name="禁止用户组",creditsfrom='0',credits
to='0',allowread='0',allowthread='0',allowpost='0',allowattach='0',allowdo wn='0',allowtop='0',allowupdate='0',allowdelete='0',allowmove='0',allowban user='0',allowdeleteuser='0',allowviewip='0';
INSERTINTO`bbs\_group`SETgid='101',name="一级用户组",creditsfrom='0',credi tsto='50',allowread='1',allowthread='1',allowpost='1',allowattach='1',allo
wdown='1',allowtop='0',allowupdate='0',allowdelete='0',allowmove='0',allow banuser='0',allowdeleteuser='0',allowviewip='0';
INSERT INTO `bbs\_group` SET gid='102',name="二级用户组",creditsfrom='50',cred
itsto='200',allowread='1',allowthread='1',allowpost='1',allowattach='1',al lowdown='1',allowtop='0',allowupdate='0',allowdelete='0',allowmove='0',all owbanuser='0',allowdeleteuser='0',allowviewip='0';
INSERT INTO `bbs\_group` SET gid='103',name="三级用户组",creditsfrom='200',cre
ditsto='1000',allowread='1',allowthread='1',allowpost='1',allowattach='1',allowdown='1',allowtop='0',allowupdate='0',allowdelete='0',allowmove='0',a llowbanuser='0',allowdeleteuser='0',allowviewip='0';
INSERT INTO `bbs\_group` SET gid='104',name="四级用户组",creditsfrom='1000',cr
editsto='10000',allowread='1',allowthread='1',allowpost='1',allowattach='1',allowdown='1',allowtop='0',allowupdate='0',allowdelete='0',allowmove='0',
allowbanuser='0',allowdeleteuser='0',allowviewip='0';
INSERT INTO `bbs\_group` SET gid='105',name="五级用户组",creditsfrom='10000',c reditsto='10000000',allowread='1',allowthread='1',allowpost='1',allowattach='1',allowdown='1',allowtop='0',allowupdate='0',allowdelete='0',allowmove=' 0',allowbanuser='0',allowdeleteuser='0',allowviewip='0';
\#板块表,一级,runtime中存放forumlist格式化以后的数据。
DROP TABLE IF EXISTS bbs\_forum;CREATE TABLE bbs\_forum(
fidint(11)unsignedNOTNULLauto\_increment, \#fid
\#fupint(11)unsignedNOTNULLauto\_increment, \#上一级版块,二级版块作为插件
namechar(16)NOT NULLdefault'', \#版块名称
ranktinyint(3)unsignedNOTNULLdefault'0', \#显示,倒序,数字越大越靠前
threadsmediumint(8)unsignedNOTNULLdefault'0', \#主题数
todaypostsmediumint(8)unsignedNOTNULLdefault'0',\#今日发帖,计划任务每日凌晨0点清空为0,
todaythreadsmediumint(8)unsignedNOTNULLdefault'0',\#今日发主题,计划任务每日凌晨0点清空为0
brief textNOTNULL, \#版 块 简 介 允 许HTML announcement textNOTNULL, \#版 块 公 告 允 许HTML accessonint(11)unsignedNOTNULLdefault'0', \#是否开启权限控制
orderbytinyint(11)NOT NULLdefault'0', \#默认列表排序,0:顶贴时间last\_d ate,1:发帖时间tid
create\_dateint(11)unsignedNOTNULLdefault'0', \#板块创建时间
iconint(11)unsignedNOTNULLdefault'0', \#板块是否有icon,存放最后更新时间
moduidschar(120)NOT NULLdefault'', \#每个版块有多个版主,最多10个:10\*
12=120,删除用户的时候,如果是版主,则调整后再删除。逗号分隔
seo\_titlechar(64)NOT NULLdefault'', \#SEO标题,如果设置会代替版块名称
seo\_keywordschar(64)NOT NULLdefault'', \# SEOkeyword PRIMARY KEY(fid)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
INSERT INTO bbs\_forum SET fid='1',name='默认版块',brief='默认版块介绍';
\# cache\_dateint(11)NOT NULLdefault'0', \#最后threadlist缓存的时间,6种排序前10页结果缓存。如果是前10页,先读缓存,并依据此字段过期。更新条件:发贴
\#版块访问规则,forum.accesson开启时生效,记录行数:fid\*gid
DROP TABLE IF EXISTS bbs\_forum\_access;
CREATE TABLEbbs\_forum\_access( \#字段中文名fidint(11)unsignedNOTNULLdefault'0', \# fid gidint(11)unsignedNOTNULLdefault'0', \#fid
allowreadtinyint(1)unsignedNOTNULLdefault'0', \#允许查看
allowthreadtinyint(1)unsignedNOTNULLdefault'0',\#允许发主题allowposttinyint(1)unsignedNOTNULLdefault'0', \#允许回复allowattachtinyint(1)unsignedNOTNULLdefault'0',\#允许上传附件allowdowntinyint(1)unsignedNOTNULLdefault'0', \#允许下载附件PRIMARY KEY(fid,gid)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\#论坛主题
DROP TABLE IF EXISTS bbs\_thread;CREATE TABLE bbs\_thread(
fidsmallint(6)NOT NULLdefault'0', \#版块id
tidint(11)unsignedNOTNULLauto\_increment, \#主题id
toptinyint(1)NOT NULLdefault'0', \#置顶级别:0:普通主题,1-3置顶的顺序
uidint(11)unsignedNOTNULLdefault'0', \#用户id
useripint(11)unsignedNOTNULLdefault'0', \#发帖时用户ipip2long(),主要用来清理
subjectchar(128)NOT NULLdefault'', \#主 题create\_dateint(11)unsignedNOTNULLdefault'0', \#发帖时间last\_dateint(11)unsignedNOTNULLdefault'0', \#最后回复时间
viewsint(11)unsignedNOTNULLdefault'0', \#查看次数,剥离出去,单独的服务,避免cache失效
postsint(11)unsignedNOTNULLdefault'0', \#回帖数imagestinyint(6)NOT NULLdefault'0', \#附件中包含的图片数filestinyint(6)NOT NULLdefault'0', \#附件中包含的文件数
modstinyint(6)NOT NULLdefault'0', \#预留:版主操作次数,如果>0,则查询modlog,显示斑竹的评分
closedtinyint(1)unsignedNOTNULLdefault'0', \#预留:是否关闭,关闭以后不能再回帖、编辑。
firstpidint(11)unsignedNOTNULLdefault'0', \#首 贴pid lastuidint(11)unsignedNOTNULLdefault'0', \#最近参与的uidlastpidint(11)unsignedNOTNULLdefault'0', \#最后回复的pidPRIMARYKEY(tid), \#主键
KEY(lastpid), \#最后回复排序
KEY(fid,tid), \#发帖时间排序,正序。数据量大时可以考虑建立小表,对小表进行分区优化,只有数据量达到千万级以上时才需要。
KEY(fid,lastpid) \#顶贴时间排序,倒序
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\#置顶主题
DROPTABLEIFEXISTSbbs\_thread\_top;CREATE TABLE bbs\_thread\_top(
fidsmallint(6)NOT NULLdefault'0', \#查找板块置顶
tidint(11)unsignedNOTNULLdefault'0', \#tid
topint(11)unsignedNOTNULLdefault'0', \#top:0是普通最新贴,>0置
顶贴。
PRIMARYKEY(tid), \#
KEY(top,tid), \#最新贴:top=0orderbytiddesc/全局置顶:
top=3
KEY(fid,top) \#版块置顶的贴fid=1andtop=1
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\#论坛帖子数据
DROP TABLE IF EXISTSbbs\_post;CREATE TABLE bbs\_post(
tidint(11)unsignedNOTNULLdefault'0', \#主题id
pidint(11)unsignedNOTNULLauto\_increment, \#帖子iduidint(11)unsignedNOTNULLdefault'0', \#用户id
isfirstint(11)unsignedNOTNULLdefault'0', \#是否为首帖,与thread.first pid呼应
create\_dateint(11)unsignedNOTNULLdefault'0', \#发贴时间
useripint(11)unsignedNOTNULLdefault'0', \#发帖时用户ipip2long()imagessmallint(6)NOT NULLdefault'0', \#附件中包含的图片数
filessmallint(6)NOT NULLdefault'0', \#附件中包含的文件数
doctypetinyint(3)NOT NULLdefault'0', \#类型,0:html,1:txt;2:mark down;3:ubb
quotepidint(11)NOT NULLdefault'0', \#引用哪个pid,可能不存在
message longtextNOTNULL, \#内容,用户提示的原始数据
message\_fmt longtextNOTNULL, \#内容,存放的过滤后的html内容,可以定期清理,减肥。
PRIMARY KEY(pid),
KEY(tid,pid)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\#论坛附件表 只能按照从上往下的方式查找和删除!此表如果大,可以考虑通过aid分区。
DROP TABLE IF EXISTS bbs\_attach;CREATE TABLE bbs\_attach(
aidint(11)unsigned NOT NULL auto\_increment,\#附 件id
tidint(11)NOT NULL default'0',\#主 题id pidint(11)NOT NULL default'0',\#帖 子id uidint(11)NOT NULL default'0',\#用 户id
filesizeint(8)unsignedNOTNULLdefault'0', \#文件尺寸,单位字节widthmediumint(8)unsignedNOTNULLdefault'0',\#width>0则为图片heightmediumint(8)unsignedNOTNULLdefault'0', \#height
filenamechar(120)NOT NULLdefault'', \#文件名称,会过滤,并且截断,保存后的文件名,不包含URL前缀upload\_url
orgfilenamechar(120)NOT NULLdefault'', \#上传的原文件名
filetypechar(7)NOT NULLdefault'', \#文件类型:image/txt/zip,小图标显示<iclass="iconfiletypeimage"></i>
create\_dateint(11)unsignedNOTNULLdefault'0', \#文件上传时间UNIX时间戳
commentchar(100)NOT NULLdefault'', \#文件注释 方便于搜索downloadsint(11)NOT NULLdefault'0', \#下载次数,预留creditsint(11)NOT NULLdefault'0', \#需要的积分,预留goldsint(11)NOT NULLdefault'0', \#需要的金币,预留rmbsint(11)NOT NULLdefault'0', \#需要的人民币,预留
isimagetinyint(11)NOT NULLdefault'0', \#是否为图片
PRIMARYKEY(aid), \#aid
KEYpid(pid), \#每个帖子下多个附件
KEY uid(uid)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\#我的主题,每个主题不管回复多少次,只记录一次。大表,需要分区。
DROPTABLEIFEXISTSbbs\_mythread;CREATE TABLE bbs\_mythread(
uidint(11)unsignedNOTNULLdefault'0', \#uid
tidint(11)unsignedNOTNULLdefault'0', \#用来清理,删除板块的时候需要
PRIMARY KEY(uid,tid) \#每一个帖子只能插入一次unique
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\# session表
\#缓存到runtime表。online\_0全局online\_fid版块。提高遍历效率。
DROP TABLE IF EXISTS bbs\_session;CREATE TABLE bbs\_session(
sidchar(32)NOT NULLdefault'0', \#随机生成id不能重复uniqueid()
13位
uidint(11)unsignedNOTNULLdefault'0', \#用户id未登录为0,可以重复fidtinyint(3)unsignedNOTNULLdefault'0', \#所在的版块
urlchar(32)NOT NULLdefault'', \#当前访问urlipint(11)unsignedNOTNULLdefault'0', \#用户ip
useragentchar(128)NOT NULLdefault'', \#用户浏览器信息
datachar(255)NOT NULLdefault'', \#session数据,超大数据存入大表。
bigdatatinyint(1)NOT NULLdefault'0', \#是否有大数据。last\_dateint(11)unsignedNOTNULLdefault'0', \#上次活动时间PRIMARY KEY(sid),
KEY ip(ip),KEY fid(fid),KEY uid(uid)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
DROPTABLEIFEXISTSbbs\_session\_data;CREATE TABLE bbs\_session\_data(
sidchar(32)NOT NULLdefault'0', \#
last\_dateint(11)unsignedNOTNULLdefault'0', \#上次活动时间
data textNOTNULL, \#存超大数据
PRIMARY KEY(sid)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\#版主操作日志
DROP TABLE IF EXISTS bbs\_modlog;CREATE TABLE bbs\_modlog(
logidint(11)unsignedNOTNULLauto\_increment, \# logid uidint(11)unsignedNOTNULLdefault'0', \#版主uidtidint(11)unsignedNOTNULLdefault'0', \#主 题id pidint(11)unsignedNOTNULLdefault'0', \#帖 子id subjectchar(32)NOT NULLdefault'', \#主题
commentchar(64)NOT NULLdefault'', \#版主评价
rmbsint(11)NOT NULLdefault'0', \#加减人民币,预留create\_dateint(11)unsignedNOTNULLdefault'0', \#时间actionchar(16)NOT NULLdefault'', \#top|delete|untop PRIMARY KEY(logid),
KEY(uid,logid),KEY(tid)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\#持久的key value数据存储,ttserver,mysql DROP TABLE IF EXISTS bbs\_kv;
CREATE TABLE bbs\_kv(
kchar(32)NOT NULL default'',v mediumtext NOT NULL,
expiryint(11)unsignedNOTNULLdefault'0', \#过期时间
PRIMARYKEY(k)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\#缓存表,用来保存临时数据。
DROPTABLEIFEXISTSbbs\_cache;CREATE TABLE bbs\_cache(
kchar(32)NOTNULLdefault'',v mediumtext NOTNULL,
expiryint(11)unsignedNOTNULLdefault'0', \#过期时间
PRIMARYKEY(k)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\#临时队列,用来保存临时数据。
DROP TABLE IF EXISTS bbs\_queue;CREATE TABLE bbs\_queue(
queueidint(11)unsignedNOTNULLdefault'0', \#队列id
vint(11)NOT NULLdefault'0', \#队列中存放的数据,只能为int expiryint(11)unsignedNOTNULLdefault'0', \#过期时间,默认0,不过期UNIQUEKEY(queueid,v),
KEY(expiry)
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8\_general\_ci;
\#系统表,id
\#MAXID表,几个主要的大表,每天的最大ID,用来削减索引create\_date\#day=0表示月;month=0AND day=0表示年
\#计划任务,1点执行。 不需要太精准,用来作为过滤条件。
\#可以有效的过滤冷热数据
DROPTABLEIFEXISTS`bbs\_table\_day`;CREATE TABLE `bbs\_table\_day`(
`year`smallint(11)unsignedNOTNULLDEFAULT'0'COMMENT'年', \#
`month`tinyint(11)unsignedNOTNULLDEFAULT'0'COMMENT'月', \#
`day`tinyint(11)unsignedNOTNULLDEFAULT'0'COMMENT'日', \#
`create\_date`int(11)unsignedNOTNULLDEFAULT'0'COMMENT'时间戳', \#
`table`char(16)NOTNULLdefault''COMMENT'表名', \#
`maxid`int(11)unsignedNOTNULLDEFAULT'0'COMMENT'最大ID', \#
![](https://img.kancloud.cn/fe/c5/fec53588eca168b906f3e894e110eb9a_31x31.png)![](https://img.kancloud.cn/07/37/0737da087836e783fa1e9fccc19cb34e_31x32.png)![](https://img.kancloud.cn/22/0c/220c128d82df5bfcd044631b1f1c4f29_20x31.png)
`count`int(11)unsignedNOTNULLDEFAULT'0'COMMENT'总数',PRIMARY KEY(`year`,`month`,`day`,`table`)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
\#
- Xiuno BBS 入门
- Xiuno BBS 是什么?
- 如何获取?
- 如何安装?
- URL-Rewrite 网址美化
- URL-Rewrite 网址美化
- 转发规则Nginx:
- Apache:
- Apache .htaccess
- Apache httpd.conf
- 性能优化
- 前端技术栈
- Bootstrap 4
- Bootstrap 4.0
- 效果:
- 中文资料:
- JQuery 3
- JQuery 3.1
- 效果:
- Tether.js
- Tether.js
- 效果:
- 官方网站:
- Fontawesome
- Fontawesome
- 部分图标预览
- xiuno.js
- xiuno.js 是什么?
- Xiuno.js 是什么?
- 效果:
- $.alert()
- $.alert()
- 程序结构
- 目录结构
- Xiuno BBS 4.0 目录结构
- 表结构
- Xiuno BBS 4.0 表结构
- MVC 分层架构
- MVC 分层架构
- 图例:
- 插件开发
- Hello, Xiuno Plugin!
- Hello, Xiuno Plugin!
- 补充:
- hook 机制
- Hook 机制
- overwrite 机制
- Overwrite 机制
- 风格模板
- 风格模板
- 发布你的插件
- 风格模板
- 插件示例
- 插件示例
- 一个单页的例子
- 一个单页的例子
- 常见问题
- post 表中的 message message_fmt 字段的区别?
- 论坛帖子数据
- 如何调用百度编辑器?
- 如何调用百度编辑器?
- Xiuno BBS 4.0 中的几种缓存 API
- 插件互相卸载机制
- 插件互相卸载机制
- 其他
- JSON API
- GET:
- POST:
- 注意: