基于SSM和Vue的仿贴吧论坛系统,前后端分离

        平时大家经常使用诸如贴吧等论坛,但是有没有想自己搭建一个或者拿来学习使用呢?今天介绍的就是一个基于SSM和Vue的仿贴吧论坛系统,可以修改完善一下用于自己的论坛搭建或者在校生用于大作业参考。

使用的主要技术

后端:JAVA语言、SSM框架、MySql数据库

前端:Vue

        SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。

        Vue是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用(SPA)提供驱动。

        MySQL是一个关系型数据库管理系统由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

实现的主要功能

用户可以注册、登录、发帖、查看内容等,管理员可以管理用户、帖子、公告等;

部分代码展示

<template>
    <div class="fillcontain">
        <headTop></headTop>
        <div class="search-root">
            <el-form :model="ruleForm" label-width="110px" class="demo-formData" style="margin-top: 10px">
                <el-form-item label="关键字" prop="title">
                    <el-input v-model="keyWords" placeholder="请输入关键字" style='width: 600px' clearable>
                        <el-select v-model="ruleForm.keySelect" slot="prepend" placeholder="ruleForm.keySelect" style="width: 130px;">
                            <el-option label="标题名称" value="1"></el-option>
                            <el-option label="文章ID" value="2"></el-option>
                            <el-option label="作者ID" value="3"></el-option>
                        </el-select>
                    </el-input>
                </el-form-item>
            </el-form>
            <el-form :model="ruleForm" :inline="true" label-width="110px" class="demo-formData" style="margin-top: 10px">
                <el-form-item label="种类">
                    <el-select v-model="ruleForm.selectType" placeholder="ruleForm.selectType">
                        <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value">
                        </el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="标签">
                    <el-select v-model="ruleForm.selectTag" placeholder="ruleForm.selectTag">
                        <el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value">
                        </el-option>
                    </el-select>
                </el-form-item>
            </el-form>
            <div style="text-align: left;padding-left: 110px;">
                <el-button @click="dealSearchJokes()" type="primary" size="small">确定</el-button>
                <el-button @click="resetForm()" size="small">重置</el-button>
            </div>
        </div>
        <div class="table_container">
            <el-table :data="tableData" highlight-current-row>
                <el-table-column type='expand'>
                    <el-form slot-scope="props" label-position="left" inline class="demo-table-expand">
                        <el-form-item label="作者ID">
                            <span>{{ props.row.jokeUserId }}</span>
                        </el-form-item>
                        <el-form-item label="评论数">
                            <span>{{ props.row.articleCommentCount }}</span>
                        </el-form-item>
                        <el-form-item label="点赞数">
                            <span>{{ props.row.articleLikeCount }}</span>
                        </el-form-item>
                        <el-form-item label="分类">
                            <span>{{ props.row.category }}</span>
                        </el-form-item>
                        <el-form-item label="标签">
                            <el-tag v-for='i in props.row.tags' size='small' type="success" style="margin-right: 10px">{{JOKE_TAGS[i]}}</el-tag>
                        </el-form-item>
                        <el-form-item label="首页图片">
                            <el-image @click='showImg(props.$index,props.row)' style="width: 120px; height: 120px; margin-top:10px;" class="avatar" v-if="props.row.coverImg" :src="props.row.coverImg"></el-image>
                        </el-form-item>
                        <el-form-item label="文章地址">
                            <el-link href="http://www.baidu.com" target='_blank' type="primary">{{ props.row.title }}</el-link>
                        </el-form-item>
                    </el-form>
                </el-table-column>
                <el-table-column type="index">
                </el-table-column>
                <el-table-column property="title" label="标题">
                </el-table-column>
                <el-table-column property="jokeUserNick" label="段子作者">
                </el-table-column>
                <el-table-column property="postTime" label="发布时间" sortable>
                </el-table-column>
                <el-table-column property="jokeId" label="段子ID">
                </el-table-column>
                <el-table-column property="city" label="操作">
                    <template slot-scope="scope">
                        <el-button size="mini" @click='dealComment(scope.$index,scope.row)'>评论</el-button>
                        <el-button size="mini" @click='dealDelete(scope.$index,scope.row)' type="danger">
                            删除</el-button>
                    </template>
                </el-table-column>
            </el-table>
            <div class="Pagination" style="text-align: left;margin-top: 10px;">
                <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-size="row" layout="total, prev, pager, next" :total="count">
                </el-pagination>
            </div>
            <el-dialog title="预览" :visible.sync="dialogImgVisible" width="50%">
                <el-image style="width: 90%; height: auto; margin-top:10px;" class="avatar" v-if="selectTable.coverImg" :src="selectTable.coverImg"></el-image>
            </el-dialog>
            <el-dialog title="提示" :visible.sync="dialogVisible" width="25%">
                <span>确定删除《{{selectTable.title}}》这个段子吗?</span>
                <span slot="footer" class="dialog-footer">
                <el-button @click="dialogVisible = false">取 消</el-button>
                <el-button type="primary" @click="deleteJoke(selectIndex,selectTable.jokeId)">确 定</el-button>
                </span>
            </el-dialog>
            <el-dialog title="评论列表" :visible.sync="dialogCommentVisible" width="60%">
                <comment :jokeId="selectTable.jokeId" :isShowComment='dialogCommentVisible'></comment>
            </el-dialog>
        </div>
    </div>
