WeMall WeChat モール ソース コード プラグイン ビッグ カルーセル コードは、商業プロモーションのためのより効果的な方法です。より重要なコードの一部は、技術者が学習して参照できるように共有されています。
WeMall WeChat モール ソース コード プラグイン ビッグ カルーセル コードは、商業プロモーションのためのより効果的な方法、技術者が学習して参照するためのより重要なコードのいくつかを共有しました
コードの詳細アドレス: http://addon.wemallshop.com/Product/addonList/menu_id/1 または www.wemallshop.com
AdminController.class<?php <?php <br />
// +---------------------------------------------- --- ---------------------------------- <br>
// | OneThink [ 考えればできる ] <br>
// +---------------------------------------------- --- ---------------------------------- <br>
// | 著作権 (c) 2013 http://www.onethink.cn 無断複写・転載を禁じます。
// +---------------------------------------------- --- ---------------------------------- <br>
// | 著者: マイダン・ミャオエル <br> <zuojiazi> <http:>
// +---------------------------------------------- --- ---------------------------------- <br>
名前空間AddonsWheelController <br>
<br>
クラス AdminController は InitController を拡張します <br>
{ <br>
<br>
<br>
// パブリック関数 __construct() <br>
// { <br>
// 親::__construct();
// } <br>
<br>
パブリック関数index() <br>
{ <br>
$config = M("AddonWheelConfig")->find();
$this->assign("config", $config);
<br>
$record = D('Addons://Wheel/AddonWheelRecord') // ユーザー オブジェクトをインスタンス化します <br>;
$count = $record->count();//要件を満たすレコードの総数をクエリします <br>
$Page = new ThinkPage($count, 12); // ページング クラスをインスタンス化し、レコードの総数と各ページに表示されるレコードの数を渡します (25) <br>
$Page->setConfig('テーマ', "<br><br><br><br>%FIRST%<div><ul>%UP_PAGE%<li>%LINK_PAGE%</li>
<li>%DOWN_PAGE%</li>
<li>%END%</li>
<li> %HEADER% %NOW_PAGE%/% TOTAL_PAGE % ページ<li>
<li>"); <br>
$show = $Page->show();//ページ表示出力 <br>
// ページング データ クエリを実行します。limit メソッドのパラメーターは Page クラスの属性を使用する必要があることに注意してください。
$record = $record->limit($Page->firstRow . ',' . $Page->listRows)->order("id desc")->relation(true)->select();
<br>
$this->assign("record", $record);//代入データセット <br>
$this->assign('page', $show);// 割り当てのページング出力 <br>
<br>
$this->display();
}<br>
<br>
パブリック関数 addConfig() <br>
{ <br>
M("AddonWheelConfig")->where(array("id" => "1"))->save($_POST);
$this->success('正常に設定されました', 'Admin/Admin/index/addon/Wheel');
}<br>
<br><br>
<br>IndexController.class<br><br><?php
/**
* PhpStorm によって作成されました。
* ユーザー: heqing
* 日付: 15/7/30
* 時間: 09:40 <?php <br />
*/ <br>
<br>
名前空間AddonsWheelController <br>
<br>
// クラス IndexController は InitController を拡張します <br>
// { <br>
// パブリック関数 Index() <br>
//
// $this->show('SystemInfo Index インデックス'); <br>
// } <br>
<br>
<br>
// } <br>
<br>
クラス IndexController は InitController を拡張します <br>
{ <br>
パブリック $appUrl = "";
パブリック関数 __construct() <br>
{ <br>
parent::__construct();
$this->appUrl = "http://" .I("server.HTTP_HOST");
}<br>
<br>
パブリック関数 init() <br>
{ <br>
return R("App/Common/init");
}<br>
<br>
パブリック関数 oauthRegister($wxuser) <br>
{ <br>
return R("App/Common/oauthRegister", array($wxuser));
}<br>
<br>
パブリック関数index() <br>
{ <br>
$user=R("App/Public/oauthLogin");
<br>
// if (!session("userUid")) {
$ url = $ weobj-> getoauthredirect($ this->appurl。u_addons( 'wheel:// app/index/index');
header("location: $url"); // 戻る; <br>
// } else { <br>
// $wxuser = $weObj->getOauthUserinfo($token["access_token"], $token["openid"]); <br>
// session("userUid", $wxuser["openid"]); <br>
// $this->oauthRegister($wxuser); <br>
// } <br>
// } <br>
<br>
$user = M("User")->where(array("uid" => session("userUid")))->find(); <br>
<br>
$config = M("AddonWheelConfig")->find(); <br>
$this->assign("config", $config); <br>
$this->assign("ユーザー", $user); <br>
<br>
$record = M("AddonWheelRecord")->where(array("user_id" => session("userId")))->order("id desc")->find(); <br>
$this->assign("レコード", $record); <br>
$this->display(); <br>
} <br>
<br>
/**<br>
*当選確率の計算<br>
*/ <br>
関数lotteryJson() <br>
{ <br>
$today = date("Y-m-d"); <br>
$where["time"] = array("like", $today . "%"); <br>
$where["user_id"] = session("userId"); <br>
$record = D("Addons://Wheel/AddonWheelRecord")->where($where)->find(); <br>
if ($record) { <br>
$this->ajaxReturn("-1"); <br>
戻る; <br>
} <br>
<br>
$config = M("AddonWheelConfig")->find(); <br>
//奖品頻度 <br>
$proArr = array( <br>
'1' => $config["level1_prob"], <br>
'2' => $config["level2_prob"], <br>
'3' => $config["level3_prob"], <br>
'4' => $config["level4_prob"], <br>
'5' => $config["level5_prob"], <br>
'6' => $config["level6_prob"], <br>
'7' => $config["level7_prob"] <br>
); <br>
//奖品库存 <br>
$proCount = array( <br>
'1' => $config["level1_store"], <br>
'2' => $config["level2_store"], <br> '3' => $config["level3_store"], <br>
'4' => $config["level4_store"], <br>
'5' => $config["level5_store"], <br>
'6' => $config["level6_store"], <br>
'7' => $config["level7_store"] <br>
); <br>
$file = './Data/wheel.txt'; <br>
$data = array( <br>
「1」 => 0、 「2」 => 0、 「3」 => 0、 「4」 => 0、 「5」 => 0、 「6」 => 0 <br>
); <br>
if (!file_exists($file)) { <br>
file_put_contents($file, serialize($data)); <br>
} その他 { <br>
$str = file_get_contents($file); <br>
$data = unserialize($str); <br>
} <br>
$rid = $this->getRand($proArr, $proCount); <br>
<br>
if ($rid > 6) { <br>
$rid = 0; <br>
} その他 { <br>
$rid = $this->returnRid($rid, $file, $data, $proCount, $proArr); <br>
} <br>
<br>
M("AddonWheelRecord")->add(array("user_id" => session("userId"), "level" => $rid)); <br>
echo $rid; <br>
} <br>
<br>
function returnRid($rid, $file, $data, $proCount, $proArr) <br>
{ <br>
$data[$rid] = $data[$rid] + 1; <br>
$count = $proCount[$rid]; // 总库存 <br>
if ($count
// 結果抽出されたデータは存続期間库存続清0 <br>より大きい
$proCount[$rid] = 0; <br>
// その後継続的に計算し、特定の値の値が 0 にならないように計算します <br>
$rid = returnRid($rid, $file, $data, $proCount, $proArr); <br>
} その他 { <br>
// 写入缓存 <br>
file_put_contents($file, serialize($data)); <br>
} <br>
$rid を返します。 <br>
} <br>
<br>
/** <br>
* 中奖概率計算、 能用 <br>
* $proArr = array('1'=>'概率', '2'=>'概率'); <br> * $proCount = array('1'=>'库存', '2'=>'库存'); <br>
*/ <br>
関数 getRand($proArr, $proCount) <br>
{ <br>
$結果 = ''; <br>
$proSum = 0; <br>
foreach ($proCount as $key => $val) { <br>
if ($val
続く; <br>
} その他 { <br>
$proSum = $proSum + $proArr[$key]; <br>
} <br>
} <br>
foreach ($proArr as $key => $proCur) { <br>
if ($proCount[$key]
続く; <br>
} その他 { <br>
$randNum = mt_rand(1, $proSum); <br>
if ($randNum
$result = $key; <br>
壊す; <br>
} その他 { <br>
$proSum -= $proCur; <br>
} <br>
} <br>
} <br>
unset($proArr); <br>
$result を返します。 <br>
} <br>
}
InitController.class<?php <?php <br />
/** <br>
* PhpStorm によって作成されました。 <br>
* ユーザー: heqing <br>
* 日付: 15/7/30 <br>
* 時間: 12:11 <br>
*/ <br>
<br>
名前空間AddonsWheelController; <br>
<br>
<br>
CommonControllerAddon を使用します。 <br>
<br>
クラスInitControllerはアドオンを拡張します<br>
{ <br>
<br>
public function install() <br>
{ <br>
$install_sql = './Addons/Wheel/Data/install.sql'; <br>
if (file_exists($install_sql)) { <br>
実行_sql_file($install_sql); <br>
} <br>
$this->success("インストール成功","Admin/Addon/addon"); <br>
} <br>
<br>
public 関数 uninstall() <br>
{ <br>
$uninstall_sql = './Addons/Wheel/Data/uninstall.sql'; <br>If (file_exists($uninstall_sql)) { <br>
execute_sql_file($uninstall_sql) <br>
} <br>
$this->success("アンインストールに成功しました", "管理者/アドオン/アドオン");
}<br>
<br>
フロントデスク
管理者インデックス <section>
<br> <h1>
大きなカルーセル管理 <br>
<br><small></small>
<br> </h1>
<br> </section>
<br> <section>
<br> <div>
<br>
<div> <br>
<div> <br>
<div>
<br>
<h3> </h3> <br><!-- /.box-tools --><br> </div>
<br><br> <br><div>
<br> 盘 盘 盘
<br>
<br>
<br>
<br>
<br>
。
<br>
<br>
’’<div>
<br><label>
<br>
<br>
</label>
</div>
</div>
</div>
</div>
</div></section>