WeMall微商城源码投票插件Vote的主要源码
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的主要源码的更多相关文章
- WeMall微商城源码报名插件Apply的主要源码
WeMall微信商城源码报名插件Apply,用于商城的签到系统,分享了部分比较重要的代码,供技术员学习参考 AdminController.class.php <?php namespace A ...
- 二维码生成插件qrious及网站扫码登录的一些理解
什么是二维码 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型. ...
- WeMall微信商城签到插件Sign的主要源码
WeMall微信商城源码签到插件Sign,用于商城的签到系统,分享了部分比较重要的代码,供技术员学习参考 AdminController.class.php <?php namespace Ad ...
- MyBatis 源码分析 - 插件机制
1.简介 一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展.这样的好处是显而易见的,一是增加了框架的灵活性.二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作.以 My ...
- 亚马逊左侧菜单延迟z三角 jquery插件jquery.menu-aim.js源码解读
关于亚马逊的左侧菜单延迟,之前一直不知道它的实现原理.梦神提到了z三角,我也不知道这是什么东西.13号那天很有空,等领导们签字完我就可以走了.下午的时候,找到了一篇博客:http://jayuh.co ...
- MyBatis 源码篇-插件模块
本章主要描述 MyBatis 插件模块的原理,从以下两点出发: MyBatis 是如何加载插件配置的? MyBatis 是如何实现用户使用自定义拦截器对 SQL 语句执行过程中的某一点进行拦截的? 示 ...
- 精尽MyBatis源码分析 - 插件机制
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...
- Maven 依赖调解源码解析(二):如何调试 Maven 源码和插件源码
本文是系列文章<Maven 源码解析:依赖调解是如何实现的?>第二篇,主要介绍如何调试 Maven 源码和插件源码.系列文章总目录参见:https://www.cnblogs.com/xi ...
- php 微信公众号+微商城开发 基于Thinkphp3.2框架开发
说明:本教程是自己自学+自己的理解+扩展(包括学习过程中遇到的一些问题) 参考教程:麦子学院--李忠益--http://www.maiziedu.com/u/70409/ 微盟: http://www ...
随机推荐
- PHP 中使用socket
一.开启socket phpinfo();查看是否开启了socket扩展,否则在php.ini中开启. 二.服务器端代码的写法 <?php error_reporting(E_ALL); set ...
- Redhat6.4下配置本地yum
一.准备工作1. Linux安装盘插入光驱 2. 挂载光驱 [root@localhost ~]# mount /dev/cdrom /mnt/ mount: block device /dev/s ...
- 用ant打包可运行的jar文件 (将第三方jar包放进你自己的jar包)
http://blog.csdn.net/caiqcong/article/details/7618582 <span style="font-family:SimSun;font-s ...
- jQ小图标上下滑动特效
嗯,又到了,夜静饥寒的时候,手指颤抖,回望去,屋内满是寂静,寥寥绰影,咳咳咳,想我程序员之路还没到终点...就...咳咳咳 好了日常神经结束,还要涂我的唇膏.还剩下,最后一章,js动画(四),明天放上 ...
- 我的小工具开源一下-PingTest
v博客前言 先交代下背景,最近我们项目组的网络真是太渣了,时常remote不了另外一个地方的机器,过个几分钟就断开连接,太烦躁了,严重影响工作心情...于是想着做个工具记录下每天的断开remote连接 ...
- loadrunner:从数据库中取值进行参数化
下面我们介绍用数据库中的用户名来参数化登陆用户名. 框选住登陆名,点鼠标右键,弹出对话框,选择"替换为新参数"弹出对话框,此时参数名输入:name,参数类型选择File,如图 点& ...
- iOS获取本地时间
NSDate *currentDate = [NSDate date];//获取当前时间,日期 NSDateFormatter *dateFormatter = [[NSDateFormatter a ...
- next_permutation(全排列算法)
STL提供了两个用来计算排列组合关系的算法,分别是next_permutation和prev_permutation.首先我们必须了解什么是"下一个"排列组合,什么是"前 ...
- [java多线程] - 锁机制&同步代码块&信号量
在美眉图片下载demo中,我们可以看到多个线程在公用一些变量,这个时候难免会发生冲突.冲突并不可怕,可怕的是当多线程的情况下,你没法控制冲突.按照我的理解在java中实现同步的方式分为三种,分别是:同 ...
- Qt中纯C++项目发布为dll的方法(超详细步骤)
众所周知,我们可以将C++项目中的类以及某些方法导出,形成 .dll 文件,以供其他程序使用,下面将说明Qt环境下的使用方法. 首先创建共享库,步骤如下: 下一步会出现类对话框等等,不用管它,直接点击 ...