WeMall微信商城源码插件活动报名代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考,商家可自由设置报名项目,活动时间,报名内容

代码详情地址:http://addon.wemallshop.com/Product/addonList/menu_id/1 或 www.wemallshop.com

AdminController.class

<?php

namespace Addons\Apply\Controller;

class AdminController extends InitController
{

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

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

        $record = D('Addons://Apply/AddonApplyRecord'); // 实例化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()
    {
        $event = $_POST["event"];
        // $event = str_replace('"', "", $event);
        // $event = str_replace('[', "", $event);
        // $event = str_replace(']', "", $event);
        // $event = json_encode(explode(",", $event), JSON_UNESCAPED_UNICODE);

        $_POST["event"] = $event;
        M("AddonApplyConfig")->where(array("id" => "1"))->save($_POST);
        $this->success('修改成功', 'Admin/Admin/index/addon/Apply');

    }
}

  

IndexController.class

<?php

namespace Addons\Apply\Controller;

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

    public function index()
    {
        $user = R("App/Public/oauthLogin");
        // $this->assign("user",$user);

        $config = M("AddonApplyConfig")->where(array("status" => 1))->find();
        // print_r(explode(',',$config["event"]));
        $this->assign("event", explode(',',$config["event"]));
        $this->assign("config", $config);

        $contact = M("Contact")->where(array("user_id" => $user["id"]))->find();
        if ($contact) {
            $this->assign("contact", $contact);
        }

        M("AddonApplyConfig")->where(array("id" => 1))->setInc("visiter");

        $this->assign('user', $user);// 赋值分页输出
        $this->display();
    }

    public function addConfig()
    {
        M("AddonApplyConfig")->where(array("id" => "1"))->save($_POST);
    }

    public function addOrder()
    {

        $userHas = M("AddonApplyContact")->where(array("user_id" => session("userId")))->find();

        if ($userHas) {
            $contact ["id"] = $userHas ["id"];
            $contact ["user_id"] = session("userId");
            $contact ["name"] = $_POST ["name"];
            $contact ["address"] = $_POST ["address"];
            M("AddonApplyContact")->save($contact);
        } else {
            $contact ["user_id"] = session("userId");
            $contact ["name"] = $_POST ["name"];
            $contact ["city"] = "";
            $contact ["area"] = "";
            $contact ["address"] = $_POST ["address"];
            M("AddonApplyContact")->add($contact);
        }
        $userHas = M("AddonApplyContact")->where(array("user_id" => session("userId")))->find();
        $contact_id = $userHas["id"];

        $config = M("AddonApplyConfig")->find();

        $data ["user_id"] = session("userId");
        $data ["contact_id"] = $contact_id;
        $data ["name"] = $_POST ["name"];
        $data ["phone"] = $_POST ["phone"];
        $data ["note"] = $_POST ["note"];
        $data ["event"] = $_POST["event"];
        $data ["time"] = date("Y-m-d H:i:s");
        $result = M("AddonApplyRecord")->add($data);

        M("AddonApplyConfig")->where(array("id" => 1))->setInc("apply");
        if ($result) {
            $this->ajaxReturn($result);
        }
    }

Index_index

<!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>{$config.name}</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>

    <style type="text/css">
        #page_tag_load {
            display: none;
            font-size: 14px;
            position: fixed;
            bottom: 70px;
            height: 16px;
            margin-left: -29px;
            left: 50%
        }
    </style>
