标签: 模块

  • WordPress子比主题6.9.1

    WordPress子比主题6.9.1

    Zibll子比主题专为阅读类网站开发,设计简约优雅、功能全面。UI界面模块化、多种布局、多种显示效果可选择,高度自由化,更容易搭配出自己喜欢的网站。支持付费阅读,付费下载,付费视频的支付功能和完善用户VIP会员系统加上强大的模块化编辑器工具,为站长提供有力的生产力。整体的开发理念都是围绕着阅读体验,减少花里胡哨的无用功能,把核心都集中在内容上。页面的布局、间距、功能都精心设计,只为让页面浏览更加自然,让用户更加易于阅读,让作者更加易于写作。

    推荐WordPress程序升级到最新版;推荐PHP7.4版本,推荐使用宝塔面板搭建,本主题运行更加稳定

    夜间客服不在线,可正常购买,付费后,就会有下载地址,有任何问题可给客服留言

    这个主题不用多解释,版本为6.9.1,强烈建议用户登录后再付费下载,因为我们网站主题为持续更新版本,未登录无法享受免费更新。

    破解主题没法和正版主题媲美,毕竟正版价格是我们的几十倍,可能存在个别功能无法使用,请知晓

    如果您追求完美,请您去购买正版主题,我们提供的破解主题后台设置,前端显示和子比官方相似度极高,仅供大家学习使用,破解主题不支持商用,会存在安全隐患,希望大家支持正版,购买地址 https://www.zibll.com/pay-zibll  售价为599元

  • WordPress社区论坛类主题:LightSNS1.5.2免授权破解版

    WordPress社区论坛类主题:LightSNS1.5.2免授权破解版

    LightSNS,是一款由国人开发的WP主题,主题主打社交、论坛,支持用户系统,支持多方支付接入,包含多个板块论坛、问答、VIP、充值、付费可见等一系列强大的系统。资源来自网络,有没有后门不知道,自己玩可以,如果用来做站,建议买正版。主题介绍强大SNS轻社交/论坛wordpress主题LightSNS 是由国人一手打造的轻社交SNS主题,自主开发框架,主题集成了微博/贴吧等模块,无需额外插件,细节也做的非常强大 目前你看到的这款主题的功能绝对超出你的想象,你也可以不把他当作一个主题。因为LightSNS已经超出了主题的定义。LightSNS 主打轻社交,用户互动,完全打破个人网站的为了产生内容而产生内容的僵局。让网站更具人气。
    主题特色:
    主题基本集成功能:响应式设计,完美自适应移动设备端、兼容主流浏览器、拥有强大的后台功能、集成强大SEO优化功能、导航栏支持二级菜单;
    集成会员中心模块:支持用户自主上传头像、用户自主上传封面、拥有大V认证、VIP会员系统、私信系统、充值系统、金币系统、用户等级系统、支持签到功能、用户关注功能、被关注/赞/赏等提醒功能;
    集成SNS社交功能:支持发表五种类型动态(付费、密码、私密、匿名)以及普通动态(说说,音乐,图片,视频)、支持用户转发动态、动态@他人功能、动态点赞功能、动态留言等功能;
    集成BBS论坛功能:支持无限创建论坛(板块)、支持子版块、支持后台设置版主(管理)、支持帖子管理功能(置顶,删除,加精)、支持论坛自定义设置(封面图、头像、付费功能,验证码,公告,论坛介绍等)、支持贴内@他人等功能。

  • 毕业设计源码:学生综合素质评价WEB系统

    一、介绍
    本科毕业设计,可以帮助高校更好的开展学生综合素质评价工作。
    系统特色功能
    • 预先配置加分规则,根据加分规则提交学分申请、审核学分申请,非常丝滑~
    • 可视化呈现学生的综合素质成长情况(尚处于开发阶段),形成一份”第二课堂成绩单“。
    • 根据学生的各种赛事经历形成一份简历,后续可能考虑开发一个简单的简历制作模块
    • 自动计分并基于”学分法“给出排名。后续可能会增加质性评价模块,实现质性评价和量化评价相结合。
    • 自由配置综合素质评价指标,满足不同专业的学生培养要求。
    • 各项功能均比较完善,包括学生申请与审核、异议提交和审核、自动化加分与排名、评价结果和配置文件导出、学生名单和成绩文件导入、学生账号管理等。



    系统设计理念说明

    • 系统的核心设计理念理解起来可能会比较生涩,专门研究过学生综合素质评价这一块的应该会比较清楚。综合素质评价说简单点可以看作是期末综评、评优评奖的时候需要做的事情。
    • 一般来说,学校会根据学生的比赛获奖、社会实践等给学生加分,排名靠前的可以获得奖学金、荣誉称号甚至保研资格。
    • 这些比赛、社会实践加分以往基本都是通过学生复印纸质材料,然后提交excel表格,然后由学委汇总这一套流程实现的。一些学生已经有了信息化的系统,但是迄今为止的本科和现在研究生院校都没怎么用。原因可能是学习这个系统的成本比较高吧;也可能是已有的系统不够灵活,不能满足不同学院、不同专业的个性化要求。
    • 这个系统会将比赛单独出来,因为根据我个人的经历,比赛在高校加分中占比算是比较大的。除了比赛之外的加分项,称之为”其他“,比如班干部加分、团日活动加分等。
    • 由于一些高校会给不同的比赛不同的加分等级,同一个比赛获奖的不同级别加分肯定也是不同的,因此可以通过配置文件来提前配置好。
    • 比如我写个json文件,国家级一等奖加多少分,国家级二等奖加多少分,先配置好,学生提交学分申请的时候只需要选择对应的等级就可以了;同时,老师审核的时候,只需要关注学生选择的等级是否与学生提交的证明材料(电子版)能够对应上就行了,不需要关注这个过程中到底加了多少分(前提是对应等级和加分分值对应且无误)。

     

    详细安装、配置教程
    https://www.bilibili.com/video/BV1TD4y1Y7CV?share_source=copy_web


    二、核心功能说明

    系统一共有三个使用角色,相当于有三套系统,在这里只介绍核心的一些功能及实现。

    导入学生名单或者成绩名单

    • 这个功能实现的是教师上传学生名单或者学生成绩的时候,后端能够自动读取文件并将数据处理后存入数据库。这里需要提前确定好学生名单和成绩文件的格式。核心代码如下:
     复制代码 隐藏代码
    public class ReadStudentXlsFiles {
        private static String basePath = "G:\\Projects\\Materials\\cqes4cs\\files\\students\\";
        public static List<HashMap<String, Object>> readStudentXlsx(String fileFinalName) throws FileNotFoundException {
            // 将文件存入本地,便于读取
            String filePath = basePath + fileFinalName;
            File file = new File(filePath);
            FileInputStream fs = new FileInputStream(file);
            List<HashMap<String, Object>> lst = new ArrayList<>();
            try {
                String fileName = file.getName();
                String[] fileParts = fileName.split("\\.");
                Workbook sheets;
                if (fileParts[fileParts.length - 1].equals("xls")) {
                    sheets = new HSSFWorkbook(fs);
                } else {
                    sheets = new XSSFWorkbook(fs);
                }
                Sheet sheet = sheets.getSheetAt(0);
                int rowCount = sheet.getLastRowNum();
                int colNum = sheet.getRow(0).getPhysicalNumberOfCells();
                // 遍历行
                for (int i=1; i<=rowCount; i++) {
                    HashMap<String, Object> map = new HashMap<>();
                    Row row = sheet.getRow(i);
                    // 遍历列
                    for(int j = 0; j < colNum; j++){
                        if(row.getCell(j) != null){
                            row.getCell(j).setCellType(CellType.STRING);
                            String cellValue = row.getCell(j).getStringCellValue();
                            switch (j) {
                                case 0:
                                    map.put("userid", cellValue);
                                    break;
                                case 1:
                                    map.put("name", cellValue);
                                    break;
                                case 2:
                                    map.put("major_code", cellValue);
                                    break;
                                case 3:
                                    map.put("class", cellValue);
                                    break;
                                case 4:
                                    map.put("year", cellValue);
                                    break;
                                default: break;
                            }
                        }
                    }
                    lst.add(map);
                }
                fs.close();
                return lst;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    }

     

    处理加分规则配置

    • 这个功能实现的是教师修改加分规则的时候,后端进行请求处理。与简单的请求处理不同,这个接口会在处理数据之前把数据存储到一个临时表中。这是因为加分规则配置比较复杂(但是配置完成之后用起来非常丝滑),需要确保数据存取过程中不会出。
    [Java] 纯文本查看 复制代码
    // notation
    
    @RequestMapping("/modifyContestConfig")
    
    @Transactional
    
    @RequiresRoles("manager")
    
    public ResponseEntity modifyContestConfig(@RequestParam Map<String, String> map) {
    
                    List<HashMap<String, Object>> list = new ArrayList<>();
    
                    Map<String, String> nameMap = new HashMap<>();
    
                    Map<String, String> indexMap = new HashMap<>();
    
                    for (Map.Entry<String, String> entry : map.entrySet()) {
    
                                    if (entry.getKey().equals("name")) {
    
                                                    nameMap = JSON.parseObject(entry.getValue(), HashMap.class);
    
                                    }
    
                                    if (entry.getKey().equals("index")) {
    
                                                    indexMap = JSON.parseObject(entry.getValue(), HashMap.class);
    
                                    }
    
                    }
    
    
    
    
                    // 清空配置表
    
                    if (nameMap.size() == 0 || indexMap.size() == 0) {
    
                                    basicInfoMapper.deleteContestConfig();
    
                                    return ResponseEntity.ok().body(ResultVOUtil.successSimple());
    
                    }
    
                    // 组装list
    
                    for (Map.Entry<String, String> entry : map.entrySet()) {
    
                                    if (entry.getKey().equals("name")) break;
    
                                    if (entry.getKey().equals("index")) break;
    
                                    HashMap<String, Object> mapp = new HashMap<>();
    
                                    mapp.put("uuid", entry.getKey());
    
                                    mapp.put("config", entry.getValue());
    
                                    mapp.put("name", nameMap.get(entry.getKey()));
    
                                    mapp.put("indexid", indexMap.get(entry.getKey()));
    
                                    list.add(mapp);
    
                    }
    
                    Boolean flag = false;
    
                    try {
    
                                    // 先存入临时表
    
                                    basicInfoMapper.updateContestConfigTemp(list);
    
                                    // 再删除原始表里面的所有数据
    
                                    basicInfoMapper.deleteAllContestConfig();
    
                                    // 最后将临时表的数据复制到原始表中
    
                                    basicInfoMapper.updateContestConfig();
    
                                    // 最后删除临时的规则表,方便下一次的数据存储
    
                                    basicInfoMapper.deleteContestsConfigTemp();
    
                    } catch (Exception e) {
    
                                    flag = true;
    
                                    throw new RuntimeException("New Error");
    
                    }
    
                    if (flag) return ResponseEntity.ok().body(ResultVOUtil.error(1, "操作失败,请联系管理员"));
    
                    return ResponseEntity.ok().body(ResultVOUtil.successSimple());
    
    }
     


    编辑加分规则:

    • 这是系统最主要的功能,也是比较复杂的部分。一是因为整个实现的思路并不常见,而是有比较多的东西可以/需要配置,所以稍显复杂。以设置叶子节点为例,代码如下。其实可以看到,首先要遍历配置数据(JSON格式),然后再给叶子节点设置新的属性,同时还要判断用户的输入是否合法。设置根节点仅仅是加分规则配置的好多个功能之一而已!
    [JavaScript] 纯文本查看 复制代码
    setroot(node, data) {
    
            // 取消设置为叶子节点
    
            if (data.tag == 'root') {
    
                    let parent = node.parent
    
                    let newChild = { uuid: data.uuid, name: data.name, children: [] }
    
                    let children = parent.data.children || parent.data
    
                    let index = children.findIndex(d => d.uuid === data.uuid)
    
                    children.splice(index, 1)
    
                    if (!parent.data.children) {
    
                            this.$set(parent.data, 'children', [])
    
                    }
    
                    parent.data.children.push(newChild)
    
                    return
    
            }
    
            // 设置叶子节点
    
            if (data.children.length > 0) return this.$msg.error("存在下一级的时候不能设置为叶子节点")
    
            let temp = {
    
                    uuid: data.uuid,
    
                    name: data.name,
    
                    tag: 'root',
    
                    score: 0
    
            }
    
            this.$prompt('请为叶子节点设置分值,最多保留两位小数', '提示', {
    
                    confirmButtonText: '确定',
    
                    cancelButtonText: '取消'
    
            }).then(({ value }) => {
    
                    if (isNaN(value) || value.trim().length == 0) return this.$msg.error("请输入正确的数值")
    
                    temp.score = value
    
                    let parent = node.parent
    
                    let children = parent.data.children || parent.data
    
                    let index = children.findIndex(d => d.uuid === data.uuid)
    
                    children.splice(index, 1)
    
                    parent.data.children.push(temp)
    
            }).catch(()=>{return this.$msg.error("输入加分分值才能设置为叶子节点")})
    
    }
     
     
    学分申请:
    • 这是系统最核心的功能之一。实现起来也是比较复杂的,因为系统需要根据配置文件去自动形成多级选择菜单,同时要根据用户的选择去读取该菜单下的加分分值到底是多少;用户切换主规则的时候,还需要动态的去加载配置,然后进行处理。这个也只算是学分申请的一小部分而已!
    [JavaScript] 纯文本查看 复制代码
    // 选择某个比赛后搜索比赛的相关配置
    
    async handleSelect(item) {
    
            let {data: res} = await this.$http.post('/getContestConfigById', this.$qs.stringify({id: item.id}))
    
            if (!res) return
    
            if (res.code != 0) return this.$msg.error(res.message)
    
            this.curLevelConfig = JSON.parse('[' + res.data.classconfig + ']')
    
            this.stepForm.ruleid = res.data.uuid
    
            this.stepForm.name = res.data.name
    
            this.toNext()
    
    },

     

    三、系统界面一览

     

     
    登陆页面:

     

    教师端:

     

    学生端:
    管理员端:
    学分申请:

    学分评价结果总览:



    学分评价整体结果:



    处理学分申请异议:



    管理常见专业赛事配置:

    学生信息&学分管理:



    加分规则配置:



    学生综合素质可视化分析:

    四、配置运行
     

    项目下载

    • github克隆:前端地址https://github.com/quarkape/cqes4cs,后端地址https://github.com/quarkape/cqes4csbe(包含了SQL、静态资源文件、接口文档)
    • gitee镜像:前端地址https://gitee.com/quarkape/cqes4cs,后端地址https://gitee.com/quarkape/cqes4csbe(包含了SQL、静态资源文件、接口文档)
     
     
    运行环境
    • MySQL5.7
    • Redis3.0
    • Vue2.6
    • SpringBoot4
    运行说明
    • 如果你上手起来比较困难,可以看看视频版本的教程:https://www.bilibili.com/video/BV1KG4y1Z7Pd?share_source=copy_web

     

    前端搭建
    • 安装各种依赖。在项目根目录下面的package.conf中可以找到开发依赖和生产依赖的列表。开发环境依赖使用npm install 依赖名称 -D进行安装,生产环境依赖可以使用npm install 依赖名称 -S进行安装。
    • 运行。安装完成后,运行npm run serve没有问题的话就可以了。地址栏输入http://localhost:8080就可以进入登录页。

    后端搭建

    • 安装各类依赖。在项目根目录下面的pom.xml中可以看到依赖列表,使用maven下载下来就可以了。如果你使用的是IDEA的话,你可以导入项目文件,IDEA会自动给你下载pom文件里面的各个依赖。
    • 运行。安装完成后,运行项目,没有报错即可。

    数据导入

    • 将后端项目中的SQL文件导入到数据库中即可。我是用的MySQL WorkBench工具导入的。具体操作是:连接本地MySQL,新建一个名为cqes4cs的数据库,软件右上角file-open SQL Script-选择本项目的sql文件,在打开的脚本中前20行都是注释,在注释结束后、正式的SQL语句之前,加上use cqes4cs;这行代码,执行即可。

    Redis和数据库

    • 我用的phpstudy最新版来安装MySQL,数据库用户名和密码都为root。
    • 我参照网上的教程把下载安装的Redis,Redis端口默认,密码设置的是kkty。注意你安装的时候要么修改redis的配置文件,把密码改为kkty;要么你自己在redis的配置文件中设置别的密码,然后在后端项目中的application.yml中把redis密码那一行的配置给修改了。
    • 记得运行的时候启动Redis。
    • 你也可以使用php study安装和配置redis,不过我没有用过这个功能。

    静态资源映射

    • 系统用的静态资源映射做静态资源管理。
    • 静态资源文件夹结构请参照项目文件中Readme.md部分的说明。另外完整的文件夹结构在后端项目的assets里面可以找到。
    • 静态资源文件夹的位置必须要与后端项目中MvcConfig.java文件中的文件地址要一致,不然静态资源文件无法正常访问。

    系统使用入门

    • 初次使用的时候,需要登录管理员账号:用户名admin,密码admin,然后新增一个教师账号,管理年级建议设置为2021,因为我给的静态资源里面有一些预先提供的数据,大家到时候可以直接用。
    • 右上角头像点击,然后退出管理员账号,使用上一步新建的教师账号登录系统。在学生管理中,上传静态资源文件夹student目录下的文件,系统会自动导入学生账号,学生学号为学生系统的登录用户名和账号。
    • 在教师系统中,在学生评价页面,点击上传学生成绩,选择静态资源文件夹grades目录下面的默认文件,可以导入默认的成绩数据,导入后,可以切换年份为2021-2022年,查看学生成绩。
    • 第2步导入学生账号之后,登录学生账号,已51214108037为例,登陆后可以查看综合素质评价结果,在学分管理页面可以申请学分。

    【重要说明】

    • 因为加分规则比较难配置,所以数据库会预先配置好一些加分规则,建议不要删除。如果真正要用的时候再删除也不迟。
    • 必须要先上传学生成绩之后,学生评价页面才会有结果,因为当初设计的时候就默认学业成绩必须是综合素质评价的一部分。其他加分可以没有,但是学生学业成绩必须要有。

     

    五、写在后面
     
    • 其实整个系统实现起来还是很耗费时间的,功能个人角色也比较完善,作用也比较突出,但是配置起来确实需要一定的时间和精力
    • 整个系统的核心思想囿于篇幅不能详细说明,个人认为初次理解起来比较费劲,毕竟这个系统功能和作用在那里对吧。反正感兴趣的小伙伴可以私戳~
    • 其实本来有线上的体验地址的,但是服务器过期了,没办法让大家即时访问查看效果~
  • 显卡跑分软件 3DMark专业版 2.25.8056

    FurMark 3DMark中文版(显卡跑分软件)是一款全球最受欢迎的权威显卡性能测试软件
    这款显卡烤机软件现已迭代为测试整机综合性能的专业硬件检测工具.
    第二代3DMark专业版在原有显卡基准测试功能上进行了优化,提供了用于衡量电脑硬件DirectX 11,12接口的基准测试和光追性能测试等多项测试模块和显卡压力测试功能
    通过实时渲染高负载的游戏模拟场景动画,检测显卡散热能力,测试GPU和CPU的性能和综合跑分结果.

    显卡跑分软件 3DMark专业版 2.25.8056图1

    显卡跑分软件 3DMark专业版 2.25.8056图2

    显卡跑分软件 3DMark专业版 2.25.8056图3

    显卡跑分软件 3DMark专业版 2.25.8056图4

  • Wendasns V2.0.2 PHP问答社区系统源码

    Wendasns V2.0.2 PHP问答社区系统源码

    开源,高效,易于二次开发的问答系统极速安装、配置简单、功能强大、SEO优化、内容知识付费。WendaSNS是一款开放源码的PHP问答社区系统,基于Thinkphp 6.X版本开发而成,具有强大的负载能力和稳定性。前端基于LayUi框架,经典模块化极易扩展和定制,一套模板可以同时的运行在PC、平板、手机等多设备上。WendaSNS在安全上做了大量处理,能有效拦截SQL注入、CSRF攻击、XSS攻击等。

  • 癞蛤蟆电商工具箱破解版 淘宝主图下载 宝贝复制

    癞蛤蟆电商工具箱破解版 淘宝主图下载 宝贝复制

    淘系全部43个功能:按照使用类型不同,划分为:数据分析、直通车、生意参谋、补单黑科技、其他复制等五个模块。又根据不同阶段商家的需求独立了:淘宝新手、店群软件等两个板块,店群板块又细分了:淘宝店群、多多店群、抖音小店,以及部分热门功能的单软件模式,让不同需求不同类型的商家,都能选择最适合自己的功能版本。

    癞蛤蟆电商工具箱破解版 淘宝主图下载 宝贝复制

    癞蛤蟆电商工具箱破解版 淘宝主图下载 宝贝复制

  • WordPress主题LightSNS v1.6.60强大的社交系统SNS主题免受权

    WordPress主题LightSNS v1.6.60强大的社交系统SNS主题免受权

    主题简介

    LightSNS是一个基于WordPress的超级强大的SNS社交系统,安全稳定。

    包含一系列功能强大的社区系统及论坛程序,如多版块论坛、问答、VIP、充值、付费可见等。

    LightSns只是为用户与WordPress主题的交互提供了一个强大的框架,你可以根据自己的需要改变界面的布局。例如,您可以创建文章网站、音乐网站、照片网站、视频网站,甚至本地论坛,等等。这完全取决于你怎么想。说这么多,只是想表达LightSNS可以满足你建立任何一种网站。

    更新日志

    LightSNS_1.6.60:

    新增:模块扩展
    新增:头像的样式规则
    新增:收藏功能
    新增:移动端购买页面自定义区域,并且支持短代码
    新增:动态/动态缩略图的样式规则
    新增:评论置顶功能,管理员或作者可以置顶评论区的评论
    新增:幸运抽奖新增奖励类型:卡密发卡,可以提前录入卡密,用户抽到则以IM助手形式发给用户
    新增:投票帖子底部显示已经投票的用户列表
    新增:论坛展示小工具新增:我关注的论坛,可以设置显示自定义数量
    新增:头部导航栏支持完全自定义
    新增:商品购买权限:指定经验值和指定魅力值的权限
    新增:版主申请,管理员拒绝申请后可以填写拒绝原因,并以IM形式进行提醒。
    新增:用户申请的论坛,管理员允许在后台输入拒绝原因。
    新增:论坛申请增加权限,可以后台设置指定权限的用户才允许申请
    新增:动态类内容的评论权限设置
    新增:每个商品都允许单独设置下单提示说明
    新增:商城其他虚拟物品支持设置下单填写字段信息。
    新增:电脑端案例,如果是管理员会显示快捷编辑入口
    新增:论坛大厅更多按钮支持自定义名称和是否新窗口打开
    新增:管理员可以在移动端查看并修改用户的更多资
    新增:当将用户设置为风险用户时,可以设置封号原因
    新增:任务宝箱/每日任务/成长任务的奖励类型增加魅力值
    新增:出售宠物对接人机验证,后台可以选择是否开启
    新增:捕获宠物对接人机验证
    新增:SNS菜单功能:热门、关注的论坛、关注的话题、红包、会员、密码、自定义链接等
    新增:移动端发现页面,更多推荐论坛支持自定义短代码链接

     

    预览截图

    本资源收集于互联网,本站仅简单测试可用性后分享发布,对自由的安全性不做保证,资源仅供参考体验使用,如运营商用请购买官方正版!

  • 7b2教程-创意广告位

    7b2教程-创意广告位

    附件放到网站根目录

    代码放到B2-模块管理-文章内页-文章顶部或者底部广告位

    <link href="/css/ggys.css" rel="stylesheet" type="text/css" />
    
    <div class="n_banner_inner">
    
        <div class="img-info">!
    
          <div class="info">也想出现在这里?
    
            <a rel="nofollow noopener noreferrer" href="http://wpa.qq.com/msgrd?v=3&amp;uin=你的&amp;site=qq&amp;menu=yes" target="_blank">联系我们</a>吧</div>
    
        </div>
    
        <a href="https://www.klres.com/" target="_blank" rel="noopener noreferrer">
    
          <div class="Banner-adTag">广告</div>
    
          <img class="tirr" src="/img/(BE@A${B419~F7UWFYYZK5S.jpg" alt="内容广告区块" width="1200" height="100">
    
        </a>
    
      </div>
  • 7b2教程-首页添加动态北极熊奔跑搜索样式

    7b2教程-首页添加动态北极熊奔跑搜索样式

    代码放入b2后台-模块管理-首页-自定义代码

    <div id="primary-home" class="content-area">
    <div id="home-row-foots_a23" class=" mobile-hidden home_row home_row_0 module-html " style="background-color:;">
    <div class="" style="width:100%">
    <div class="home-row-left content-area ">
    <div id="html-box-foots_a23" class="html-box">
    <style>.primary-menus .left-cont button { height: 40px; background-color: #2f2828; border: 1px solid #2f2828; border-radius: 6px; margin-top: 4px; margin-right:4px;}.primary-menus .left-cont button:hover{ background-color: #499afed6; border: 1px solid #499afed6;}.night .primary-menus .left-cont button{ background-color: #c85552; border: 1px solid #c85552;}#banner-bear { margin-top:-10px; background: linear-gradient(40deg,#000 0%,#3f3737 46%,#000 75%,#000 100%);}</style>
    <div id="banner-bear" class="preserve3d csstransforms3d">
    <div class="banner-wrap scenes-ready">
    <div id="stage">
    <div class="space"></div>
    <div class="mountains">
    <div class="mountain mountain-1"></div>
    <div class="mountain mountain-2"></div>
    <div class="mountain mountain-3"></div>
    </div>
    <div class="bear"></div>
    </div>
    </div>
    </div>
    
    </div>
    </div>
    </div>
    </div>
    
    
    

    css代码

    #banner-bear{height:320px;background:#464853 url(/js/2dfb67e74181f.png) repeat-x;width:100%;position:relative;font-size:22px}#banner-bear{background:linear-gradient(43deg,#4158d0 0%,#c850c0 46%,#ffcc70 100%)}.typing{color:#fff;position:absolute;top:25%;left:50%;z-index:1;transform:translate(-50%,-50%);text-shadow:1px 1px 0px rgba(0,0,0,2);font-size:30px;font-weight:700}@media (max-width:1199px){.typing{font-size:16px}}.banner-wrap,#stage{width:100%;height:100%}#stage{overflow:hidden;position:relative;z-index:0}#stage .space{width:3840px;height:100%;position:absolute;top:0;left:0;z-index:0;background:url(/js/53d0ca4581dc1.png) repeat-x}#stage .mountains{width:100%;height:17.78125em;overflow:hidden;position:absolute;left:0;bottom:0;z-index:1;opacity:0;-webkit-transition:opacity .2s linear 0s;-moz-transition:opacity .2s linear 0s;transition:opacity .2s linear 0s;-webkit-transform-origin:center top;-moz-transform-origin:center top;transform-origin:center top}#stage .mountain{width:240em;position:absolute;left:0;bottom:0;margin-bottom:-1px}#stage .mountain-1{height:10.5em;z-index:3;background:url(/js/58714c133cca0.png) repeat-x;background-size:auto 50%;background-position:0 bottom}#stage .mountain-2{height:12em;z-index:2;background:url(/js/f855a485a6235.png) repeat-x;background-size:auto 50%;background-position:0 bottom}#stage .mountain-3{height:17.78125em;z-index:1;background:url(/js/97b75b5d67f83.png) repeat-x;background-size:auto 30%;background-position:0 bottom}#stage .bear-wrapper{width:6.25em;height:3.125em;position:absolute;margin-left:-3.125em;left:50%;bottom:40px;z-index:999}.bear-words{display:none;width:6.25em;height:2.8125em;position:absolute;bottom:5.3125em;left:50%;margin-left:-2.1875em;z-index:5}.bear-words span{display:block;width:9.375em;height:1.875em;line-height:1.875em;margin-left:.9375em;font-size:.4375em;color:#fff}.bear-words .bear-words-background{width:100%;height:100%;position:absolute;left:0;top:0;border:0}#stage .bear{width:3.12em;height:1.625em;position:absolute;margin-left:-1.5625em;left:-4%;bottom:20px;z-index:999;background:url(/js/4b25ca14756dd.png) 0 0 no-repeat;background-size:25em 100%;opacity:0}.scenes-ready #stage .space{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-animation:moving 450s linear .8s infinite normal none;-moz-animation:moving 450s linear .8s infinite normal none;animation:moving 450s linear .8s infinite normal none}.scenes-ready #stage .mountains{opacity:1;-webkit-animation:mountains-in .8s ease-out 0s 1 normal forwards;-moz-animation:mountains-in .8s ease-out 0s 1 normal forwards;animation:mountains-in .8s ease-out 0s 1 normal forwards}.scenes-ready #stage .mountain-1{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-animation:moving 100s linear .8s infinite normal none;-moz-animation:moving 100s linear .8s infinite normal none;animation:moving 100s linear .8s infinite normal none}.scenes-ready #stage .mountain-2{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-animation:moving 160s linear .8s infinite normal none;-moz-animation:moving 160s linear .8s infinite normal none;animation:moving 160s linear .8s infinite normal none}.scenes-ready #stage .mountain-3{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-animation:moving 360s linear .8s infinite normal none;-moz-animation:moving 360s linear .8s infinite normal none;animation:moving 360s linear .8s infinite normal none}.scenes-ready #stage .bear{opacity:1;-webkit-transition:opacity .4s linear .6s;-moz-transition:opacity .4s linear .6s;transition:opacity .4s linear .6s}.preserve3d .scenes-ready #stage .bear{-webkit-animation:bear-run-in 3.6s step-end .6s 1 normal forwards,bear-run .8s steps(8) 4.2s infinite normal forwards;-moz-animation:bear-run-in 3.6s step-end .6s 1 normal forwards,bear-run .8s steps(8) 4.2s infinite normal forwards;animation:bear-run-in 3.6s step-end .6s 1 normal forwards,bear-run .8s steps(8) 4.2s infinite normal forwards}.no-preserve3d .scenes-ready #stage .bear,.no-csstransforms3d .scenes-ready #stage .bear{left:50%;-webkit-animation:bear-run .8s steps(8) .6s infinite normal forwards;-moz-animation:bear-run .8s steps(8) .6s infinite normal forwards;animation:bear-run .8s steps(8) .6s infinite normal forwards}.preserve3d .scenes-ready #stage .bear.reset,.no-preserve3d .scenes-ready #stage .bear.reset,.no-csstransforms3d .scenes-ready #stage .bear.reset{left:50%;opacity:1;-webkit-animation:none 0s linear 0s infinite normal none;-moz-animation:none 0s linear 0s infinite normal none;animation:none 0s linear 0s infinite normal none}.preserve3d .scenes-ready #stage .bear.running,.no-preserve3d .scenes-ready #stage .bear.running,.no-csstransforms3d .scenes-ready #stage .bear.running{left:50%;-webkit-animation:bear-run .8s steps(8) 0s infinite normal none;-moz-animation:bear-run .8s steps(8) 0s infinite normal none;animation:bear-run .8s steps(8) 0s infinite normal none}@-webkit-keyframes bear-run{0%{background-position:0 0}100%{background-position:-25em 0}}@-moz-keyframes bear-run{0%{background-position:0 0}100%{background-position:-25em 0}}@keyframes bear-run{0%{background-position:0 0}100%{background-position:-25em 0}}@-webkit-keyframes bear-run-in{0%{background-position:0 0;left:-4%}1.38888889%{background-position:-3.125em 0;left:-2.25%}2.77777778%{background-position:-6.25em 0;left:-.5%}4.16666667%{background-position:-9.375em 0;left:1.25%}5.55555556%{background-position:-12.5em 0;left:3%}6.94444444%{background-position:-15.625em 0;left:4.75%}8.33333333%{background-position:-18.75em 0;left:6.5%}9.72222222%{background-position:-21.875em 0;left:8.25%}11.11111111%{background-position:-25em 0;left:10%}11.11111111%{background-position:0 0;left:10%}12.77777778%{background-position:-3.125em 0;left:11.5%}14.44444444%{background-position:-6.25em 0;left:13%}16.11111111%{background-position:-9.375em 0;left:14.5%}17.77777778%{background-position:-12.5em 0;left:16%}19.44444444%{background-position:-15.625em 0;left:17.5%}21.11111111%{background-position:-18.75em 0;left:19%}22.77777778%{background-position:-21.875em 0;left:20.5%}24.44444444%{background-position:-25em 0;left:22%}24.44444444%{background-position:0 0;left:22%}26.38888889%{background-position:-3.125em 0;left:23.25%}28.33333333%{background-position:-6.25em 0;left:24.5%}30.27777778%{background-position:-9.375em 0;left:25.75%}32.22222222%{background-position:-12.5em 0;left:27%}34.16666667%{background-position:-15.625em 0;left:28.25%}36.11111111%{background-position:-18.75em 0;left:29.5%}38.05555556%{background-position:-21.875em 0;left:30.75%}40%{background-position:-25em 0;left:32%}40%{background-position:0 0;left:32%}42.22222222%{background-position:-3.125em 0;left:33%}44.44444444%{background-position:-6.25em 0;left:34%}46.66666667%{background-position:-9.375em 0;left:35%}48.88888889%{background-position:-12.5em 0;left:36%}51.11111111%{background-position:-15.625em 0;left:37%}53.33333333%{background-position:-18.75em 0;left:38%}55.55555556%{background-position:-21.875em 0;left:39%}57.77777778%{background-position:-25em 0;left:40%}57.77777778%{background-position:0 0;left:40%}60.27777778%{background-position:-3.125em 0;left:40.75%}62.77777778%{background-position:-6.25em 0;left:41.5%}65.27777778%{background-position:-9.375em 0;left:42.25%}67.77777778%{background-position:-12.5em 0;left:43%}70.27777778%{background-position:-15.625em 0;left:43.75%}72.77777778%{background-position:-18.75em 0;left:44.5%}75.27777778%{background-position:-21.875em 0;left:45.25%}77.77777778%{background-position:-25em 0;left:46%}77.77777778%{background-position:0 0;left:46%}80.55555556%{background-position:-3.125em 0;left:46.5%}83.33333333%{background-position:-6.25em 0;left:47%}86.11111111%{background-position:-9.375em 0;left:47.5%}88.88888889%{background-position:-12.5em 0;left:48%}91.66666667%{background-position:-15.625em 0;left:48.5%}94.44444444%{background-position:-18.75em 0;left:49%}97.22222222%{background-position:-21.875em 0;left:49.5%}100%{background-position:-25em 0;left:50%}}@-moz-keyframes bear-run-in{0%{background-position:0 0;left:-4%}1.38888889%{background-position:-3.125em 0;left:-2.25%}2.77777778%{background-position:-6.25em 0;left:-.5%}4.16666667%{background-position:-9.375em 0;left:1.25%}5.55555556%{background-position:-12.5em 0;left:3%}6.94444444%{background-position:-15.625em 0;left:4.75%}8.33333333%{background-position:-18.75em 0;left:6.5%}9.72222222%{background-position:-21.875em 0;left:8.25%}11.11111111%{background-position:-25em 0;left:10%}11.11111111%{background-position:0 0;left:10%}12.77777778%{background-position:-3.125em 0;left:11.5%}14.44444444%{background-position:-6.25em 0;left:13%}16.11111111%{background-position:-9.375em 0;left:14.5%}17.77777778%{background-position:-12.5em 0;left:16%}19.44444444%{background-position:-15.625em 0;left:17.5%}21.11111111%{background-position:-18.75em 0;left:19%}22.77777778%{background-position:-21.875em 0;left:20.5%}24.44444444%{background-position:-25em 0;left:22%}24.44444444%{background-position:0 0;left:22%}26.38888889%{background-position:-3.125em 0;left:23.25%}28.33333333%{background-position:-6.25em 0;left:24.5%}30.27777778%{background-position:-9.375em 0;left:25.75%}32.22222222%{background-position:-12.5em 0;left:27%}34.16666667%{background-position:-15.625em 0;left:28.25%}36.11111111%{background-position:-18.75em 0;left:29.5%}38.05555556%{background-position:-21.875em 0;left:30.75%}40%{background-position:-25em 0;left:32%}40%{background-position:0 0;left:32%}42.22222222%{background-position:-3.125em 0;left:33%}44.44444444%{background-position:-6.25em 0;left:34%}46.66666667%{background-position:-9.375em 0;left:35%}48.88888889%{background-position:-12.5em 0;left:36%}51.11111111%{background-position:-15.625em 0;left:37%}53.33333333%{background-position:-18.75em 0;left:38%}55.55555556%{background-position:-21.875em 0;left:39%}57.77777778%{background-position:-25em 0;left:40%}57.77777778%{background-position:0 0;left:40%}60.27777778%{background-position:-3.125em 0;left:40.75%}62.77777778%{background-position:-6.25em 0;left:41.5%}65.27777778%{background-position:-9.375em 0;left:42.25%}67.77777778%{background-position:-12.5em 0;left:43%}70.27777778%{background-position:-15.625em 0;left:43.75%}72.77777778%{background-position:-18.75em 0;left:44.5%}75.27777778%{background-position:-21.875em 0;left:45.25%}77.77777778%{background-position:-25em 0;left:46%}77.77777778%{background-position:0 0;left:46%}80.55555556%{background-position:-3.125em 0;left:46.5%}83.33333333%{background-position:-6.25em 0;left:47%}86.11111111%{background-position:-9.375em 0;left:47.5%}88.88888889%{background-position:-12.5em 0;left:48%}91.66666667%{background-position:-15.625em 0;left:48.5%}94.44444444%{background-position:-18.75em 0;left:49%}97.22222222%{background-position:-21.875em 0;left:49.5%}100%{background-position:-25em 0;left:50%}}@keyframes bear-run-in{0%{background-position:0 0;left:-4%}1.38888889%{background-position:-3.125em 0;left:-2.25%}2.77777778%{background-position:-6.25em 0;left:-.5%}4.16666667%{background-position:-9.375em 0;left:1.25%}5.55555556%{background-position:-12.5em 0;left:3%}6.94444444%{background-position:-15.625em 0;left:4.75%}8.33333333%{background-position:-18.75em 0;left:6.5%}9.72222222%{background-position:-21.875em 0;left:8.25%}11.11111111%{background-position:-25em 0;left:10%}11.11111111%{background-position:0 0;left:10%}12.77777778%{background-position:-3.125em 0;left:11.5%}14.44444444%{background-position:-6.25em 0;left:13%}16.11111111%{background-position:-9.375em 0;left:14.5%}17.77777778%{background-position:-12.5em 0;left:16%}19.44444444%{background-position:-15.625em 0;left:17.5%}21.11111111%{background-position:-18.75em 0;left:19%}22.77777778%{background-position:-21.875em 0;left:20.5%}24.44444444%{background-position:-25em 0;left:22%}24.44444444%{background-position:0 0;left:22%}26.38888889%{background-position:-3.125em 0;left:23.25%}28.33333333%{background-position:-6.25em 0;left:24.5%}30.27777778%{background-position:-9.375em 0;left:25.75%}32.22222222%{background-position:-12.5em 0;left:27%}34.16666667%{background-position:-15.625em 0;left:28.25%}36.11111111%{background-position:-18.75em 0;left:29.5%}38.05555556%{background-position:-21.875em 0;left:30.75%}40%{background-position:-25em 0;left:32%}40%{background-position:0 0;left:32%}42.22222222%{background-position:-3.125em 0;left:33%}44.44444444%{background-position:-6.25em 0;left:34%}46.66666667%{background-position:-9.375em 0;left:35%}48.88888889%{background-position:-12.5em 0;left:36%}51.11111111%{background-position:-15.625em 0;left:37%}53.33333333%{background-position:-18.75em 0;left:38%}55.55555556%{background-position:-21.875em 0;left:39%}57.77777778%{background-position:-25em 0;left:40%}57.77777778%{background-position:0 0;left:40%}60.27777778%{background-position:-3.125em 0;left:40.75%}62.77777778%{background-position:-6.25em 0;left:41.5%}65.27777778%{background-position:-9.375em 0;left:42.25%}67.77777778%{background-position:-12.5em 0;left:43%}70.27777778%{background-position:-15.625em 0;left:43.75%}72.77777778%{background-position:-18.75em 0;left:44.5%}75.27777778%{background-position:-21.875em 0;left:45.25%}77.77777778%{background-position:-25em 0;left:46%}77.77777778%{background-position:0 0;left:46%}80.55555556%{background-position:-3.125em 0;left:46.5%}83.33333333%{background-position:-6.25em 0;left:47%}86.11111111%{background-position:-9.375em 0;left:47.5%}88.88888889%{background-position:-12.5em 0;left:48%}91.66666667%{background-position:-15.625em 0;left:48.5%}94.44444444%{background-position:-18.75em 0;left:49%}97.22222222%{background-position:-21.875em 0;left:49.5%}100%{background-position:-25em 0;left:50%}}.primary-menus{width:50%;position:absolute;top:55%;left:50%;z-index:3;transform:translate(-50%,-50%);font-size:16px;opacity:.95}.primary-menus ul{list-style:none;padding:0}.primary-menus ul li{display:inline-block;color:#fff;padding:0 14px;height:36px;line-height:36px;font-size:14px;border-top-left-radius:3px;border-top-right-radius:3px;cursor:pointer}.primary-menus ul li:first-child{cursor:auto;color:rgba(255,255,255,.8)}.primary-menus ul li:first-child:hover{color:rgba(255,255,255,.8);background-color:transparent}.primary-menus ul li:hover{background:#fff;color:#3c3c3c;opacity:.8}.primary-menus ul li.current{background:#fff;color:#3c3c3c}.primary-menus .cont{position:relative;top:-1px}.primary-menus .right-link{position:absolute;right:0;top:0}.primary-menus .right-link a{display:inline-block;margin-top:10px;padding-right:5px;color:#dff2ff;text-decoration:none;font-size:13px}.primary-menus .right-link a:hover{color:#fff}.primary-menus .left-cont .search.hidden{display:none}.primary-menus .left-cont form{width:100%;position:relative}.primary-menus .left-cont input{box-sizing:border-box;width:100%;border:none;font-size:15px;line-height:20px;height:48px;padding:11px 100px 11px 26px;border-radius:3px;color:#9f9f9f;outline:none}.primary-menus .left-cont input:focus{color:#3c3c3c}.primary-menus .left-cont button{height:48px;box-sizing:border-box;min-width:100px;margin-left:-5px;cursor:pointer;background-color:#e34f4f;color:#fff;font-size:15px;line-height:40px;border-top-right-radius:3px;border-bottom-right-radius:3px;position:absolute;right:1px;top:0;border:5px solid #fff;border-radius:9px;padding:0 15px}.primary-menus .left-cont button:hover{background-color:#ff3636}@media (max-width:1199px){.primary-menus ul li{padding:0 12px}}@media (max-width:991px){.primary-menus{float:left;margin-left:0;width:90%;top:60%}.primary-menus .right-link{display:none}.primary-menus .left-cont{margin-right:0}}@media (max-width:767px){.primary-menus ul li{padding:0 5px;font-size:13px;height:28px;line-height:24px;margin-right:6px}.primary-menus ul li:first-child{display:none}.primary-menus .left-cont input{height:34px;line-height:14px;font-size:13px;padding:10px 6em 10px 10px;border-radius:0 3px 3px}.primary-menus .left-cont button{height:34px;line-height:34px;width:6em;font-size:12px;border:none;border-radius:2px;margin-right:-2px}}@-webkit-keyframes mountains-in{0%{-webkit-transform:scale(1.5)}100%{-webkit-transform:scale(1)}}@-moz-keyframes mountains-in{0%{-moz-transform:scale(1.5)}100%{-moz-transform:scale(1)}}@keyframes mountains-in{0%{transform:scale(1.5)}100%{transform:scale(1)}}@-webkit-keyframes moving{0%{-webkit-transform:translate3d(0,0,0)}100%{-webkit-transform:translate3d(-50%,0,0)}}@-moz-keyframes moving{0%{-moz-transform:translate3d(0,0,0)}100%{-moz-transform:translate3d(-50%,0,0)}}@keyframes moving{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50%,0,0)}}

    以下代码放入后台-常规设置-底部html

    <script src="/js/suiranx.js" type="text/javascript"></script>
  • 7b2教程-添加横幅广告条

    7b2教程-添加横幅广告条

    模块代码

    <div class="alert alert-warning alert-dismissible fade show" role="alert">
    
    	<strong>
    
    		<span class="badge bg-danger">
    
    			Hello,大佬!<sup aria-hidden="true" class="spinner-grow spinner-grow-sm ml-1 small" role="status" style=" width: .5rem; height: .5rem; "></sup>
    
    		</span>
    
    	</strong>
    
    	<span>【酷乐资源屋】---全站美化资源免费看任意下,别错过哦!</span>
    
    	<a class="badge bg-warning text-dark" href="/vips"
    
    	   rel="nofollow noopener noreferrer" target="_blank">
    
    		加入我们
    
    	</a>
    
    </div>
    
    

    css样式

    .alert-warning {
    
        color: #664d03;
    
        background-color: #fff3cd;
    
        border-color: #ffecb5;
    
    }
    
    .alert-dismissible {
    
        padding-right: 3rem;
    
    }
    
    .alert {
    
        position: relative;
    
        padding: 1rem 1rem;
    
        margin-bottom: 1rem;
    
        border: 1px solid transparent;
    
        border-radius: .25rem;
    
    }
    
    @media (prefers-reduced-motion: reduce){
    
    .fade {
    
        transition: none;
    
    }
    
    }
    
    .fade {
    
        transition: opacity .15s linear;
    
    }
    
    .bg-danger {
    
        background-color: #dc3545!important;
    
    }.badge {
    
        display: inline-block;
    
        padding: .35em .65em;
    
        font-size: .75em;
    
        font-weight: 700;
    
        line-height: 1;
    
        color: #fff;
    
        text-align: center;
    
        white-space: nowrap;
    
        vertical-align: baseline;
    
        border-radius: .25rem;
    
    }
    
    .bg-warning {
    
        background-color: #ffc107!important;
    
    }
    
    .text-dark {
    
        color: #212529!important;
    
    }.alert-dismissible .btn-close {
    
        position: absolute;
    
        top: 0;
    
        right: 0;
    
        z-index: 2;
    
        padding: 1.25rem 1rem;
    
    }
    
    .btn-close {
    
        box-sizing: content-box;
    
        width: 1em;
    
        height: 1em;
    
        padding: .25em .25em;
    
        color: #000;
    
        border: 0;
    
        border-radius: .25rem;
    
        opacity: .5;
    
    }
    
    @media (prefers-reduced-motion: reduce){
    
    .spinner-border, .spinner-grow {
    
        -webkit-animation-duration: 1.5s;
    
        animation-duration: 1.5s;
    
    }
    
    }
    
    .spinner-grow-sm {
    
        width: 1rem;
    
        height: 1rem;
    
    }.spinner-grow {
    
        display: inline-block;
    
        width: 2rem;
    
        height: 2rem;
    
        vertical-align: -.125em;
    
        background-color: currentColor;
    
        border-radius: 50%;
    
        opacity: 0;
    
        -webkit-animation: .75s linear infinite spinner-grow;
    
        animation: .75s linear infinite spinner-grow;
    
    }.small, small {
    
        font-size: .875em;
    
    }
    
    @keyframes spinner-grow {
    
    0% {
    
        transform: scale(0);
    
      }
    
      50% {
    
        opacity: 1;
    
        transform: none;
    
      }
    
    }
    
    .btn-close:hover {
    
        color: #000;
    
        text-decoration: none;
    
        opacity: .75;
    
    }
    
    sup.spinner-grow.spinner-grow-sm.ml-1.small {
    
        margin-left: 4px;
    
        margin-bottom: 4px;
    
    }