×

飞趣william hill官网 系统

消耗积分:2 | 格式:zip | 大小:6.99 MB | 2022-06-10

王越建

分享资料个

授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件

软件简介

飞趣社区开源版本。此项目使用了hutool工具类(https://www.hutool.club/)作支撑,参考 zheng项目以及 ruoyi的项目、https://gitee.com/vakinge/jeesuite-libshttps://gitee.com/frankchenlong/plumelog 。

页面ui使用了layui,集成了阿里云oss(支持前端和后端上传)、七牛云,支持代码自动生成(generate 模块的cssgenerator,main方法生成),支持多数据源,减去了70%的工作量,让你更多的精力放在写业务代码的过程中。

当然这个项目还可以用来给你们公司做前端展示页面,也是非常方便的。

软件架构

使用java作为后端开发 使用springboot、mysql、druid、 mybatis、pagehelper、javamail、redis、beetl、hutool、layui、jeesuite、webmagic相关技术集成开发的一个web应用 并且支持爬虫、发邮件。你想要的功能在这应有尽有,如果你还希望集成什么,欢迎提issue

用户信息是通过cookie保存的,(如果登录的时候是记住自己)为期30天

安装教程

  1. mysql创建一个数据库 cwd_boring
  2. 导入sql sql目录下面的sql文件
  3. 安装redis 6379端口

使用说明

  1. 使用jdk8

  2. mysql 5.7 用户名密码 root root

  3. 配置文件里面为 application-dev.yml: feiqu-redis: servers: localhost:6379

    1. #redis服务的ip和端口 password: mail: default-encoding: utf-8 host: smtp.qq.com

    2. #改成你的邮件主机 username: 123@qq.com #邮件服务 登陆用户名 password: 2333

    3. #邮件服务 登陆密码 必须改为自己的配置才能生效 java类里面

    4. com.feiqu.framwork.constant.CommonConstant.USER_ID_COOKIE com.feiqu.framwork.constant.CommonConstant.USER_COOKIE_SECRET com.feiqu.framwork.constant.CommonConstant.FORGET_PASSWORD_SECRET 必须改为自己的配置才能生效

  4. ip2region.db (获取ip的)-> \feiqu-opensource\feiqu-front\src\main\resources\ip2region\ip2region.db 转移到自己的文件位置 application-dev.yml:22 这个是参考的https://gitee.com/lionsoul/ip2region 大家也可以去 https://gitee.com/lionsoul/ip2region/blob/master/data/ip2region.db 下载最新的文件 然后放到对应的目录就可以了

  5. com.feiqu.framwork.aspectj.DataSourceAspect 多数据源 通过反射判断

  6. 阿里云和七牛云的配置在——》

    1. feiqu-opensource\feiqu-front\src\main\resources\application.properties

    2. 七牛云 public.filesystem.provider=qiniu public.filesystem.bucketName=*** public.filesystem.urlprefix=*** public.filesystem.accessKey=*** public.filesystem.secretKey=*** picUrl = FileSystemClient.getPublicClient().upload(CommonConstant.FILE_NAME_PREFIX+currentTimeMillis+".jpg", img);

    3. 阿里云 aliyun.filesystem.bucketName=*** aliyun.filesystem.endpoint=*** aliyun.filesystem.accessKey=*** aliyun.filesystem.secretKey=*** aliyun.filesystem.urlprefix=*** 使用:videoUrl = FileSystemClient.getClient("aliyun").upload("video/"+fileName,localFile); 改成你想要的 注意跨域和url_prefix

  7. 支持第三方登陆 现已集成了qq、微博 微信好像要钱就没弄。。。。 application.properties里面 app_id_qq=*** app_key_qq=*** app_id_sina=*** app_key_sina=*** 改成自己的就可以了 记得到qq互联之类的绑定自己的域名哦 https://connect.qq.com/?id=1 微博去微博开发者平台绑定

  8. 没有写专门的后台 就直接放在前端了 把用户的角色 cwd_boring.fq_user的role字段改成1 就是管理员角色了 点击用户头像进去 可以看到左侧的tab多了很多菜单项 那就是后台管理员的操作地方

  9. 代码生成放在\feiqu-opensource\feiqu-generator 项目中 具体的类是:com.feiqu.generator.util.CSSGenerator 在main方法里面:generator(Global.getConfig("gen.packageName"),true,LAST_INSERT_ID_TABLES,false,"FQ_USER_PAY_WAY"); 这句话 把最后一个参数改成自己想要生成代码的表(我比较喜欢这样)

  10. 支持登陆用户更换背景图片 (pg:一开始运行起来的项目 基本上都是空页面)

  11. 文章发表支持富文本 适用quill框架,相信大家都知道(网上找了很多)

  12.  application.yml  profile 配置开发环境和开发环境 每次打包的时候只要切换一下 我感觉挺好的

  13. redis和mysql的密码都是通过aes加密的,工具类在:com.feiqu.common.utils.AESUtil,避免了明文展示密码。 feiqu-system 是和数据库打交道的

  14. com.feiqu.framwork.init.FeiquInitTrigger和com.feiqu.framwork.init.Initialize是两个初始化的方法,大家可以抽空看一下

  15. 我抽出了一个定时任务模块,仿照ruoyi的,SysJobController:在这里面提供图形化的任务界面管理

  16. 这个项目没有后台,通过修改fq_user表的role字段,如果是1,就是管理员。 你们可以看下这个页面:templates/common/_user_menu.html 后台相关的代码没有开源,不过可以参考ruoyi的,因为我就是参考它做的

  17. 私信模块报错的,是mysql的group by问题,可以百度一下解决方案

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"//m.obk20.com/www/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'飞趣william hill官网 系统',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"https://www.elecfans.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);