</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.apply}</span></a>
                <a class="head-nav-list"
                   href="">访问量<span>{$config.visiter}</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.event}</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.time_range}</span>
                        </div>
                    </div>
                </li>
                <li class="list-group-item" style="padding: 0px;">
                    <div class="con">
                        <div class="list-hd">
                            <h5>项目介绍:</h5><span>{$config.introduce}</span>
                        </div>
                    </div>
                </li>
            </ul>
        </div>
    </div>
    <ul class="nav nav-bardown nav-justified" style="z-index:10;">
        <li><a><span class="btn btn-default" style="border-radius: 50px;padding: 11.5px 30px;" onclick="submitApply();">点击报名</span></a></li>
    </ul>

    <div id="page_tag_load"><img src="__IMG__/ajax-loader.gif" alt="loader"></div>

    <div id="cover2" style="display: none; position: fixed; width: 100%; height: 100%;"></div>
    <div class="tc_c2" id="join_box"
         style="left: 0px; bottom: 0px; z-index: 3000; position: fixed; display: none;width: 100%;">
        <div class="join_box_Xq_out" style="max-height: 641px;">
            <div class="tc_c_close">
                <div><img title="关闭" onclick="hidePop(this);" ontouchstart="" src="__IMG__/share_qr_close3.png"></div>
            </div>
            <div class="join_box_Xq">
                <ul id="ul_join_property" class="pop_massage">
                    <li>
                        <div class="optionsName">姓名</div>
                        <div class="inpoutK">
                            <input value="{$contact.name}" type="text" class="font0" name="name" id="name">
                        </div>
                    </li>
                    <li>
                        <div class="optionsName">手机</div>
                        <div class="inpoutK">
                            <input value="{$contact.phone}" type="text" class="font0" name="phone" id="phone">
                        </div>
                    </li>
                    <li>
                        <div class="optionsName">地址</div>
                        <div class="inpoutK">
                            <input value="{$contact.address}" type="text" class="font0" name="address" id="address">
                        </div>
                    </li>
                    <li>
                        <div class="optionsName">项目</div>
                        <div class="inpoutK">
                            <!--<input value="{$contact.address}" type="text" class="font0" name="address" id="address">-->
                            <select name="event" style="width: 98%;" id="event">
                                <volist name="event" id="event">
                                    <option value="{$event}">{$event}</option>
                                </volist>
                            </select>
                        </div>
                    </li>
                    <li>
                        <div class="optionsName">备注</div>
                        <div class="inpoutK">
                            <input value="" type="text" class="font0" name="note" id="note">
                        </div>
                    </li>
                </ul>
            </div>

            <div class="tc_c_btn2" ontouchstart="" id="xdBtn">
                <a title="返回" class="fanHui" href="javascript:void(0);" ontouchstart="" onclick="_joinBox._prev()"
                   style="display: none;"></a>

                <div class="join_Btn">
                    <input id="input_submit" class="blueBtn" type="submit" value="我要报名"
                           style="display: none; width: 100%;">
                    <a style="width: 100%;" id="a_submit" class="blueBtn font02" href="javascript:void(0);"
                       onclick="submitOrder()">提交</a>
                </div>
            </div>

        </div>
    </div>
</div>
<script type="text/javascript">
    function submitApply(){
        $('#cover2').show();
        $('#join_box').show();
    }
    function hidePop(){
        $("#join_box").hide();
        $("#cover2").hide();
    }
    var submitFlag = true;
    function submitOrder(){
        if (submitFlag == false) {
            alert("请不要重复操作!");
            return;
        };
        var name = $('#name').val();
        var phone = $('#phone').val();
        var event = $('#event').val();
        var note = $('#note').val();
        var address = $('#address').val();

        if (name.length == 0 || phone.length == 0) {
            alert("请核对输入的信息!");
            return;
        };
        submitFlag = false;

        $.ajax({
            type: "post",
            url: "{:u_addons('Apply://Index/addOrder')}",
            data: {
                name: name,
                phone: phone,
                event: event,
                note: note,
                address: address
            },
            success: function (data) {
                if(data){
                    hidePop();
                    alert("报名成功!");
                    location.reload();
                }
            },
            beforeSend: function () {
                $('#page_tag_load').show();
            },
            complete: function () {
                $('#page_tag_load').hide();
                submitFlag = true;
            }

        });
    }
</script>
</body>
</html>

  

KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架

官网:http://js.koahub.com
 

WeMall微信商城源码活动报名插件代码详情的更多相关文章

  1. WeMall微信商城源码插件大转盘代码详情

    WeMall微信商城源码插件大转盘代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 代码详情地址:http://addon.wemallshop.com/Product/ ...

  2. WeMall微信商城源码插件代金券部分代码

    WeMall微信商城源码插件Coupon代金券代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 AdminController.class.php <?php na ...

  3. WeMall微信商城源码插件会员卡代码详情

    WeMall微信商城源码插件会员卡代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 Index_index.html <html> <head> ...

  4. wemall app商城源码Android之支付宝通知处理类

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之处 ...

  5. wemall app商城源码机器人检测

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之 ...

  6. wemall app商城源码Android之支付宝接口公用函数

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之  ...

  7. wemall app商城源码Android数据的SharedPreferences储存方式

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android数据 ...

  8. wemall app商城源码Android之ListView异步加载网络图片(优化缓存机制)

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之L ...

  9. wemall app商城源码中android按钮的三种响应事件

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码中android按 ...

随机推荐

  1. MySQL删除单列重复或多列同时重复值并保留一条

    在生产环境中,我们有的列是不允许出现重复值的,亦或是某两列不允许同时重复,但由于前端未做限制,或者没限制住,出现了单列重复值,或者两列本应组成唯一组合却也出现重复,这两种情况都是不允许的.现在由于前端 ...

  2. 分布式环境中三种Session管理方法的使用场景及优缺点

    在分布式环境,管理Session通常使用下面三种方式: 一.Session Replication 方式管理 (即session复制)         简介:将一台机器上的Session数据广播复制到 ...

  3. 让Flash支持Stage3D

    如要需要支持Stage3D,采用GPU来渲染,需要设置wmode="direct",在FB中,对于web和air设置方法不同: 1.web: 需要在web的html模板中,添加参数 ...

  4. javascript实现页面滚屏效果

    当我们浏览网页的时候,时常会碰到可以滚动屏幕的炫酷网页,今天笔者对这一技术进行简单实现,效果不及读者理想中那般炫酷,主要针对滚屏的技术原理和思想进行分享和分析.本示例在页面右侧有五个数字标签,代表五个 ...

  5. 巧用css text-indent减小中文标点符号的占位大小

    由于设计需要,我们的页面中经常会有如下效果: 可是我们实现出来的效果确实这样的: 看起来两行文本没有对齐嘛,仔细检查后原来是[字符的原因,因为是中文标点符号占半个字的位置.不信?选中下汉字标点符号看一 ...

  6. C# 数组、ArrayList、List、Dictionary的用法与区别

    前言 在工作中经常遇到C#数组.ArrayList.List.Dictionary存取数据,但是该选择哪种类型进行存储数据,对于初学者的我一直不知道该怎么取舍.于是抽空好好看了下他们的用法和比较,在这 ...

  7. The type or namespace name '****' could not be found

    偶尔会在编译时出现“The type or namespace name '****' could not be found (are you missing a using directive or ...

  8. Professional C# 6 and .NET Core 1.0 - Chapter 39 Windows Services

    本文内容为转载,供学习研究.如有侵权,请联系作者删除. 转载请注明本文出处:Professional C# 6 and .NET Core 1.0 - Chapter 39 Windows Servi ...

  9. 10步完成Abp(.net core)+Vue的Demo?

    1.去abp官网生成项目,选择.net core1.x版本  2.Nuget还原包,需装dotnet core1.1等. 3.新增一个entity,并加入到上下文中 4.然后cmd命令行工具切换到项目 ...

  10. runtime ---- iOS

    1.runtime是什么?runtime是一套底层的C语言的API(包括C语言数据类型,C语言函数) 实际上平时我们写的OC代码底层都是基于runtime,实际上也就是最后都转成了runtime代码 ...