You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
243 lines
9.5 KiB
243 lines
9.5 KiB
<?php
|
|
/**
|
|
* [Laike System] Copyright (c) 2017-2020 laiketui.com
|
|
* Laike is not a free software, it under the license terms, visited http://www.laiketui.com/ for more details.
|
|
*/
|
|
require_once('BaseAction.class.php');
|
|
|
|
class IndexAction extends BaseAction
|
|
{
|
|
|
|
// 获取小程序首页数据
|
|
public function index()
|
|
{
|
|
$db = DBAction::getInstance();
|
|
$appConfig = $this->getAppInfo();
|
|
$img = $appConfig['imageRootUrl'];
|
|
$title = $appConfig['appName'];
|
|
$logo = $appConfig['logo'];
|
|
|
|
// 查询轮播图,根据排序、轮播图id顺序排列
|
|
$sql = "select * from lkt_banner order by sort,id";
|
|
$r = $db->select($sql);
|
|
$banner = array();
|
|
foreach ($r as $k => $v) {
|
|
$result = array();
|
|
$result['id'] = $v->id; // 轮播图id
|
|
$result['image'] = $img . $v->image; // 图片
|
|
$result['url'] = $v->url; // 链接
|
|
$banner[] = $result;
|
|
unset($result); // 销毁指定变量
|
|
}
|
|
|
|
$shou = [];
|
|
$sql_cs = "select a.initial,a.id,a.product_title,a.volume,a.imgurl,c.price,a.sort
|
|
from lkt_product_list AS a RIGHT JOIN (select min(price) price,pid from lkt_configure group by pid) AS c ON a.id = c.pid
|
|
where a.status = 0 and a.num >0 and s_type like '%4%'
|
|
order by a.sort asc,a.volume desc limit 0,10";
|
|
$r_cs = $db->select($sql_cs);
|
|
if ($r_cs) {
|
|
foreach ($r_cs as $keyc => $valuec) {
|
|
$valuec->imgurl = $img . $valuec->imgurl;
|
|
$initial = unserialize($valuec->initial);
|
|
|
|
$pid = $valuec->id;
|
|
$sql_ttt = "select price,yprice from lkt_configure where pid ='$pid' order by price asc ";
|
|
$r_ttt = $db->select($sql_ttt);
|
|
$price = $r_ttt[0]->price;
|
|
$price_yh = $r_ttt[0]->yprice;
|
|
|
|
$valuec->price = $price;
|
|
$valuec->price_yh = $price_yh;
|
|
|
|
$shou[] = $valuec;
|
|
}
|
|
}
|
|
|
|
|
|
//列出等级关系
|
|
$distributor = [];
|
|
//查询商品并分类显示返回JSON至小程序
|
|
$sql_c = 'select cid,pname from lkt_product_class where sid=0 and recycle!=1 order by sort asc';
|
|
$r_c = $db->select($sql_c);
|
|
$twoList = [];
|
|
foreach ($r_c as $key => $value) {
|
|
$sql_e = 'select cid,pname,img from lkt_product_class where sid=\'' . $value->cid . '\' and recycle!=1 order by sort desc LIMIT 0,10';
|
|
$r_e = $db->select($sql_e);
|
|
$icons = [];
|
|
if ($r_e) {
|
|
foreach ($r_e as $ke => $ve) {
|
|
$imgurl = $img . $ve->img;
|
|
$icons[$ke] = array('id' => $ve->cid, 'name' => $ve->pname, 'img' => $imgurl);
|
|
}
|
|
} else {
|
|
$icons = [];
|
|
}
|
|
|
|
$ttcid = $value->cid;
|
|
|
|
$sql_s = "select a.id,a.product_title,a.volume,c.price,a.imgurl
|
|
from lkt_product_list AS a
|
|
RIGHT JOIN (select min(price) price,pid from lkt_configure group by pid) AS c
|
|
ON a.id = c.pid
|
|
where a.product_class like '%-$ttcid-%' and a.status = 0 and a.num >0
|
|
order by a.sort DESC LIMIT 0,10";
|
|
|
|
$r_s = $db->select($sql_s);
|
|
$product = [];
|
|
|
|
$r_s = empty($r_s) ? [] : ($r_s ? $r_s : []);
|
|
|
|
foreach ($r_s as $k => $v) {
|
|
$imgurl = $img . $v->imgurl;
|
|
$pid = $v->id;
|
|
$sql_ttt = "select price,yprice from lkt_configure where pid ='$pid' order by price asc ";
|
|
$r_ttt = $db->select($sql_ttt);
|
|
$price = $r_ttt[0]->price;
|
|
$price_yh = $r_ttt[0]->yprice;
|
|
|
|
$product[$k] = array('id' => $v->id, 'name' => $v->product_title, 'price' => $price, 'price_yh' => $price_yh, 'imgurl' => $imgurl, 'volume' => $v->volume);
|
|
}
|
|
$twoList['0'] = array('id' => '0', 'name' => '首页', 'count' => 1, 'twodata' => $shou, 'distributor' => $distributor);
|
|
$twoList[$key + 1] = array('id' => $value->cid, 'name' => $value->pname, 'count' => 1, 'twodata' => $product, 'icons' => $icons);
|
|
}
|
|
$sql = "select * from lkt_background_color where status = 1";
|
|
$r = $db->select($sql);
|
|
if ($r) {
|
|
$bgcolor = $r[0]->color;
|
|
} else {
|
|
$bgcolor = '#FF6347';
|
|
}
|
|
|
|
|
|
// 查询插件表里,状态为启用的插件
|
|
$sql = "select * from lkt_plug_ins where status = 1 and type = 0 and software_id = 3";
|
|
$plug = $db->select($sql);
|
|
if ($plug) {
|
|
|
|
foreach ($plug as $k => $v) {
|
|
$v->image = $img . $v->image;
|
|
}
|
|
}
|
|
$pmd = [];
|
|
|
|
$lkt_set_notice = "select id,name from lkt_set_notice order by time desc";
|
|
$notice = [];
|
|
$res_notice = $db->select($lkt_set_notice);//公告
|
|
if ($res_notice) {
|
|
foreach ($res_notice as $key => $value) {
|
|
$notice[$key] = array('url' => $value->id, 'title' => $value->name);
|
|
}
|
|
}
|
|
echo json_encode(array('banner' => $banner, 'notice' => $notice, 'djname' => '', 'twoList' => $twoList, 'bgcolor' => $bgcolor, 'plug' => $plug, 'title' => $title, 'logo' => $logo, 'list' => $pmd));
|
|
exit();
|
|
|
|
}
|
|
|
|
|
|
// 加载更多商品
|
|
public function get_more()
|
|
{
|
|
$db = DBAction::getInstance();
|
|
$request = $this->getContext()->getRequest();
|
|
$paegr = addslashes(trim($request->getParameter('page'))); // '显示位置'
|
|
$index = addslashes(trim($request->getParameter('index'))); // '分类ID'
|
|
|
|
$appConfig = $this->getAppInfo();
|
|
$img = $appConfig['imageRootUrl'];
|
|
|
|
if (!$paegr) {
|
|
$paegr = 1;
|
|
}
|
|
$start = 10 * $paegr;
|
|
$end = 10;
|
|
$product = array();
|
|
//查询商品并分类显示返回JSON至小程序
|
|
if ($index == 0) {
|
|
|
|
$sql_cs = "select a.initial,a.id,a.product_title,a.volume,a.imgurl,c.price,a.sort
|
|
from lkt_product_list AS a RIGHT JOIN (select min(price) price,pid from lkt_configure group by pid) AS c ON a.id = c.pid
|
|
where a.status = 0 and a.num >0 and s_type like '%4%'
|
|
order by a.sort asc,a.volume desc limit $start,$end";
|
|
|
|
$r_cs = $db->select($sql_cs);
|
|
|
|
if ($r_cs) {
|
|
foreach ($r_cs as $keyc => $valuec) {
|
|
$pid = $valuec->id;
|
|
$sql_ttt = "select price,yprice from lkt_configure where pid ='$pid' order by price asc ";
|
|
$r_ttt = $db->select($sql_ttt);
|
|
$price = $r_ttt[0]->price;
|
|
$price_yh = $r_ttt[0]->yprice;
|
|
$valuec->imgurl = $img . $valuec->imgurl;
|
|
$product[] = array('id' => $valuec->id, 'product_title' => $valuec->product_title, 'price' => $price, 'price_yh' => $price_yh, 'imgurl' => $valuec->imgurl, 'volume' => $valuec->volume);
|
|
}
|
|
}
|
|
|
|
echo json_encode(array('prolist' => $product, 'status' => 1));
|
|
exit;
|
|
} else if (!$index) {
|
|
echo json_encode(array('prolist' => [], 'status' => 0));
|
|
exit;
|
|
|
|
} else {
|
|
//查询商品并分类显示返回JSON至小程序
|
|
$sql_t = "select a.initial,a.id,a.product_title,a.volume,a.imgurl,c.price,a.sort
|
|
from lkt_product_list AS a RIGHT JOIN (select min(price) price,pid from lkt_configure group by pid) AS c ON a.id = c.pid
|
|
where a.status = 0 and a.num >0 and s_type like '%-$index-%'
|
|
order by a.sort asc,a.volume desc limit $start,$end";
|
|
$r_s = $db->select($sql_t);
|
|
$product = [];
|
|
if ($r_s) {
|
|
foreach ($r_s as $k => $v) {
|
|
$imgurl = $img . $v->imgurl;/* end 保存*/
|
|
$pid = $v->id;
|
|
$sql_ttt = "select price,yprice from lkt_configure where pid ='$pid' order by price asc ";
|
|
$r_ttt = $db->select($sql_ttt);
|
|
$price = $r_ttt[0]->price;
|
|
$price_yh = $r_ttt[0]->yprice;
|
|
$product[$k] = array('id' => $v->id, 'product_title' => $v->product_title, 'price' => $price, 'price_yh' => $price_yh, 'imgurl' => $imgurl, 'volume' => $v->volume);
|
|
}
|
|
echo json_encode(array('prolist' => $product, 'status' => 1));
|
|
exit;
|
|
} else {
|
|
echo json_encode(array('prolist' => $product, 'status' => 0));
|
|
exit;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public function class_sort($product_class)//根据类别查询下一级
|
|
{
|
|
$db = DBAction::getInstance();
|
|
$typestr = trim($product_class, '-');
|
|
$typeArr = explode('-', $typestr);
|
|
// 取数组最后一个元素 并查询分类名称
|
|
$cid = end($typeArr);//找到本级ID
|
|
$k[] = '-' . $product_class . '-';
|
|
|
|
if (!empty($cid)) {//循环下一级
|
|
$sql_e = "select cid,pname from lkt_product_class where recycle = 0 and sid = $cid";
|
|
$r_e = $db->select($sql_e);
|
|
|
|
if ($r_e) {
|
|
foreach ($r_e as $k01 => $v01) {//循环第三级
|
|
$k[] = '-' . $product_class . '-' . $v01->cid . '-';
|
|
$sql_e01 = "select cid,pname from lkt_product_class where recycle = 0 and sid = $v01->cid";
|
|
$r_e01 = $db->select($sql_e01);
|
|
|
|
if ($r_e01) {
|
|
foreach ($r_e01 as $k02 => $v02) {
|
|
|
|
$k[] = '-' . $product_class . '-' . $v01->cid . '-' . $v02->cid . '-';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return $k;
|
|
}
|
|
}
|
|
|
|
?>
|