WeMall微信商城源码投票插件Vote,用于商城的签到系统,分享了部分比较重要的代码,供技术员学习参考

AdminController.class.php

<?php
namespace Addons\Vote\Controller;

class AdminController extends InitController
{

    public function __construct()
    {
        parent::__construct();
    }

    public function index()
    {
        $config = M("AddonVoteConfig")->find();
        $this->assign("config", $config);

        $record = D('Addons://Vote/AddonVoteRecord'); // 实例化User对象
        $count = $record->count();// 查询满足要求的总记录数
        $Page =  new \Think\Page($count, 12);// 实例化分页类 传入总记录数和每页显示的记录数(25)
        $Page->setConfig('theme', "<div class='widget-content padded text-center'><ul class='pagination'></li><li>%FIRST%</li><li>%UP_PAGE%</li><li>%LINK_PAGE%</li><li>%DOWN_PAGE%</li><li>%END%</li><li><a> %HEADER%  %NOW_PAGE%/%TOTAL_PAGE% 页</a></ul></div>");
        $show = $Page->show();// 分页显示输出
        // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $record = $record->limit($Page->firstRow . ',' . $Page->listRows)->order("id desc")->relation(true)->select();

        $this->assign("record", $record);// 赋值数据集
        $this->assign('page', $show);// 赋值分页输出

        $this->display();
    }

    public function addConfig()
    {
        M("AddonVoteConfig")->where(array("id" => "1"))->save($_POST);
        $this->success('设置成功', 'Admin/Admin/index/addon/Vote');
    }
}

IndexController.class.php

<?php
/**
 * Created by PhpStorm.
 * User: heqing
 * Date: 15/7/30
 * Time: 09:40
 */

namespace Addons\Vote\Controller;

class IndexController extends InitController
{
    public $appUrl = "";
    public function __construct()
    {
        parent::__construct();
        $this->appUrl = "http://" . I("server.HTTP_HOST");
    }

    public function init()
    {
        return R("App/Common/init");
    }

    public function oauthRegister($wxuser)
    {
        return R("App/Common/oauthRegister", array($wxuser));
    }

    public function index()
    {
        $user=R("App/Public/oauthLogin");

        // if (!session("userUid")) {
        //     $weObj = $this->init();
        //     $token = $weObj->getOauthAccessToken();
        //     if (!$token) {
        //         $weObj = $this->init();
        //         $url = $weObj->getOauthRedirect($this->appUrl . u_addons('Vote://App/Index/index'));
        //         header("location: $url");
        //         return;
        //     } else {
        //         $wxuser = $weObj->getOauthUserinfo($token["access_token"], $token["openid"]);
        //         session("userUid", $wxuser["openid"]);
        //         $this->oauthRegister($wxuser);
        //     }
        // }

        $user = M("User")->where(array("uid" => session("userUid")))->find();

        $config = M("AddonVoteConfig")->find();
        $this->assign("config", $config);
        $this->assign("user", $user);

        M("AddonVoteConfig")->where(array("id"=>$config["id"]))->setInc("visiter_num");
        $this->display();
    }

    public function vote()
    {
        $username=M('User')->where(array("id"=>session("userId")))->find();

        M("AddonVoteRecord")->add(array("user_id"=>session("userId"),"username"=>$username['username']));
        M("AddonVoteConfig")->where(array("id"=>I("get.id")))->setInc("vote_num");
    }
}

Index_index.html

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>投票系统</title>
    <meta name="format-detection" content="telephone=no, address=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <!-- apple devices fullscreen -->
    <meta name="apple-touch-fullscreen" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
    <link href="__CSS__/bootstrap.min.css" rel="stylesheet">
    <link href="__CSS__/font-awesome.min.css" rel="stylesheet">
    <link href="__CSS__/animate.css" rel="stylesheet">
    <link href="__CSS__/common.css" rel="stylesheet">
    <link href="__CSS__/sign.css" rel="stylesheet">

    <script type="text/javascript" src="__JS__/jquery.min.js"></script>
    <script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
