order login site wxapp
order
var e = getApp(); import http from '../util/request.js'; // 创建页面实例对象 Page({ /** * 页面名称 */ name: "order", /** * 页面的初始数据 */ data: { backTopValue: false, nodata: false, list: [], allPages: 0, page: 1, loadMoreData: "下拉加载更多", state:0, id:0, score1:0, score2:0, content:'', }, /** * 生命周期函数--监听页面加载 */ onLoad () { if (!wx.getStorageSync("user")) { wx.redirectTo({ url: '../login/login', }) } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady () { }, /** * 生命周期函数--监听页面显示 */ onShow () { this.setData({ state: 0, page: 1, }); this.getData(); }, /** * 生命周期函数--监听页面隐藏 */ onHide () { }, /** * 生命周期函数--监听页面卸载 */ onUnload () { }, onPullDownRefresh() { var self = this; setTimeout(function () { if (self.data.page < self.data.allPages) { self.setData({ page: self.data.page + 1 }); self.getData(); } else { self.setData({ loadMoreData: "没有数据了" }); } }, 300); }, onReachBottom() { var self = this; setTimeout(function () { if (self.data.page < self.data.allPages) { self.setData({ page: self.data.page + 1 }); self.getData(); } else { self.setData({ loadMoreData: "没有数据了" }); } }, 300); }, //以下为自定义点击事件 onPageScroll: function (e) { var that = this; var scrollTop = e.scrollTop var backTopValue = scrollTop > 150 ? true : false that.setData({ backTopValue: backTopValue }) }, backTop: function () { wx.pageScrollTo({ scrollTop: 0 }) }, getData:function(){ var that = this; http.get('order', { uid: wx.getStorageSync("user").id, page: that.data.page, state: that.data.state,}).then(data => { if (that.data.page == 1) { var tempArray = []; } else { var tempArray = that.data.list; } that.setData({ list: tempArray.concat(data.list), allPages: data.totalPage }); if (data.list.length == 0) { if (that.data.page == 1) { that.setData({ nodata: true }); } else { that.setData({ loadMoreData: '没有数据了' }); } } else { that.setData({ nodata: false }); } }); }, bindstate:function(e){ this.setData({ state: e.currentTarget.dataset.s, page: 1, id:0, }); this.getData(); }, topiuser:function(e){ wx.redirectTo({ url: '../uinfo/uinfo?id=' + e.currentTarget.dataset.id, }) }, topproject:function(e){ wx.redirectTo({ url: '../pinfo/pinfo?id=' + e.currentTarget.dataset.pid, }) }, callphone:function(e){ var mobile = e.currentTarget.dataset.s; wx.makePhoneCall({ phoneNumber: mobile }) }, quxiao:function(e){ var id = e.currentTarget.dataset.id; var that = this; wx.showModal({ title: '友情提示', content: '您确定取消该订单吗?', fail:function(){}, success:function(e){ if (e.confirm == false) return false; http.get('qx',{id:id}).then(data => { that.setData({ page: 1, }); that.getData(); }); } }) }, payment:function(e){ var id = e.currentTarget.dataset.id; var price = e.currentTarget.dataset.price; var that = this; http.get('pay', { price: price}).then(param => { wx.requestPayment({ 'timeStamp': param.timeStamp, 'nonceStr': param.nonceStr, 'package': param.package, 'signType': 'MD5', 'paySign': param.paySign, 'success': function (res) { http.get('pay2', { 'price': price, id: id,uid:wx.getStorageSync('user').id }).then(data => { wx.showToast({ title: '恭喜您付款成功,客服会马上和您联系', duration: 2500, }); setTimeout(function () { that.setData({ page: 1 }); that.getData(); }, 2500); }); }, 'fail': function (fail) { wx.showToast({ icon: 'none', title: '付款失败', duration: 3500, }); } }); }); }, comment:function(e){ var that = this; var id = e.currentTarget.dataset.id; var key = e.currentTarget.dataset.key; that.setData({ id: id}); that.setData({ content: that.data.list[key].comment.content || "", score1: that.data.list[key].comment.score1 || 0, score2: that.data.list[key].comment.score2 || 0 }); }, sliderchange1:function(e){ this.setData({ score1: e.detail.value}); }, sliderchange2: function (e) { this.setData({ score2: e.detail.value }); }, content:function(e){ this.setData({ content: e.detail.value }); }, sendComment:function(e){ var t = this; if (t.data.score1 == 0) { wx.showToast({ title: '服务技能必须大于0分', icon: "none", duration: 2500 }); return false; } if (t.data.score2 == 0) { wx.showToast({ title: '服务态度必须大于0分', icon: "none", duration: 2500 }); return false; } if (t.data.content == '') { wx.showToast({ title: '请填写评论内容', icon: "none", duration: 2500 }); return false; } var send = { uid: wx.getStorageSync("user").id, oid: t.data.id, content: t.data.content, score1: t.data.score1, score2: t.data.score2, }; http.post('comment', send).then(data => { if (data == 1) { wx.showToast({ title: '感谢您的支持,我们会做的更好!', icon: "none", duration: 3000, }) setTimeout(function () { t.setData({ id: 0, content: '', score1: 0, score2:0 }); t.getData(); }, 3000); } }); }, disComment:function(e){ this.setData({ id:0,score1:0,score2:0,content:"" }); } })
login
var e = getApp(); import http from '../util/request.js'; Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { e.util.getUserInfo({ scuesss: function (rs) { console.log(rs); } }); }, bindGetUserInfo: function (a) { http.post('setuser',{ code: wx.getStorageSync("code"), nickName: a.detail.userInfo.nickName, avatar: a.detail.userInfo.avatarUrl, gender: a.detail.userInfo.gender, }).then(data => { wx.setStorageSync('user', data ); if (wx.getStorageSync("back")){ wx.redirectTo({ url: wx.getStorageSync("back"), }) }else{ wx.switchTab({ url: '../order/order', }) } }); }, back:function(e){ wx.switchTab({ url: '../index/index', }) } })
index.js //index.js //获取应用实例 const app = getApp() Page({ data: { motto: 'Hello World', userInfo: {}, hasUserInfo: false, canIUse: wx.canIUse('button.open-type.getUserInfo'), aa:'aa', bb:'bb', cc:'cc', dd:'dd', ee:'ee', content:'', tel:'' }, //事件处理函数 bindViewTap: function() { wx.navigateTo({ url: '../logs/logs' }) }, onShow:function(){ wx.onUserCaptureScreen(function (res) { console.log('用户截屏了') }) }, onLoad: function () { if (app.globalData.userInfo) { this.setData({ userInfo: app.globalData.userInfo, hasUserInfo: true }) } else if (this.data.canIUse){ // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 app.userInfoReadyCallback = res => { this.setData({ userInfo: res.userInfo, hasUserInfo: true }) } } else { // 在没有 open-type=getUserInfo 版本的兼容处理 wx.getUserInfo({ success: res => { app.globalData.userInfo = res.userInfo this.setData({ userInfo: res.userInfo, hasUserInfo: true }) } }) } }, bindButtonTap: function () { var that = this wx.chooseVideo({ sourceType: ['album', 'camera'], maxDuration: 60, camera: 'back', success: function (res) { that.setData({ src: res.tempFilePath, aa:res.tempFilePath, bb:res.size, cc:res.duration, dd:res.height, ee:res.width, }) } }) }, up:function(){ wx.chooseImage({ success: function (res) { var tempFilePaths = res.tempFilePaths wx.uploadFile({ url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址 filePath: tempFilePaths[0], name: 'file', formData: { 'user': 'test' }, success: function (res) { var data = res.data //do something } }) } }) }, addr:function(){ wx.getLocation({ type: 'gcj02', //返回可以用于wx.openLocation的经纬度 success: function (res) { var latitude = res.latitude var longitude = res.longitude wx.openLocation({ latitude: latitude, longitude: longitude, scale: 28 }) } }) }, zdl:function(){ wx.vibrateLong({}) }, zdd: function () { wx.getScreenBrightness({}) }, msg:function(){ wx.showToast({ title: '盼盼成功', icon: 'none', duration: 2500 }) }, load:function(){ wx.showModal({ title: '提示', content: '这是一个模态弹窗', success: function (res) { if (res.confirm) { console.log('用户点击确定') } else if (res.cancel) { console.log('用户点击取消') } } }) }, donav:function(){ wx.showActionSheet({ itemList: ['A', 'B', 'C'], success: function (res) { console.log(res.tapIndex) }, fail: function (res) { console.log(res.errMsg) } }) }, pagetitle:function(){ wx.setNavigationBarTitle({ title: '当前页面盼盼' }) }, tabar:function(){ wx.setTabBarBadge({ index: 1, text: '盼' }) }, rtabar:function(){ wx.removeTabBarBadge({ index:1 }) }, content:function(e){ this.setData({ content:e.detail.value }) }, tel:function(e){ this.setData({ tel: e.detail.value }) }, submit:function(){ if(this.data.content==''){ wx.showToast({ title: '内容不能为空', }) }else if(!(/^1[3|4|5|6|7|8][0-9]{9}$/.test(this.data.tel))){ wx.showToast({ title: '电话号码格式不对', }) }else{ //提交到后台 var that = this wx.showLoading({ title: '数据提交中', }) app.util.request({ url:'entry/wxapp/consult', data:{ m:'lv_suo', content:that.data.content, tel:that.data.tel, }, cachetime:30, success:function(res){ if(res.data.data.status == 'success'){ wx.showToast({ title: '添加成功', }) wx.reLaunch({ url:"../index/index" }) } }, fail:function(){ failGo('请检查连接地址') } }) } } , /* addons.lv_suo/wxapp.php public function doPageConsult(){ global $_GPC,$_W; $data = array( 'content'=>$_GPC['content'], 'tel'=>$_GPC['tel'], 'addtime'=>time(), 'uniacid'=>$_W['uniacid'] ); $result = pdo_insert('lv_suo_consult',$data); if(!empty($result)){ $errno = 0; $message=$tltal; $data = array('status'=>'susccse'); return $this->result($errno,$message,$data); } } */ getUserInfo: function(e) { console.log(e) app.globalData.userInfo = e.detail.userInfo this.setData({ userInfo: e.detail.userInfo, hasUserInfo: true }) } })
site <?php /** * md_daojia模块微站定义 * * * @url */ defined('IN_IA') or exit('Access Denied'); class Md_daojiaModuleSite extends WeModuleSite { private $tb_banner = 'daojia_focus'; private $tb_category = 'daojia_cat'; private $tb_user = 'daojia_user'; private $tb_addr = 'daojia_addr'; private $tb_project = 'daojia_project'; private $tb_poseal = 'daojia_poseal'; private $tb_setup = 'daojia_setup'; private $tb_order = 'daojia_order'; private $tb_comment = 'daojia_comment'; public function doWebSetup() { global $_W, $_GPC; $op = in_array($_GPC['op'], array('display')) ? $_GPC['op'] : 'display'; if($op == 'display'){ $row = $this->getSetUpRow(); if (checksubmit()) { $set = $_GPC['set']; $set['uniacid'] = $_W['uniacid']; if($row['id'] == 0){ pdo_insert($this->tb_setup, $set); }else{ pdo_update($this->tb_setup , $set , array('id' => $row['id'])); } message('保存成功',$this->createWebUrl('setup', array('op'=>'display')),'success'); } load()->func('tpl'); include $this->template('setup'); } } public function doWebFocus() { global $_W, $_GPC; $op = in_array($_GPC['op'], array('display', 'create', 'delete')) ? $_GPC['op'] : 'display'; if($op == 'display'){ $banner = $this->getAllBanner(); load()->func('tpl'); include $this->template('banner'); }else if ($op == 'create') { $id = intval($_GET['id']); if($id > 0){ $sql = 'SELECT * FROM '.tablename($this->tb_banner).' WHERE id=:id AND uniacid=:uniacid LIMIT 1'; $params = array(':id'=>$id, ':uniacid'=>$_W['uniacid']); $rs = pdo_fetch($sql, $params); } if (checksubmit()) { $banner = $_GPC['focus']; $banner['uniacid'] = $_W['uniacid']; $banner['displayorder'] = $banner['displayorder'] ? $banner['displayorder'] : 255; if($id == 0){ pdo_insert($this->tb_banner, $banner); }else{ pdo_update($this->tb_banner , $banner , array('id' => $id)); } message('保存成功',$this->createWebUrl('focus', array('op'=>'display')),'success'); } include $this->template('banner'); }else if($op == 'delete'){ $id = intval($_GPC['id']); if(empty($id)){ message('未找到指定ID'); } $result = pdo_delete($this->tb_banner, array('id'=>$id, 'uniacid'=>$_W['uniacid'])); if(intval($result) == 1){ message('删除焦点图成功.', $this->createWebUrl('focus' , array('op'=>'display')), 'success'); } else { message('删除焦点图失败.'); } } } public function doWebCat() { global $_W, $_GPC; $op = in_array($_GPC['op'], array('display', 'create', 'delete')) ? $_GPC['op'] : 'display'; if($op == 'display'){ $pid = intval($_GPC['pid']); $categories = $this->getAllCategory($pid); load()->func('tpl'); include $this->template('category'); }else if ($op == 'create') { $id = intval($_GET['id']); if($id > 0){ $sql = 'SELECT * FROM '.tablename($this->tb_category).' WHERE id=:id AND uniacid=:uniacid LIMIT 1'; $params = array(':id'=>$id, ':uniacid'=>$_W['uniacid']); $rs = pdo_fetch($sql, $params); } if($_GPC['pid'] > 0){ $rs['pid'] = intval($_GPC['pid']); } $options = $this->getAllOption($rs['pid'] ? $rs['pid'] : 0); if (checksubmit()) { $category = $_GPC['category']; // 获取打包值 if(empty($category['cname'])){ message('未添加分类名称, 无法保存'); } $category['uniacid'] = $_W['uniacid']; $category['displayorder'] = $category['displayorder'] ? $category['displayorder'] : 255; if($id == 0){ pdo_insert($this->tb_category, $category); }else{ pdo_update($this->tb_category , $category , array('id' => $id)); } message('保存分类成功',$this->createWebUrl('cat', array('op'=>'display')),'success'); } include $this->template('category'); }else if($op == 'delete'){ $id = intval($_GPC['id']); if(empty($id)){ message('未找到指定分类'); } $this->delateChilend($id); $result = pdo_delete($this->tb_category, array('id'=>$id, 'uniacid'=>$_W['uniacid'])); if(intval($result) == 1){ message('删除分类成功.', $this->createWebUrl('cat' , array('op'=>'display')), 'success'); } else { message('删除分类失败.'); } } } public function doWebUser() { global $_W, $_GPC; $op = in_array($_GPC['op'], array('display','create', 'delete')) ? $_GPC['op'] : 'display'; if($op == 'display'){ $title = $_GPC['title']; $pageindex = max(intval($_GPC['page']), 1); $pagesize = 20; $where = ' WHERE mid='.$_W['uniacid']; if($title != ''){ $where .= ' and (nickname like "%'.$title.'%") or (uname like "%'.$title.'%")'; } if($_GET['id'] > 0){ $where .= " and id=".$_GET['id']; } $sql = 'SELECT COUNT(*) FROM '.tablename($this->tb_user).$where; $total = pdo_fetchcolumn($sql); $pager = pagination($total, $pageindex, $pagesize); $sql = 'SELECT * FROM '.tablename($this->tb_user)." {$where} ORDER BY id desc LIMIT ".(($pageindex -1) * $pagesize).','. $pagesize; $list = pdo_fetchall($sql); load()->func('tpl'); include $this->template('user'); }else if($op == 'delete'){ $id = intval($_GPC['id']); if(empty($id)){ message('未找到指定ID'); } $result = pdo_delete($this->tb_user, array('id'=>$id)); if(intval($result) == 1){ message('删除成功.', $this->createWebUrl('user' , array('op'=>'display')), 'success'); } else { message('删除失败.'); } } } public function doWebProject() { global $_W, $_GPC; $op = in_array($_GPC['op'], array('display', 'create', 'delete')) ? $_GPC['op'] : 'display'; if($op == 'display'){ $title = $_GPC['title']; $catid = intval($_GPC['catid']); $aid = intval($_GPC['aid']); $addrop = $this->getAllAddrOption($aid); $catop = $this->getAllOption($catid); $pageindex = max(intval($_GPC['page']), 1); $pagesize = 20; $where = ' WHERE uniacid='.$_W['uniacid']; if($title != ''){ $where .= ' and (pname like "%'.$title.'%")'; } if($catid > 0){ $where .= " and catid=".$catid; } if($aid > 0){ $where .= " and aid=".$aid; } $id = $_GPC['id']; if($id > 0){ $where .= " and id=".$id; } $sql = 'SELECT COUNT(*) FROM '.tablename($this->tb_project).$where; $total = pdo_fetchcolumn($sql); $pager = pagination($total, $pageindex, $pagesize); $sql = 'SELECT * FROM '.tablename($this->tb_project)." {$where} ORDER BY id desc LIMIT ".(($pageindex -1) * $pagesize).','. $pagesize; $list = pdo_fetchall($sql); if($list){ foreach ($list as $key => $val){ $list[$key]['catname'] = $this->getAllByIDCat($val['catid']); $list[$key]['addrname'] = $this->getAllByIDAddr($val['aid']); } } load()->func('tpl'); include $this->template('project'); }elseif ($op == 'create'){ $id = intval($_GET['id']); if($id > 0){ $rs = $this->getProjectRow($id); } $addrop = $this->getAllAddrOption($rs['aid']); $catop = $this->getAllOption($rs['catid']); if (checksubmit()) { $project = $_GPC['project']; // 获取打包值 $project['uniacid'] = $_W['uniacid']; $project['addtime'] = time(); if($id == 0){ pdo_insert($this->tb_project, $project); }else{ pdo_update($this->tb_project , $project , array('id' => $id)); } message('保存成功',$this->createWebUrl('project', array('op'=>'display')),'success'); } load()->func('tpl'); include $this->template('project'); }else if($op == 'delete'){ $id = intval($_GPC['id']); if(empty($id)){ message('未找到指定ID'); } $result = pdo_delete($this->tb_project, array('id'=>$id)); if(intval($result) == 1){ message('删除成功.', $this->createWebUrl('project' , array('op'=>'display')), 'success'); } else { message('删除失败.'); } } } public function doWebPoseal() { global $_W, $_GPC; $op = in_array($_GPC['op'], array('display', 'create', 'delete')) ? $_GPC['op'] : 'display'; if($op == 'display'){ $title = $_GPC['title']; $catid = intval($_GPC['catid']); $aid = intval($_GPC['aid']); $addrop = $this->getAllAddrOption($aid); $catop = $this->getAllOption($catid); $pageindex = max(intval($_GPC['page']), 1); $pagesize = 20; $where = ' WHERE uniacid='.$_W['uniacid']; if($title != ''){ $where .= ' and (uname like "%'.$title.'%")'; } if($catid > 0){ $where .= " and catid=".$catid; } if($aid > 0){ $where .= " and aid=".$aid; } $id = $_GPC['id']; if($id > 0){ $where .= " and id=".$id; } $sql = 'SELECT COUNT(*) FROM '.tablename($this->tb_poseal).$where; $total = pdo_fetchcolumn($sql); $pager = pagination($total, $pageindex, $pagesize); $sql = 'SELECT * FROM '.tablename($this->tb_poseal)." {$where} ORDER BY id desc LIMIT ".(($pageindex -1) * $pagesize).','. $pagesize; $list = pdo_fetchall($sql); if($list){ foreach ($list as $key => $val){ $list[$key]['catname'] = $this->getAllByIDCat($val['catid']); $list[$key]['addrname'] = $this->getAllByIDAddr($val['aid']); } } load()->func('tpl'); include $this->template('poseal'); }elseif ($op == 'create'){ $id = intval($_GET['id']); if($id > 0){ $rs = $this->getPosealRow($id); $rs['multi'] = unserialize($rs['multi']); } $addrop = $this->getAllAddrOption($rs['aid']); $catop = $this->getAllOption($rs['catid']); if (checksubmit()) { $poseal = $_GPC['poseal']; $lag = $_GPC['lag']; $poseal['lng'] = $lag['lng']; $poseal['lat'] = $lag['lat']; $poseal['uniacid'] = $_W['uniacid']; $poseal['multi'] = serialize($poseal['multi']); $poseal['addtime'] = time(); if($id == 0){ pdo_insert($this->tb_poseal, $poseal); }else{ pdo_update($this->tb_poseal , $poseal , array('id' => $id)); } message('保存成功',$this->createWebUrl('poseal', array('op'=>'display')),'success'); } load()->func('tpl'); include $this->template('poseal'); }else if($op == 'delete'){ $id = intval($_GPC['id']); if(empty($id)){ message('未找到指定ID'); } $result = pdo_delete($this->tb_project, array('id'=>$id)); if(intval($result) == 1){ message('删除成功.', $this->createWebUrl('poseal' , array('op'=>'display')), 'success'); } else { message('删除失败.'); } } } public function doWebAddress() { global $_W, $_GPC; $op = in_array($_GPC['op'], array('display', 'create', 'delete')) ? $_GPC['op'] : 'display'; if($op == 'display'){ $pid = intval($_GPC['pid']); $addess = $this->getAllAddr($pid); load()->func('tpl'); include $this->template('address'); }else if ($op == 'create') { $id = intval($_GET['id']); if($id > 0){ $sql = 'SELECT * FROM '.tablename($this->tb_addr).' WHERE id=:id AND uniacid=:uniacid LIMIT 1'; $params = array(':id'=>$id, ':uniacid'=>$_W['uniacid']); $rs = pdo_fetch($sql, $params); } if($_GPC['pid'] > 0){ $rs['pid'] = intval($_GPC['pid']); } $options = $this->getAllAddrOption($rs['pid'] ? $rs['pid'] : 0); if (checksubmit()) { $addr = $_GPC['addr']; $addr['uniacid'] = $_W['uniacid']; if($id == 0){ pdo_insert($this->tb_addr, $addr); }else{ pdo_update($this->tb_addr , $addr , array('id' => $id)); } message('保存地址成功',$this->createWebUrl('address', array('op'=>'display')),'success'); } include $this->template('address'); }else if($op == 'delete'){ $id = intval($_GPC['id']); if(empty($id)){ message('未找到指定地址'); } $this->delAddr($id); $result = pdo_delete($this->tb_addr, array('id'=>$id, 'uniacid'=>$_W['uniacid'])); if(intval($result) == 1){ message('删除成功.', $this->createWebUrl('address' , array('op'=>'display')), 'success'); } else { message('删除失败.'); } } } public function doWebOrder() { global $_W, $_GPC; $op = in_array($_GPC['op'], array('display', 'state', 'delete')) ? $_GPC['op'] : 'display'; if($op == 'display'){ $title = $_GPC['title']; $state = $_GET['state']; $pageindex = max(intval($_GPC['page']), 1); $pagesize = 20; $where = ' WHERE o.uniacid='.$_W['uniacid']; if($title != ''){ $where .= ' and (o.username like "%'.$title.'%" or u.uname like "%'.$title.'%" or p.pname like "%'.$title.'%" or m.nickname like "%'.$title.'%" )'; } if($state > 0){ $where .= " and o.state=".$state; } $sql = 'SELECT COUNT(*) FROM '.tablename($this->tb_order)." o inner join ".tablename($this->tb_poseal)." u on u.id=o.aid inner join ".tablename($this->tb_project)." p on p.id=o.pid inner join ".tablename($this->tb_user)." m on m.id=o.uid ".$where; $total = pdo_fetchcolumn($sql); $pager = pagination($total, $pageindex, $pagesize); $sql = 'SELECT o.*,m.nickname,p.pname,u.uname FROM '.tablename($this->tb_order)." o inner join ".tablename($this->tb_poseal)." u on u.id=o.aid inner join ".tablename($this->tb_project)." p on p.id=o.pid inner join ".tablename($this->tb_user)." m on m.id=o.uid ".$where." ORDER BY o.id desc LIMIT ".(($pageindex -1) * $pagesize).','. $pagesize; $list = pdo_fetchall($sql); if($list){ foreach ($list as $key => $val){ $list[$key]['state1'] = $this->getOrderState($val['state']); $list[$key]['addtime'] = date('Y-m-d H:i:s' , $val['addtime']); } } load()->func('tpl'); include $this->template('order'); }else if($op == 'state'){ $id = intval($_GPC['id']); if(empty($id)){ message('未找到指定ID'); } $s = $_GPC['s']; pdo_update($this->tb_order , array('state' => $s) , array('id' => $id)); message('修改成功.', $this->createWebUrl('order' , array('op'=>'display')), 'success'); }else if($op == 'delete'){ $id = intval($_GPC['id']); if(empty($id)){ message('未找到指定ID'); } $result = pdo_delete($this->tb_order, array('id'=>$id)); if(intval($result) == 1){ message('删除成功.', $this->createWebUrl('order' , array('op'=>'display')), 'success'); } else { message('删除失败.'); } } } public function doWebComment(){ global $_W, $_GPC; $op = in_array($_GPC['op'], array('display', 'state', 'delete')) ? $_GPC['op'] : 'display'; if($op == 'display'){ $title = $_GPC['title']; $state = $_GET['state']; $pageindex = max(intval($_GPC['page']), 1); $pagesize = 20; $where = ' WHERE o.uniacid='.$_W['uniacid']; $id = $_GPC['id']; if($id > 0){ $where .= " and o.id=".$id; } if($title != ''){ $where .= ' and (o.username like "%'.$title.'%" or u.uname like "%'.$title.'%" or p.pname like "%'.$title.'%" or m.nickname like "%'.$title.'%" )'; } if($state > 0){ $where .= " and o.state=".$state; } $sql = 'SELECT COUNT(*) FROM '.tablename($this->tb_comment).' c inner join '.tablename($this->tb_order)." o on c.oid=o.id inner join ".tablename($this->tb_poseal)." u on u.id=o.aid inner join ".tablename($this->tb_project)." p on p.id=o.pid inner join ".tablename($this->tb_user)." m on m.id=o.uid ".$where; $total = pdo_fetchcolumn($sql); $pager = pagination($total, $pageindex, $pagesize); $sql = 'SELECT c.*,m.nickname,p.pname,u.uname,o.aid,o.pid FROM '.tablename($this->tb_comment).' c inner join '.tablename($this->tb_order)." o on c.oid=o.id inner join ".tablename($this->tb_poseal)." u on u.id=o.aid inner join ".tablename($this->tb_project)." p on p.id=o.pid inner join ".tablename($this->tb_user)." m on m.id=o.uid ".$where." ORDER BY o.id desc LIMIT ".(($pageindex -1) * $pagesize).','. $pagesize; $list = pdo_fetchall($sql); if($list){ foreach ($list as $key => $val){ $list[$key]['addtime'] = date('Y-m-d H:i:s' , $val['addtime']); } } load()->func('tpl'); include $this->template('comment'); }else if($op == 'delete'){ $id = intval($_GPC['id']); if(empty($id)){ message('未找到指定ID'); } $result = pdo_delete($this->tb_comment, array('id'=>$id)); if(intval($result) == 1){ message('删除成功.', $this->createWebUrl('comment' , array('op'=>'display')), 'success'); } else { message('删除失败.'); } } } /********************************* 以下是私有方法 ********************************/ private function getOrderState($state){ switch ($state) { case 1:$state = '未支付';break; case 2:$state = '已付款';break; case 3:$state = '服务中';break; case 4:$state = '已完成';break; case 5:$state = '已评价';break; } return $state; } private function getAllBanner(){ global $_W; $ReturnClassList = array(); $sql = 'SELECT * FROM '.tablename($this->tb_banner).' WHERE uniacid=:uniacid ORDER BY `displayorder` asc, id asc'; $params = array( ':uniacid' => $_W['uniacid'], ); return pdo_fetchall($sql, $params, 'id'); } /** * 获取所有商品分类 * @return array() */ private function getAllCategory($pid = 0){ global $_W; $sql = 'SELECT * FROM '.tablename($this->tb_category).' WHERE uniacid=:uniacid and pid='.$pid; $params = array( ':uniacid' => $_W['uniacid'], ); $sql .= " ORDER BY `displayorder` asc, id asc"; return pdo_fetchall($sql, $params, 'id'); } private function getAllAddr($pid = 0){ global $_W; $sql = 'SELECT * FROM '.tablename($this->tb_addr).' WHERE uniacid=:uniacid and pid='.$pid; $params = array( ':uniacid' => $_W['uniacid'], ); $sql .= " ORDER BY id asc"; return pdo_fetchall($sql, $params, 'id'); } /** * 递归删除分类 * Enter * @param 分类 $id */ private function delateChilend($id){ global $_W; $list = $this->getAllCategory($id); if($list){ foreach ($list as $val){ pdo_delete($this->tb_category, array('id' => $val['id'], 'uniacid'=>$_W['uniacid'])); return $this->delateChilend($val['id']); } }else{ return true; } } private function delAddr($id){ global $_W; $list = $this->getAllAddr($id); if($list){ foreach ($list as $val){ pdo_delete($this->tb_addr, array('id' => $val['id'], 'uniacid'=>$_W['uniacid'])); return $this->delAddr($val['id']); } }else{ return true; } } /** * 处理select * * @param 选中的值 $selected */ private function getAllOption($selected = 0){ global $_W; $html .= '<option value="0">顶级分类</option>'; $sql = 'SELECT * FROM '.tablename($this->tb_category).' WHERE uniacid=:uniacid ORDER BY `displayorder` asc, id asc'; $params = array( ':uniacid' => $_W['uniacid'], ); $arr = pdo_fetchall($sql, $params, 'id'); $arr1 = array(); if($arr){ foreach ($arr as $key => $val){ $arr1[$key] = array('cid' => $val['id'] , 'pid' => $val['pid'] , 'name' => $val['cname']); } } $list = $this->getTree($arr1, 0, 0); if($list){ foreach ($list as $val){ $html .= '<option value="'.$val['cid'].'"'.($val['cid'] == $selected ? 'selected="selected"' : '').'>'.str_repeat('└―',$val['level']).$val['name'].'</option>'; } } return $html; } private function getAllAddrOption($selected = 0){ global $_W; $html .= '<option value="0">顶级地址</option>'; $sql = 'SELECT * FROM '.tablename($this->tb_addr).' WHERE uniacid=:uniacid ORDER BY id asc'; $params = array( ':uniacid' => $_W['uniacid'], ); $arr = pdo_fetchall($sql, $params, 'id'); $arr1 = array(); if($arr){ foreach ($arr as $key => $val){ $arr1[$key] = array('cid' => $val['id'] , 'pid' => $val['pid'] , 'name' => $val['aname']); } } $list2 = $this->getTree2($arr1, 0, 0); if($list2){ foreach ($list2 as $val){ $html .= '<option value="'.$val['cid'].'"'.($val['cid'] == $selected ? 'selected="selected"' : '').'>'.str_repeat('└―',$val['level']).$val['name'].'</option>'; } } return $html; } /** * 得到分类树 * * @param 数组 $list * @param 父级 $pid * @param 级别 $level */ private function getTree($list, $pid = 0, $level=1){ static $newlist = array(); foreach($list as $key => $value){ if($value['pid']==$pid){ $value['level'] = $level; $newlist[] = $value; unset($list[$key]); $this->getTree($list, $value['cid'], $level+1); } } return $newlist; } private function getTree2($list, $pid = 0, $level=1){ static $newlist2 = array(); foreach($list as $key => $value){ if($value['pid']==$pid){ $value['level'] = $level; $newlist2[] = $value; unset($list[$key]); $this->getTree2($list, $value['cid'], $level+1); } } return $newlist2; } /** * * 得到 单个分类 * @param id $id */ private function getCatRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_category).' WHERE id=:id AND uniacid=:uniacid LIMIT 1', array(':id'=> $id, ':uniacid'=> $_W['uniacid'])); } private function getAddrRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_addr).' WHERE id=:id AND uniacid=:uniacid LIMIT 1', array(':id'=> $id, ':uniacid'=> $_W['uniacid'])); } private function getProjectRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_project).' WHERE id=:id AND uniacid=:uniacid LIMIT 1', array(':id'=> $id, ':uniacid'=> $_W['uniacid'])); } private function getPosealRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_poseal).' WHERE id=:id AND uniacid=:uniacid LIMIT 1', array(':id'=> $id, ':uniacid'=> $_W['uniacid'])); } private function getAllByIDCat($id , $arr = array()){ global $_W; $rs = $this->getCatRow($id); $arr[] = $rs['cname']; if($rs['pid'] > 0){ return $this->getAllByIDCat($rs['pid'] , $arr); } return implode('-', array_reverse($arr)); } private function getAllByIDAddr($id , $arr = array()){ global $_W; $rs = $this->getAddrRow($id); $arr[] = $rs['aname']; if($rs['pid'] > 0){ return $this->getAllByIDAddr($rs['pid'] , $arr); } return implode('-', array_reverse($arr)); } private function getImg($img){ global $_W; return count(explode('http' , $img)) > 1 ? $img : $_W['attachurl'].$img; } private function getSetUpRow(){ global $_W; $rs = pdo_fetch('SELECT * FROM '.tablename($this->tb_setup).' WHERE uniacid=:uniacid LIMIT 1', array(':uniacid'=> $_W['uniacid'])); return $rs; } }
WXAPP <?php /** * md_daojia模块小程序接口定义 * * @url */ defined('IN_IA') or exit('Access Denied'); class Md_daojiaModuleWxapp extends WeModuleWxapp { private $tb_banner = 'daojia_focus'; private $tb_category = 'daojia_cat'; private $tb_user = 'daojia_user'; private $tb_addr = 'daojia_addr'; private $tb_project = 'daojia_project'; private $tb_poseal = 'daojia_poseal'; private $tb_setup = 'daojia_setup'; private $tb_order = 'daojia_order'; private $tb_comment = 'daojia_comment'; public function doPageConfig(){ global $_GPC, $_W; return $this->result(0, '', $this->getSetUpRow()); } public function doPageIndex(){ global $_GPC, $_W; $data = array(); $banner = $this->getAllBanner(); if($banner){ foreach ($banner as $key => $val){ $banner[$key]['img'] = $this->getImg($val['img']); } } $data['focus'] = $banner; $data['cat'] = $this->getAllCategory(0); $data['cat'] = $data['cat'] ? array_chunk($data['cat'], 5) : array(); $config = $this->getSetUpRow(); $where = ' WHERE hot=2 and uniacid='.$_W['uniacid']; $sql = 'SELECT * FROM '.tablename($this->tb_poseal)." {$where} ORDER BY hot desc LIMIT 0,".$config['hotnums']; $poseal = pdo_fetchall($sql); if($poseal){ foreach ($poseal as $key => $val){ if($val['lat'] && $_GPC['lat']){ $poseal[$key]['dis'] = $this->getDistance($val['lng'], $val['lat'], $_GPC['lng'], $_GPC['lat']); } $poseal[$key]['logo'] = $this->getImg($val['logo']); $poseal[$key]['info'] = cutstr($val['info'], 30); } } $sql = 'SELECT * FROM '.tablename($this->tb_project)." {$where} ORDER BY id desc LIMIT 0,".$config['projectnums']; $project = pdo_fetchall($sql); if($project){ foreach ($project as $key => $val){ $project[$key]['logo'] = $this->getImg($val['logo']); } } $data['poseal'] = $poseal; $data['project'] = array_chunk($project, 2); return $this->result(0, '', $data); } public function doPageUser(){ global $_GPC, $_W; $row = pdo_fetch("select * from ".tablename($this->tb_user)." where id=".$_GPC['uid']); return $this->result(0, '', $row); } public function doPageFlow(){ global $_GPC, $_W; pdo_insert($this->tb_order , array('stime' => $_GPC['stime'], 'uid' => $_GPC['uid'], 'username' => $_GPC['username'],'mobile' => $_GPC['mobile'],'address' => $_GPC['address'],'bz' => $_GPC['bz'], 'aid' => $_GPC['poseal'],'pid' => $_GPC['project'],'uniacid' => $_W['uniacid'],'addtime' => time())); pdo_update($this->tb_user , array('uname' => $_GPC['username'] , 'mobile' => $_GPC['mobile'] , 'address' => $_GPC['address']) , array('id' => $_GPC['uid'])); return $this->result(0, '', 1); } public function doPageOrder(){ global $_GPC, $_W; $uid = $_GPC['uid']; $state = $_GPC['state']; $page = $_GPC['page']; $nums = 5; $start = ($page - 1) * $nums; $where = ' WHERE uniacid='.$_W['uniacid']; if($uid > 0 ){ $where .= " and uid=$uid "; } if($state > 0 ){ if($state < 3){ $where .= " and state=$state "; }else{ $where .= " and state in(4,5)"; } } $sql = 'SELECT * FROM '.tablename($this->tb_order)." {$where} ORDER BY id desc limit $start , $nums"; $list = pdo_fetchall($sql); // 1 未付款 2 已付款 3 服务中 4 已完成 5 已取消 if($list){ foreach ($list as $key => $val){ $list[$key]['user'] = $this->getPosealRow($val['aid']); $list[$key]['ps'] = $this->getProjectRow($val['pid']); $list[$key]['state1'] = $this->getOrderState($val['state']); $list[$key]['user']['logo'] = $this->getImg($list[$key]['user']['logo']); if($val['state'] == 5){ $list[$key]['comment'] = $this->getCommentRow($val['id']); } } } $count = pdo_fetchcolumn("select count(*) from ".tablename($this->tb_order).$where); $totalPage = ceil($count / $nums); $this->result(0 , '' , array('totalPage' => $totalPage , 'list' => $list )); } public function doPageQx(){ global $_GPC, $_W; pdo_delete($this->tb_order , array('id' => $_GPC['id'])); $this->result(0, '' , 1); } public function doPagePay(){ global $_GPC, $_W; $price = $_GPC['price']; $order = array( 'tid' => date('YmdHis'), 'fee' => floatval($price), 'title' => '预定到家服务', ); $paydata = $this->pay($order); $this->result(0, '', $paydata); } public function doPagePay2(){ global $_GPC, $_W; $price = $_GPC['price']; $order = $this->getOrderRow($_GPC['id']); $ps = $this->getProjectRow($order['pid']); $user = $this->getPosealRow($order['aid']); pdo_update($this->tb_poseal , array('sale' => $user['sale'] + 1) , array('id' => $user['aid'])); pdo_update($this->tb_order , array('price' => $ps['price'] , 'state' => 2) ,array('id' => $_GPC['id'])); $config = $this->getSetUpRow(); $u = $this->getUserRow($_GPC['uid']); $content = '您好:'.$u['uname'].($u['gender'] == 1 ? '先生':'女士').'的预约已经付款,联系电话:'.$u['mobile'].'请尽快再后台查看安排处理'; $this->sendMobile($config['shopmobile'], $content); $this->result(0, '' , 1); } public function dopageUinfo(){ global $_GPC, $_W; $val = $this->getPosealRow($_GPC['id']); $val['dis'] = $this->getDistance($val['lng'], $val['lat'], $_GPC['lng'], $_GPC['lat']); $val['logo'] = $this->getImg($val['logo']); $val['multi'] = unserialize($val['multi']); if($val['multi']){ foreach ($val['multi'] as $key => $img){ $val['multi'][$key] = $this->getImg($img); } } $arr = array(); $arr[] = $val['catid']; $where = ' WHERE catid in ('.implode(',', $arr).') and uniacid='.$_W['uniacid']; $val['ps'] = pdo_fetchall('SELECT * FROM '.tablename($this->tb_project)." {$where} group by id ORDER BY id desc "); if($val['ps']){ foreach ($val['ps'] as $key => $val2){ $val['ps'][$key]['logo'] = $this->getImg($val2['logo']); } } $where = ' WHERE o.aid='.$_GPC['id'].' and state=5 and o.uniacid='.$_W['uniacid']; $val['order'] = pdo_fetchall('SELECT o.*,u.nickname FROM '.tablename($this->tb_order)." o inner join ".tablename($this->tb_user)." u on u.id=o.uid {$where} ORDER BY o.id desc "); if($val['order']){ foreach ($val['order'] as $key => $sval){ $val['order'][$key]['addtime'] = date('Y-m-d' , $sval['addtime']); $val['order'][$key]['ctime'] = date('Y-m-d' , $sval['ctime']); } } $val['order'] = $val['order'] ? $val['order'] : false; $where = ' WHERE o.aid='.$_GPC['id'].' and state=5 and o.uniacid='.$_W['uniacid']; $comment = pdo_fetchall('SELECT * FROM '.tablename($this->tb_order)." o inner join ".tablename($this->tb_comment)." u on u.oid=o.id {$where} "); $s = $s1 = $s2 = 0; if($comment){ foreach ($comment as $c){ $s1 += $c['score1']; $s2 += $c['score1']; } } $s = $s1 + $s2; $val['s'] = $s;$val['s1'] = $s1;$val['s2'] = $s2; $val['code'] = substr_replace($val['code'],"****",8,4); $val['addr1'] = $this->getAllByIDAddr($val['aid']); $val['catname'] = $this->getAllByIDCat($val['catid']); return $this->result(0, '', $val); } public function doPageComment(){ global $_GPC, $_W; $rs = $this->getCommentRow($_GPC['oid']); if($rs){ pdo_update($this->tb_comment , array('score1' => $_GPC['score1'],'score2'=>$_GPC['score2'],'content'=>$_GPC['content'] ),array('oid' => $_GPC['oid'])); }else{ pdo_insert($this->tb_comment, array( 'uniacid' => $_W['uniacid'] , 'addtime' => time() , 'uid' => $_GPC['uid'] , 'oid' => $_GPC['oid'], 'score1' => $_GPC['score1'],'score2'=>$_GPC['score2'],'content'=>$_GPC['content'] ) ); } pdo_update($this->tb_order , array('state' => 5,'ctime' => time()) , array('id' => $_GPC['oid'])); return $this->result(0, '', 1); } public function doPagePinfo() { global $_GPC, $_W; $val = $this->getProjectRow($_GPC['id']); $val['logo'] = $this->getImg($val['logo']); $arr = array(); $arr[] = $val['catid']; $where = ' WHERE catid in ('.implode(',', $arr).') and uniacid='.$_W['uniacid']; $val['ps'] = pdo_fetchall('SELECT * FROM '.tablename($this->tb_poseal)." {$where} ORDER BY id desc "); if($val['ps']){ foreach ($val['ps'] as $key => $val2){ $val['ps'][$key]['logo'] = $this->getImg($val2['logo']); } } $where = ' WHERE o.pid='.$_GPC['id'].' and state=5 and o.uniacid='.$_W['uniacid']; $val['order'] = pdo_fetchall('SELECT o.*,u.nickname FROM '.tablename($this->tb_order)." o inner join ".tablename($this->tb_user)." u on u.id=o.uid {$where} ORDER BY o.id desc "); if($val['order']){ foreach ($val['order'] as $key => $sval){ $val['order'][$key]['addtime'] = date('Y-m-d' , $sval['addtime']); $val['order'][$key]['ctime'] = date('Y-m-d' , $sval['ctime']); } } $val['order'] = $val['order'] ? $val['order'] : false; $where = ' WHERE o.pid='.$_GPC['id'].' and state=5 and o.uniacid='.$_W['uniacid']; $comment = pdo_fetchall('SELECT * FROM '.tablename($this->tb_order)." o inner join ".tablename($this->tb_comment)." u on u.oid=o.id {$where} "); $s = $s1 = $s2 = 0; if($comment){ foreach ($comment as $c){ $s1 += $c['score1']; $s2 += $c['score1']; } } $s = $s1 + $s2; $val['s'] = $s;$val['s1'] = $s1;$val['s2'] = $s2; return $this->result(0, '', $val); } public function doPagePeasel(){ global $_GPC, $_W; $data = array(); $page = $_GPC['page']; $desc = str_ireplace(array(1,2,3,4), array('id' , 'work' , 'year','sale'), $_GPC['desc']); $a1 = $_GPC['a1']; $a2 = $_GPC['a2']; $c1 = $_GPC['c1']; $c2 = $_GPC['c2']; $keyword = $_GPC['keyword']; $where = ' WHERE uniacid='.$_W['uniacid']; if($keyword != ''){ $where .= " and uname like '%$keyword%' "; } $nums = 5; $start = ($page - 1) * $nums; if($c2 > 0){ $where .= " and catid=$c2"; }else if($c2 == 0 && ($c1 > 0)){ $ps1 = $this->getAllCategory($c1); $ps2 = array(); if($ps1){ foreach ($ps1 as $val){ $ps2[] = $val['id']; } if($ps2){ $where .= " and catid in (".implode(',', $ps2).") or catid=$c1"; } } } if($a2 > 0){ $where .= " and aid=$a2"; }else if($a2 == 0 && ($a1 > 0)){ $cs1 = $this->getAllAddr($a1); $cs2 = array(); if($cs1){ foreach ($cs1 as $val){ $cs2[] = $val['id']; } if($cs2){ $where .= " and aid in (".implode(',', $cs2).") or aid=$a1"; } } } if($_GPC['desc'] == 5){ $sql = 'SELECT * FROM '.tablename($this->tb_poseal)." {$where} ORDER BY $desc desc "; $list = pdo_fetchall($sql); if($list){ foreach ($list as $key => $val){ if($val['lat'] && $_GPC['lat']){ $list[$key]['dis'] = $this->getDistance1($val['lng'], $val['lat'], $_GPC['lng'], $_GPC['lat']); } $list[$key]['logo'] = $this->getImg($val['logo']); $list[$key]['info'] = cutstr($list[$key]['info'], 30); } $list = array_slice($this->array2sort($list, 'dis') , $start , $nums); if($list){ foreach ($list as $key1 => $val1){ $list[$key1]['dis'] = $val1['dis'] < 1 ? $val1['dis'].'m' : $val1['dis'].'km'; } } } }else{ $sql = 'SELECT * FROM '.tablename($this->tb_poseal)." {$where} ORDER BY $desc desc limit $start , $nums"; $list = pdo_fetchall($sql); if($list){ foreach ($list as $key => $val){ if($val['lat'] && $_GPC['lat']){ $list[$key]['dis'] = $this->getDistance($val['lng'], $val['lat'], $_GPC['lng'], $_GPC['lat']); } $list[$key]['logo'] = $this->getImg($val['logo']); $list[$key]['info'] = cutstr($list[$key]['info'], 30); } } } $count = pdo_fetchcolumn("select count(*) from ".tablename($this->tb_poseal).$where); $totalPage = ceil($count / $nums); $this->result(0 , '' , array('totalPage' => $totalPage , 'list' => $list )); } public function doPageProject(){ global $_GPC, $_W; $data = array(); $page = $_GPC['page']; $desc = str_ireplace(array(1,2), array('id' , 'price'), $_GPC['desc']); $a1 = $_GPC['a1']; $a2 = $_GPC['a2']; $c1 = $_GPC['c1']; $c2 = $_GPC['c2']; $keyword = $_GPC['keyword']; $where = ' WHERE uniacid='.$_W['uniacid']; if($keyword != ''){ $where .= " and pname like '%$keyword%' "; } $nums = 5; $start = ($page - 1) * $nums; if($c2 > 0){ $where .= " and catid=$c2"; }else if($c2 == 0 && ($c1 > 0)){ $ps1 = $this->getAllCategory($c1); $ps2 = array(); if($ps1){ foreach ($ps1 as $val){ $ps2[] = $val['id']; } if($ps2){ $where .= " and catid in (".implode(',', $ps2).") or catid=$c1"; } } } if($a2 > 0){ $where .= " and aid=$a2"; }else if($a2 == 0 && ($a1 > 0)){ $cs1 = $this->getAllAddr($a1); $cs2 = array(); if($cs1){ foreach ($cs1 as $val){ $cs2[] = $val['id']; } if($cs2){ $where .= " and aid in (".implode(',', $cs2).") or aid=$a1"; } } } $sql = 'SELECT * FROM '.tablename($this->tb_project)." {$where} ORDER BY $desc desc limit $start , $nums"; $list = pdo_fetchall($sql); if($list){ foreach ($list as $key => $val){ if($val['lat'] && $_GPC['lat']){ $list[$key]['dis'] = $this->getDistance($val['lng'], $val['lat'], $_GPC['lng'], $_GPC['lat']); } $list[$key]['logo'] = $this->getImg($val['logo']); } } $count = pdo_fetchcolumn("select count(*) from ".tablename($this->tb_project).$where); $totalPage = ceil($count / $nums); $this->result(0 , '' , array('totalPage' => $totalPage , 'list' => $list )); } public function doPageClass(){ global $_GPC, $_W; $data = array(); $cat = $this->getAllCategory(0); if($cat){ foreach ($cat as $key => $val){ $cat[$key]['child'] = $this->getAllCategory($val['id']); } } $addr = $this->getAllAddr(0); if($addr){ foreach ($addr as $key1 => $val){ $addr[$key1]['child'] = $this->getAllAddr($val['id']); } } return $this->result(0, '', array('cat' => $cat , 'addr' => $addr)); } public function doPageSetuser(){ global $_W, $_GPC; $code = $_GPC['code']; $appid = $_W['oauth_account']['key']; $secret = $_W['oauth_account']['secret']; $url = "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$secret&js_code=$code&grant_type=authorization_code"; load()->func('communication'); $response = ihttp_request($url, '', array('CURLOPT_HTTPHEADER' => array('Content-Type: text/xml; charset=utf-8'))); $content = json_decode($response['content']); $openid = $content->openid; if($openid != ''){ $row = pdo_fetch("select * from ".tablename($this->tb_user)." where mid={$_W['uniacid']} and openid='$openid'"); if(!$row){ pdo_insert($this->tb_user, array('addtime' => time(),'mid' => $_W['uniacid'],'openid' => $openid , 'nickname' => $_GPC['nickName'],'gender'=>$_GPC['gender'] , 'avatar' => $_GPC['avatar'])); } $row = pdo_fetch("select * from ".tablename($this->tb_user)." where mid={$_W['uniacid']} and openid='$openid'"); } $this->result(0 , '' , $row); } /********************************* 以下是私有方法 ********************************/ private function getImg($img){ global $_W; return count(explode('http' , $img)) > 1 ? $img : $_W['attachurl'].$img; } private function getAllBanner(){ global $_W; $ReturnClassList = array(); $sql = 'SELECT * FROM '.tablename($this->tb_banner).' WHERE uniacid=:uniacid ORDER BY `displayorder` asc, id asc'; $params = array( ':uniacid' => $_W['uniacid'], ); return pdo_fetchall($sql, $params, 'id'); } /** * 获取所有商品分类 * @return array() */ private function getAllCategory($pid = 0){ global $_W; $sql = 'SELECT * FROM '.tablename($this->tb_category).' WHERE uniacid=:uniacid and pid='.$pid; $params = array( ':uniacid' => $_W['uniacid'], ); $sql .= " ORDER BY `displayorder` asc, id asc"; return pdo_fetchall($sql, $params); } private function getSetUpRow(){ global $_W; $rs = pdo_fetch('SELECT * FROM '.tablename($this->tb_setup).' WHERE uniacid=:uniacid LIMIT 1', array(':uniacid'=> $_W['uniacid'])); $rs['projectimg'] = $this->getImg($rs['projectimg']); $rs['posealimg'] = $this->getImg($rs['posealimg']); $rs['indeximg1'] = $this->getImg($rs['indeximg1']); $rs['staff_ul_bg'] = $_W['siteroot'].'addons/md_daojia/img/staff_ul_bg.png'; $rs['service_ul_bg'] = $_W['siteroot'].'addons/md_daojia/img/service_ul_bg.png'; $rs['six1'] = $_W['siteroot'].'addons/md_daojia/img/six-sys-1.jpg'; $rs['six2'] = $_W['siteroot'].'addons/md_daojia/img/six-sys-2.jpg'; $rs['six3'] = $_W['siteroot'].'addons/md_daojia/img/six-sys-3.jpg'; $rs['six4'] = $_W['siteroot'].'addons/md_daojia/img/six-sys-4.jpg'; $rs['slogo'] = $rs['slogo'] ? $this->getImg($rs['slogo']) : ''; return $rs; } private function getDistance($longitude1, $latitude1, $longitude2, $latitude2, $unit=2, $decimal=2){ $EARTH_RADIUS = 6370.996; // 地球半径系数 $PI = 3.1415926; $radLat1 = $latitude1 * $PI / 180.0; $radLat2 = $latitude2 * $PI / 180.0; $radLng1 = $longitude1 * $PI / 180.0; $radLng2 = $longitude2 * $PI /180.0; $a = $radLat1 - $radLat2; $b = $radLng1 - $radLng2; $distance = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1) * cos($radLat2) * pow(sin($b/2),2))); $distance = $distance * $EARTH_RADIUS * 1000; if($unit==2){ $distance = $distance / 1000; } $d = round($distance, $decimal); return $d < 1 ? $d.'m' : $d.'km'; } private function getDistance1($longitude1, $latitude1, $longitude2, $latitude2, $unit=2, $decimal=2){ $EARTH_RADIUS = 6370.996; // 地球半径系数 $PI = 3.1415926; $radLat1 = $latitude1 * $PI / 180.0; $radLat2 = $latitude2 * $PI / 180.0; $radLng1 = $longitude1 * $PI / 180.0; $radLng2 = $longitude2 * $PI /180.0; $a = $radLat1 - $radLat2; $b = $radLng1 - $radLng2; $distance = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1) * cos($radLat2) * pow(sin($b/2),2))); $distance = $distance * $EARTH_RADIUS * 1000; if($unit==2){ $distance = $distance / 1000; } $d = round($distance, $decimal); return $d; } private function getAllAddr($pid = 0){ global $_W; $sql = 'SELECT * FROM '.tablename($this->tb_addr).' WHERE uniacid=:uniacid and pid='.$pid; $params = array( ':uniacid' => $_W['uniacid'], ); $sql .= " ORDER BY id asc"; return pdo_fetchall($sql, $params); } private function getProjectRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_project).' WHERE id=:id AND uniacid=:uniacid LIMIT 1', array(':id'=> $id, ':uniacid'=> $_W['uniacid'])); } private function getPosealRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_poseal).' WHERE id=:id AND uniacid=:uniacid LIMIT 1', array(':id'=> $id, ':uniacid'=> $_W['uniacid'])); } private function getCommentRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_comment).' WHERE oid='.$id); } private function getAllByIDAddr($id , $arr = array()){ global $_W; $rs = $this->getAddrRow($id); $arr[] = $rs['aname']; if($rs['pid'] > 0){ return $this->getAllByIDAddr($rs['pid'] , $arr); } return implode(' ', array_reverse($arr)); } private function getCatRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_category).' WHERE id=:id AND uniacid=:uniacid LIMIT 1', array(':id'=> $id, ':uniacid'=> $_W['uniacid'])); } private function getUserRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_user).' WHERE id=:id', array(':id'=> $id)); } private function getAddrRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_addr).' WHERE id=:id AND uniacid=:uniacid LIMIT 1', array(':id'=> $id, ':uniacid'=> $_W['uniacid'])); } private function getOrderRow($id){ global $_W; return pdo_fetch('SELECT * FROM '.tablename($this->tb_order).' WHERE id=:id AND uniacid=:uniacid LIMIT 1', array(':id'=> $id, ':uniacid'=> $_W['uniacid'])); } private function getAllByIDCat($id , $arr = array()){ global $_W; $rs = $this->getCatRow($id); $arr[] = $rs['cname']; if($rs['pid'] > 0){ return $this->getAllByIDCat($rs['pid'] , $arr); } return implode(' ', array_reverse($arr)); } private function getOrderState($state){ switch ($state) { case 1:$state = '未支付';break; case 2:$state = '已付款';break; case 3:$state = '服务中';break; case 4:$state = '已完成';break; case 5:$state = '已评价';break; } return $state; } private function sendMobile($phone , $content){ $config = $this->getSetUpRow(); $smsapi = "http://api.smsbao.com/"; $user = $config['baouser']; $pass = md5($config['baopass']); $sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content); load()->func('communication'); $response = ihttp_request($sendurl, '', array('CURLOPT_HTTPHEADER' => array('Content-Type: text/xml; charset=utf-8'))); return true; } private function array2sort($a,$sort,$d='') { $num=count($a); if(!$d){ for($i=0;$i<$num;$i++){ for($j=0;$j<$num-1;$j++){ if($a[$j][$sort] > $a[$j+1][$sort]){ foreach ($a[$j] as $key=>$temp){ $t=$a[$j+1][$key]; $a[$j+1][$key]=$a[$j][$key]; $a[$j][$key]=$t; } } } } } else{ for($i=0;$i<$num;$i++){ for($j=0;$j<$num-1;$j++){ if($a[$j][$sort] < $a[$j+1][$sort]){ foreach ($a[$j] as $key=>$temp){ $t=$a[$j+1][$key]; $a[$j+1][$key]=$a[$j][$key]; $a[$j][$key]=$t; } } } } } return $a; } }