表白墙欢迎
表白墙海报
#程序简介
表白是最短的咒,抑或是最深的玛绊!
一个悄悄话平台,大家可以跟自己喜欢的人公开表白,让大家不留遗憾!
#wikihttps://wiki.521wall.cn

#Demohttps://521wall.cn
qr

#截图演示
表白墙首页
表白墙校区
表白墙校区开通
表白墙搜索
表白墙后台


#MVC
第一阶段:修复原作者各方面BUG|完成
第二阶段:重写程序,前端移植ThinkPHP5.0,完善功能,开发后端基于X-admin|完成
第三阶段:修复第二阶段Bug,开发新功能|奋斗ing
第四阶段:上线小程序|未开启

1.0版本,由@折影轻梦编写[文末给出开源地址]
1.0以后版本,由@猫腻 & @久念 & @Mr.Cheng编写[贡献不分前后]

#食用方法-必须认真阅读

Step1:设置运行二级目录为public
Step2:设置伪静态为Think PHP-自行百度
Step3:导入根目录love.sql数据库文件
Step4:修改application/database.php 数据库链接数据
Step5:配置发信邮箱信息,编辑 extend\PHPMailer\SendEmail.php 文件,否则无法对提交的校区进行审核开放!
附:P.S. 后台:/admin  帐号:admin  密码:521wall.cn

虚拟机设置方法查看https://www.kres.cn/33.html

#推荐域名-注册请留言以便删除已注册
以下域名仅博主查询后为未注册
love域名可以备案哦且西部数码首年只要26Rmb
eager.love{渴望爱} 推荐注册5位
admire.love{欣赏爱}
bravy.love{勇敢爱}推荐注册5位
maintain.love{保持爱}
sink.love{陷入爱} 强烈推荐注册4位

#QQ群
731468605

#更新说明
@ 2.1(not start)

1.安装向导
2.开发自主版权全新模板
3.表白信息采用QQ互联登录
4.安全模块优化
5.表白记录监测是否与上一条重复内容
6.后台设置是否进入默认校区
7.更新前端最新内核为ThinkPHP6
8.修复已知上个版本Bugs,优化部分算法,提升用户交互体验