</head>
<body>
<div class="container container-fill">
    <div class="pcenter-main">
        <div class="head">
            <div class="pdetail">
                <div class="img-circle"><img src="{$user.avater}"></div>
                <div class="pull-left">
                    <span class="name">{$user.username}</span>
                    <span class="type">会员ID: {$user.id}</span>
                </div>
            </div>
            <div class="head-nav">
                <a class="head-nav-list"
                   href="">累计投票<span>{$config.vote_num}</span></a>
                <a class="head-nav-list"
                   href="">访问量<span>{$config.visiter_num}</span></a>
            </div>
        </div>
    </div>
    <div class="scroll-container">
        <div class="wrapper">
            <ul class="list-group">
                <li class="list-group-item" style="padding: 0px 0px;border-bottom: 1px solid #ccc;">
                    <div class="con">
                        <div class="list-hd">
                            <h5>项目:</h5><span>{$config.name}</span>
                        </div>
                    </div>
                </li>
                <li class="list-group-item" style="padding: 1px 0px;border-bottom: 1px solid #ccc;">
                    <div class="con">
                        <div class="list-hd">
                            <h5>时间:</h5><span>{$config.activity_time}</span>
                        </div>
                    </div>
                </li>
                <li class="list-group-item" style="padding: 0px;">
                    <div class="con">
                        <div class="list-hd">
                            <h5>投票介绍:</h5><span>{$config.about}</span>
                        </div>
                    </div>
                </li>
            </ul>
        </div>
    </div>
    <ul class="nav nav-bardown nav-justified" style="z-index:10;">
        <li><a href="javascript:openUrl('{:u_addons(\'Vote://Index/vote\',array(\'id\'=>$config[\'id\']))}')"><span class="btn btn-default" style="border-radius: 50px;padding: 10px 30px;">点击投票</span></a></li>
    </ul>
</div>

<script type="text/javascript">
    function openUrl(url){
        $.get(url , function (data) {
            alert('投票成功!');
            location.reload();
        });
    }

</script>
</body>
</html>

Admin_index.html

<section class="content-header">
    <h1>
        投票管理
        <small></small>
    </h1>