</template>

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
该源码是高仿百度吧HTieBa源码 v1.2,源码实现了海狸吧是一个简易高效的交流平台。这款产品很适合用于公司内部员工交流,地方门户网站网友交流。相比论坛,最大优点是网友们都很熟悉操作,因为它是仿百度吧。后面版本将集成仿百度搜索引擎 功能更加丰富。 支持多数据库 支持主流数据库(excel,access,sqlserver,mysql,oracle),满足用户不同需求。 集成了通行证系统 支持多个网站用同一个账号库,实现多站同步登录退出,用户体验更好,有利于网站管理和运营。 后面版本将集成仿百度搜索引擎 功能更加丰富。 支持多数据库 支持主流数据库(excel,access,sqlserver,mysql,oracle),满足用户不同需求。 集成了通行证系统 支持多个网站用同一个账号库,实现多站同步登录退出,用户体验更好,有利于网站管理和运营。 相比论坛,最大优点是网友们都很熟悉操作 因为它是仿百度吧。 后面版本将集成仿百度搜索引擎 功能更加丰富。 支持多数据库 支持主流数据库(excel,access,sqlserver,mysql,oracle),满足用户不同需求。 集成了通行证系统 支持多个网站用同一个账号库,实现多站同步登录退出,用户体验更好,有利于网站管理和运营。 相比论坛,最大优点是网友们都很熟悉操作 因为它是仿百度吧。 后面版本将集成仿百度搜索引擎 功能更加丰富。 支持多数据库 支持主流数据库(excel,access,sqlserver,mysql,oracle),满足用户不同需求。 集成了通行证系统 支持多个网站用同一个账号库,实现多站同步登录退出,用户体验更好,有利于网站管理和运营。
软件介绍 吧123(tieba123仿百度吧)可以快速建立单吧/多吧的高效率高可控性轻量级简洁讨论区,推荐用在学校、地区、行业等网站,也可以用本程序建立大型综合性讨论区,同样高效高负载。 注意:因为采用了application做缓存,所以在服务器进程回收的时候偶尔会显示出错信息,刷新一下就好了,如果网站有访问量的话,仅在每天第一次访问的时候会出现这个问题。 吧123(tieba123仿百度吧) 20120308 更新列表 3.52版 首页进行改版 使用了部分缓存 优化各个页面,打开速度均有提高 页面显示时内容先显示,广告推迟显示 增加了只看楼主功能 增加了qq登陆功能 进行了大数据量环境下的测试 修改了编辑器 去掉了图片防盗部分的代码 修改了sql查询,去掉了影响效率的数据汇总部分 吧加入会员的功能进行了调整 新建吧增加了权限的控制 手机也可以新建吧123(tieba123仿百度吧)特点: 电脑和手机都能自由访问,手机版也可管理帖子 单吧、多吧自由切换,可以先建立单吧,等时机成熟再改成多吧,后台控制 尽量模仿现有的成熟吧程序,符合人们的使用习惯 高效率,同时支持access/mssql数据库,可自由转换 多广告位,可以随设置广告,也可以设置全站广告,手机版也有相应广告位 在国外主机上表现良好,兼容性强 用户名和密码均为admin 管理地址为 http://xxxx.com/admin

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值