@ 2.0

    • 前端

      框架采用ThinkPHP5
      支持插件:
      JQuery:Jquery.barragerjs

    • 后端

      框架采用X-admin基于开源内核Layui

    1. 新增评论页面并加入弹幕功能
    2. 新增 表白、评论 敏感词汇 与 表白频率限制-友好提醒
    3. 新增校区分类(包括 自助申请提交校区请求)
    4. 新增关于页面(开发历程)
    5. 公告获取最新公告(避免每次浏览都需要看一样公告,提升用户体验)
    6. 左底悬浮集成部分必要功能
    7. 人性化设计(天气 一言 热度)
    8. 修复致命漏洞某数据接口直接发包策略
    9. 修复已知上个版本Bugs,优化部分算法,提升用户交互体验

    @ 1.5

    1. 修复发布时间限制
    2. 移植前端,采用开源框架Think PHP5
    3. 引入前端框架LayUI

    #开源地址
    1.0以后版本

    https://pro.kres.cn/form/index/bugsubmit

    1.0版本

    1
    提起七夕博主是一脸泪水,就在前几天我分手了。是她提出来的,原因是“性格不合”,在一起很累。其实很多人都有遇到这样的分手理由。但博主想说,如果说累就要分手,亦或者是性格不合而分手,那么我想说你们就不要开始。既然知道性格不合为什么要开始,还是不够喜欢罢了。谈恋爱就是两个人的事情,无论另一方怎么努力都是徒劳。所以当两个人付出平等时,你们的感情才能坚固。不能说累了就分手就放弃,那么早知今日何必当初?这样会给用心的那一方造成很大的伤害。我现在明白了什么所谓的渣男,那是因为他极其用心过后依旧输得一败涂地,伤得遍体鳞伤,所以很难在去用心了。我希望大家确认关系前要想清楚俩个人到底合适不合适,能不能坚持到最后在确认关系!如果抱着玩玩的态度那就不用考虑了。最后提醒一下广大男同胞,千万要对自己好一点!切记:一定少花钱!拿不准的就不要太用心。另外要学会珍惜,不要等到失去后才珍惜,那样已经来不及了。
    最后博主祝有情人终成眷属!
    PS:这都是博主自己的见解仅供参考。

    2

    我很想你,我有很多话想说给你听,我存了很多眼泪和笑容,还存了七个夜晚的月亮,我想你能亲亲我的眼睛,摸摸我的嘴唇,然后低下头一字一句的听我说,我好想你。
    ——网易云音乐热评 黄恺《我们好像》
    我还是喜欢你,像风走了八千里不问归期,我还是喜欢你,像云漂泊九万里不曾停歇,我还是喜欢你,像日光洒满天地温柔惬意,我还是喜欢你,因为我能一辈子都为你心有独钟。
    ——网易云音乐热评 焦混响《心有独钟》
    “明明那个人还在,可以打电话,可以发信息,但你没有任何立场,他永远不再是你的了,那种感觉真的特别难过”
    ——网易云音乐热评 焦混响《心有独钟》

    因为开发版后面又换了一次 Markdown 引擎,而该引擎是 Joyqi 大佬在为 SegmentFault 开发的 Markdown 引擎的基础上发展而来的,而对于 SegmentFault 的环境而言,直接输出 HTML 代码是极其不安全的,所以其引擎将其中的 HTML 代码全部转义后输出,Typecho 开发版的 Markdown 引擎自然也继承了这一特性。但对于个人博客而言却并不是这样,因此,大佬在后续的更新中添加了一个特权模式,也就是以下正文所说的东西。

    正文

    要在 Typecho 开发版中使用特权模式直接输出 HTML 代码,只需要使用 !!! 将需要直接输出的代码包起来即可。

    !!!
    <p>Hran is S<span class="hiden">B</span></p>
    !!!

    如上,即可直接输出:

    <p>Hran is S<span class="hiden">B</span></p>

    例如:某些插件要求特殊的格式以便插件进行识别并输出特定的内容,但不巧的是,他们是用了会被转义的 <> 或其他类似字符,导致最终结果出来以后,插件并没有生效,那么,这种情况下便可以使用此特权模式,将插件的特殊内容进行包裹,以使插件正常工作。

    !!!
    <jw params="forgot"></jw>
    !!!

    原文地址

    • handsome主题适用 改动不大

    修改的有3个文件

    1.component/sidebar.php
    2.新增CSS文件
    3.component/header.php
    先放个效果图:
    彩色标签
    一.用以下这段代码替换原有的标签云

    <section id="tag_cloud-2" class="widget widget_tag_cloud wrapper-md clear">
            <h3 id="tag-cloud-title" class="widget-title m-t-none text-md"><?php _me("标签云") ?></h3>            
            <div class="tags l-h-2x">
            <?php Typecho_Widget::widget('Widget_Metas_Tag_Cloud','ignoreZeroCount=1&limit=30')->to($tags); ?>
            <?php if($tags->have()): ?>
                <?php while ($tags->next()): ?>
                <span id="tag-clould-color"  style="background-color:rgb(<?php echo(rand(0,255)); ?>,<?php echo(rand(0,255)); ?>,<?php echo(rand(0,255)); ?>)">
                    <a  href="<?php $tags->permalink();?>"  title="<?php echo sprintf(_mt("该标签下有 %d 篇文章"),$tags->count); ?>" data-toggle="tooltip" >
                    <?php $tags->name(); ?></a>
                </span>
                <?php endwhile; ?>
            <?php endif; ?>
            </div>
        </section>

    二.新增CSS文件 文件名只要不是中文 随你心情

    /* tag-clould-color 彩色标签云 */
    #tag-clould-color {
        padding: 3px 10px 3px 10px;
        border-radius: 10px;
        color: #FFFFFF;
        margin: 3px 3px 3px 0;
        display: inline-block;
    }

    建议统一放置于assetscss目录下

    三.在header中引入文件

    <link rel="stylesheet" href="<?php echo STATIC_PATH; ?>css/你的CSS文件名.css" type="text/css">

    更改完在本地看一下效果 检查一下没什么问题就可以丢到服务器上辣~

    浏览器如果没有效果 请检查你的CDN缓存设置
    以及清除浏览器缓存刷新再试

    其实原理就是,给body绑定点击事件,然后随机创建爱心的元素,颜色也是随机生成的,并配合定时器,加上css3的一些特效即可。

    • 代码如下:
    <script>
    !function(e, t, a) {
        function r() {
            for (var e = 0; e < s.length; e++) s[e].alpha <= 0 ? (t.body.removeChild(s[e].el), s.splice(e, 1)) : (s[e].y--, s[e].scale += .004, s[e].alpha -= .013, s[e].el.style.cssText = "left:" + s[e].x + "px;top:" + s[e].y + "px;opacity:" + s[e].alpha + ";transform:scale(" + s[e].scale + "," + s[e].scale + ") rotate(45deg);background:" + s[e].color + ";z-index:99999");
            requestAnimationFrame(r)
        }
        function n() {
            var t = "function" == typeof e.onclick && e.onclick;
            e.onclick = function(e) {
                t && t(),
                o(e)
            }
        }
        function o(e) {
            var a = t.createElement("div");
            a.className = "heart",
            s.push({
                el: a,
                x: e.clientX - 5,
                y: e.clientY - 5,
                scale: 1,
                alpha: 1,
                color: c()
            }),
            t.body.appendChild(a)
        }
        function i(e) {
            var a = t.createElement("style");
            a.type = "text/css";
            try {
                a.appendChild(t.createTextNode(e))
            } catch(t) {
                a.styleSheet.cssText = e
            }
            t.getElementsByTagName("head")[0].appendChild(a)
        }
        function c() {
            return "rgb(" + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + ")"
        }
        var s = [];
        e.requestAnimationFrame = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame ||
        function(e) {
            setTimeout(e, 1e3 / 60)
        },
        i(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),
        n(),
        r()
    } (window, document);
    </script> 
    • 如何使用?

    将上面的代码复制到你网站footer底部即可,你也可以自己再另外新建一个js文件存放。

    原文地址

    #食用方法
    ①将文末的css丶js丶images压缩包解压到服务器中
    ②将下面这段PHP引入你的文件中即可

    <!-- music -->
    <!--播放器 -->
    <link rel="stylesheet" href="./css/player.css">
    <div id="QPlayer">
      <div id="pContent">
        <div id="player"> <span class="cover"></span>
          <div class="ctrl">
            <div class="musicTag marquee"> <strong>Title</strong> <span> - </span> <span class="artist">Artist</span> </div>
            <div class="progress">
              <div class="timer left">0:00</div>
              <div class="contr">
                <div class="rewind icon"></div>
                <div class="playback icon"></div>
                <div class="fastforward icon"></div>
              </div>
              <div class="right">
                <div class="liebiao icon"></div>
              </div>
            </div>
          </div>
        </div>
        <div class="ssBtn">
          <div class="adf"></div>
        </div>
      </div>
      <ol id="playlist">
      </ol>
    </div>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script src="./js/jquery.marquee.min.js"></script>
    <script>
        var    playlist = [    
    {title:"Sadden E Say Yo",artist:"Various Artists",mp3:"http://music.163.com/song/media/outer/url?id=34003174.mp3",cover:"https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=2085557345,1596804370&fm=179&app=42&f=JPEG?w=150&h=150",},
    {title:"Where Is the Love",artist:"Josh Vietti",mp3:"http://music.163.com/song/media/outer/url?id=28828076.mp3",cover:"https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3844781748,3237739597&fm=58&bpow=960&bpoh=634",},
    {title:"Send It ",artist:"Austin Mahone,Rich Homie Quan",mp3:"http://music.163.com/song/media/outer/url?id=426291544.mp3",cover:"https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=2851431503,2395572788&fm=58&bpow=500&bpoh=500",},
    ];
      var isRotate = 1;
      var autoplay = 0;  
    </script>
    <script src="./js/player.js"></script>
    <script>
    function bgChange(){
        var lis= $('.lib');
        for(var i=0; i<lis.length; i+=2)
        lis[i].style.background = 'rgba(246, 246, 246, 0.5)';
    }
    window.onload = bgChange;
    </script>
      <!-- / music -->

    #自动播放
    var autoplay = 0;把参数改为1
    #下载链接

    原文地址

    演示

    话不多说,直接上代码:

    <style>
    .gradient0 {
        background: linear-gradient(to right,#5ccdde,#fa3f30,#563b5f,#5dc13a,#2b403c,#28438f,#e9e596,#8d0288);
        background-size: 2000%;
        animation: gradientBackground 5s alternate ease-out;
        animation-iteration-count: infinite
    }
     
    .gradient1 {
        background: linear-gradient(to right,#5ccdde,#eb0828,#456840,#27e52a,#aa5e31,#be77e1,#39693d,#6305bc);
        background-size: 1624%;
        animation: gradientBackground 9s alternate ease-out;
        animation-iteration-count: infinite
    }
     
    .gradient2 {
        background: linear-gradient(to right,#5ccdde,#c78dd7,#cfa58a,#9500f1,#d634b9,#2eec98,#4d2ea6,#f9857b);
        background-size: 1898%;
        animation: gradientBackground 8s alternate ease-out;
        animation-iteration-count: infinite
    }
     
    .gradient3 {
        background: linear-gradient(to right,#5ccdde,#0ca282,#5039ea,#a97b90,#b6fdf8,#db4978,#f3bcb5,#6b0adf);
        background-size: 1915%;
        animation: gradientBackground 8s alternate ease-out;
        animation-iteration-count: infinite
    }
     
    .gradient4 {
        background: linear-gradient(to right,#5ccdde,#5c2b1b,#b2464d,#9b20e3,#281c5a,#dabbff,#62ca9b,#dcbfb9);
        background-size: 1574%;
        animation: gradientBackground 9s alternate ease-out;
        animation-iteration-count: infinite
    }
     
    .gradient5 {
        background: linear-gradient(to right,#5ccdde,#6dce22,#04763e,#0dd58e,#fcd294,#06b8f4,#c0f78d,#c58451);
        background-size: 1624%;
        animation: gradientBackground 9s alternate ease-out;
        animation-iteration-count: infinite
    }
     
    .gradient6 {
        background: linear-gradient(to right,#5ccdde,#c61e1f,#9fddc4,#ce7290,#523618,#3d047e,#076c5d,#dd0016);
        background-size: 1933%;
        animation: gradientBackground 9s alternate ease-out;
        animation-iteration-count: infinite
    }
     
    @keyframes gradientBackground {
        0% {
            background-position: 0 0
        }
     
        50% {
            background-position: 50% 100%
        }
     
        100% {
            background-position: 100% 0
        }
    }
    </style>
     
    <div class="gradient0" style="width:98%;height:4em;margin:auto;"></div>
    <div class="gradient1" style="width:98%;height:4em;margin:auto;"></div>
    <div class="gradient2" style="width:98%;height:4em;margin:auto;"></div>
    <div class="gradient3" style="width:98%;height:4em;margin:auto;"></div>
    <div class="gradient4" style="width:98%;height:4em;margin:auto;"></div>
    <div class="gradient5" style="width:98%;height:4em;margin:auto;"></div>
    <div class="gradient6" style="width:98%;height:4em;margin:auto;"></div>

    原文地址