</section>
<section class="content">
<div class="row">
    <div class="col-md-12">
        <div class="box box-danger">
                <div class="box-header with-border">
                    <h3 class="box-title">大转盘设置</h3>
                <!-- /.box-tools -->
                </div>
            <div class="box-body no-padding">
                                <div class="mailbox-controls">
                                    <div class="btn-group">
                            <a data-toggle="tab" href="#tab1" class="btn btn-danger "><i class="icon-comments"></i>投票设置</a>
                        </div>
                        <div class="btn-group">
                            <a data-toggle="tab" href="#tab2" class="btn btn-danger "><i class="icon-user"></i>投票记录</a>
                        </div>

                            <div class="tab-content padded" id="my-tab-content">
                                <div class="tab-pane active" id="tab1">

                                    <p>

                                    <form action="{:u_addons('Vote://Admin/Admin/addConfig')}" id="myForm" method="post"
                                          onsubmit="return false;" class="form-horizontal">
                                        <div class="form-group">
                                            <label class="control-label col-md-2">投票名称</label>

                                            <div style="margin-top:50px" class="col-md-7">
                                                <input class="form-control" placeholder="" value="{$config.name}"
                                                       name="name" type="text">
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label class="control-label col-md-2">活动时间</label>

                                            <div class="col-md-7">
                                                <input class="form-control" placeholder=""
                                                       value="{$config.activity_time}" name="activity_time" type="text">
                                            </div>
                                        </div>
                                        <!-- <div class="form-group">
                                            <label class="control-label col-md-2">活动说明</label>

                                            <div class="col-md-7">
                                                 <!style给定宽度可以影响编辑器的最终宽度
                                           <script type="text/plain" id="myEditor" style="width:100%;height:340px;"></script>
                                            </div>
                                        </div> -->
                                        <div class="form-group">
                                                    <label class="control-label col-md-2">活动说明</label>
                                                    <div class="col-md-7">
                                                        <!--style给定宽度可以影响编辑器的最终宽度-->
                                                        <script id="UEditor" name="about" type="text/plain" style="height:340px;">
                                                            {$config.about}

                                                                                        </script>
                                                    </div>
                                                </div>

                                        <div class="form-group">
                                            <label class="control-label col-md-2"></label>

                                            <div class="col-md-7">
                                                <button class="btn btn-danger"
                                                        onclick="myFormSubmit('{:u_addons(\'Vote://Admin/Admin/index\')}')"
                                                        type="submit">提交
                                                </button>
                                                <button class="btn btn-default-outline">取消</button>
                                            </div>
                                        </div>
                                    </form>
                                    </p>
                                </div>
                                <div class="tab-pane" id="tab2">

                                    <p>

                                    <div class="widget-content padded clearfix">
                                        <table class="table table-hover">
                                            <thead>
                                            <th class="check-header hidden-xs">
                                                <label><input id="checkAll" name="checkAll"
                                                              type="checkbox"><span></span></label>
                                            </th>
                                            <th>
                                                ID
                                            </th>
                                            <th>
                                                用户名
                                            </th>
                                            <th class="hidden-xs">
                                                时间
                                            </th>
                                            </thead>
                                            <tbody>
                                            <volist name="record" id="record">
                                                <tr>
                                                    <td class="check hidden-xs">
                                                        <label><input name="optionsRadios1" type="checkbox"
                                                                      value="option1"><span></span></label>
                                                    </td>
                                                    <td>
                                                        {$record.id}
                                                    </td>
                                                    <td>
                                                        {$record.username}
                                                    </td>
                                                    <td class="hidden-xs">
                                                        {$record.time}
                                                    </td>
                                                </tr>
                                            </volist>
                                            </tbody>
                                        </table>
                                        <div class="pull-right">

                                            {$page}
                                        </div>

                                    </div>
                                    </p>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

            </div>
        </div>

</section>
<!-- <include file="Common:umeditor"/> -->

<script type="text/javascript">
    // //实例化编辑器
    // var um = UM.getEditor('myEditor' , {
    //     textarea : 'about'
    // });

    // function setFocus() {
    //     UM.getEditor('myEditor').focus();
    // }
      $(function() {
    //实例化编辑器异步载入
    var editor = new UE.ui.Editor();
        editor.render("UEditor");
    });

    if ('{$config}') {
        $('select[name="status"]').val('{$config.status}');
        $('select[name="everyday"]').val('{$config.everyday}');
        // UE.getEditor('myEditor').setContent('{$config.activity_explain}');
    }
</script>
<!-- <script>
    if ('{$config}') {
        $('select[name="status"]').val('{$config.status}');
        $('select[name="everyday"]').val('{$config.everyday}');
        UM.getEditor('myEditor').setContent('{$config.about}');
    }
</script> -->  

wemall官网网址: www.wemallshop.com

WeMall微商城源码投票插件Vote的主要源码的更多相关文章

  1. WeMall微商城源码报名插件Apply的主要源码

    WeMall微信商城源码报名插件Apply,用于商城的签到系统,分享了部分比较重要的代码,供技术员学习参考 AdminController.class.php <?php namespace A ...

  2. 二维码生成插件qrious及网站扫码登录的一些理解

    什么是二维码 ​ 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型. ...

  3. WeMall微信商城签到插件Sign的主要源码

    WeMall微信商城源码签到插件Sign,用于商城的签到系统,分享了部分比较重要的代码,供技术员学习参考 AdminController.class.php <?php namespace Ad ...

  4. MyBatis 源码分析 - 插件机制

    1.简介 一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展.这样的好处是显而易见的,一是增加了框架的灵活性.二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作.以 My ...

  5. 亚马逊左侧菜单延迟z三角 jquery插件jquery.menu-aim.js源码解读

    关于亚马逊的左侧菜单延迟,之前一直不知道它的实现原理.梦神提到了z三角,我也不知道这是什么东西.13号那天很有空,等领导们签字完我就可以走了.下午的时候,找到了一篇博客:http://jayuh.co ...

  6. MyBatis 源码篇-插件模块

    本章主要描述 MyBatis 插件模块的原理,从以下两点出发: MyBatis 是如何加载插件配置的? MyBatis 是如何实现用户使用自定义拦截器对 SQL 语句执行过程中的某一点进行拦截的? 示 ...

  7. 精尽MyBatis源码分析 - 插件机制

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...

  8. Maven 依赖调解源码解析(二):如何调试 Maven 源码和插件源码

    本文是系列文章<Maven 源码解析:依赖调解是如何实现的?>第二篇,主要介绍如何调试 Maven 源码和插件源码.系列文章总目录参见:https://www.cnblogs.com/xi ...

  9. php 微信公众号+微商城开发 基于Thinkphp3.2框架开发

    说明:本教程是自己自学+自己的理解+扩展(包括学习过程中遇到的一些问题) 参考教程:麦子学院--李忠益--http://www.maiziedu.com/u/70409/ 微盟: http://www ...

随机推荐

  1. jquery $.getJSON()跨域请求

    以前总是没搞明白是怎么回事,现在是迫不得已,就仔细看了看说明文档,终于测试成功了,记下   1,同一域名下和其他的请求可以是一样的 js: 代码如下: var url="http://loc ...

  2. PHP用户注册邮箱并验证激活帐号

    我们在很多网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在该网站注册的帐号.激活成功后才能正常使用会员功能. 查 ...

  3. Spring Boot启动过程(一)

    之前在排查一个线上问题时,不得不仔细跑了很多遍Spring Boot的代码,于是整理一下,我用的是1.4.3.RELEASE. 首先,普通的入口,这没什么好说的,我就随便贴贴代码了: SpringAp ...

  4. Golomb及指数哥伦布编码原理介绍及实现

    2017年的第一篇博文. 本文主要有以下三部分内容: 介绍了Golomb编码,及其两个变种:Golomb-Rice和Exp-Golomb的基本原理 C++实现了一个简单的BitStream库,能够方便 ...

  5. Condition源码分析

    转:http://www.nbtarena.com/Html/soft/201308/2429.html Condition的概念 大体实现流程 I.初始化状态 II.await()*作 III.si ...

  6. 基于basys2用verilog设计多功能数字钟(重写)

    话不多说先上图         前言 自从学习FPGA以来,唯一做过的完整系统就是基于basys2得多功能数字表.记得当时做的时候也没少头疼,最后用时间磨出来了一个不是很完整的小系统,当时还是产生了满 ...

  7. js实现省市区联动

    先来看看效果图吧,嘻嘻~~~~~~~~~~~~~~~~~~~· 代码在下面: 示例一: html: <!DOCTYPE html> <html> <head> &l ...

  8. Java语言开发环境搭建

    在使用任何计算机语言开发之前,都要搭建其开发环境. 一.明确什么是JDK.JRE. 二.下载JDK 三.安装JDK 四.配置环境变量 五.验证是否成功 一.什么是JRE.JDK. JRE(Java R ...

  9. uml系列(六)——行为图:活动&状态

    说完uml的静态图了,说一下uml的动态的表示吧. uml的行为图,uml的行为图主要用来设计程序的行为.还是老规矩,先来张图: 行为图包含活动图和状态图两种. 先来说下活动图:活动图是由活动的节点和 ...

  10. 快速排序的C语言实现

    #include <stdio.h> int qSort(int a[],int i,int j) { int h = i; int r = j; int x = a[h]; int f ...