From 3ec153899b4a5aa58ff29ee68b6e35b532afd6cd Mon Sep 17 00:00:00 2001 From: test_service Date: Wed, 6 Dec 2023 15:55:32 +0800 Subject: [PATCH] 1 --- app/common/model/food/Table.php | 332 +- app/store/controller/food/Index.php | 38 +- app/store/view/food/shop/index.html | 338 +- app/store/view/food/shop/qrcode.html | 47 +- extend/hema/wechat/Driver.php | 3691 +++++++++-------- public/index.php | 78 +- public/temp/alipay_auth_qrcode_10001.png | Bin 0 -> 4508 bytes public/temp/food/qrcode-paybill-10001.png | Bin 2714 -> 0 bytes public/temp/food/qrcode-shop-10001.png | Bin 2689 -> 0 bytes public/temp/food/qrcode-table-10002.png | Bin 2704 -> 0 bytes public/temp/food/qrcode-wifi-10001.png | Bin 2696 -> 0 bytes public/temp/food/wechat-paybill-10001.png | 1 - public/temp/food/wechat-paybill-10002.png | Bin 81 -> 85059 bytes public/temp/food/wechat-shop-10001.png | 1 - public/temp/food/wechat-shop-10002.png | Bin 81 -> 85548 bytes public/temp/food/wechat-table-10001.png | Bin 81 -> 95638 bytes public/temp/food/wechat-wifi-10001.png | 1 - public/temp/food/wechat-wifi-10002.png | Bin 81 -> 84503 bytes runtime/.keep | 0 .../temp/1135d99398657c0ae566d459308e8327.php | 2 - .../temp/165f30f93e40130c15d885f561996cb2.php | 186 - .../temp/29a1b1f477dc444c90efb32e05e28fcd.php | 56 - .../temp/352d937338d3cbeaa5a6b2aef6a0495e.php | 93 - .../temp/3a0f7010e1e6219083ad8c5646d41a40.php | 156 - .../temp/5c32e7932a0700ecea140e20f7bc660c.php | 2 - .../temp/77873608a3a896bd3d43bafe9fe9a27f.php | 69 - .../temp/77d3402cf97c0a269213cffcfac5cd3c.php | 93 - .../temp/871d8f9ac37b49ddb1f8892d42b0b432.php | 156 - .../temp/ce62fa7229051749de6651961ed8a08c.php | 2 - .../temp/d0998e50cb4b95fe491115d630adb4d8.php | 357 -- .../temp/db3fc3ab033eae396bc223a1db61ffa3.php | 2 - runtime/applet/log/202311/21_error.log | 2 - .../temp/0401244b90b33ea4345ab01331660c33.php | 135 - .../temp/4d1c52033742f01e5be6650c8d5d5c31.php | 2 - .../temp/6d4c9daa5662bf5b4314aa7ff4421e3e.php | 14 - .../temp/6e46255bb576ddd9bc889b5af5c6af2a.php | 25 - .../temp/77dea72f140119eec7bc249b88fb2458.php | 2 - .../temp/856c52ff20046a0878ce6c7c3f189901.php | 2 - .../temp/8f1b83cd3dd31541f148aeee4301fb03.php | 15 - .../temp/9fe3befe3ea695f4e50a001bee83c480.php | 439 -- .../temp/d406f6394afc907afff31febc70c8935.php | 83 - .../temp/f23a297c97a3d0d4d3ea56de0ee9794f.php | 86 - .../13/0fd29bc1e1c9570496921b09ae2849.php | Bin 134 -> 1977 bytes .../21/413a1afbfae837472e4844bda5ddbc.php | Bin .../30/4fce12426ae0229ae22216efc4ea5b.php | 2 +- .../4e/819c837d54a6ed09abc77a8560a66f.php | 0 .../eb/300fe116b3568a7e80a6c2812b1a38.php | 2 +- .../temp/60a64cd47b22d798d9e777f4f707b2cd.php | 495 --- .../temp/b430673016f1b8d1351a534a69510985.php | 436 -- .../temp/b84ab2a86a49fb8098a55f114226b794.php | 2 - .../temp/c17836b361a86127d4c136cc0bb98e5b.php | 2 - .../sess_31e79552bdc9d8bfd196f0495656145c | Bin 8009 -> 0 bytes runtime/store/log/202311/21_error.log | 74 - .../temp/0c8787a77f02614aefcaa341d7335ca2.php | 147 - .../temp/10eaa1c936787f73e9ca337f946da334.php | 248 -- .../temp/233e0da4a493f66c5eda33831df6debb.php | 448 -- .../temp/32927b1e6f229976b3bfb1d748722e68.php | 809 ---- .../temp/39bcbcc718db9ee53e923309aaeb92b9.php | 253 -- .../temp/409e4e4a205ca0731d204c8584cbd9de.php | 416 -- .../temp/5ba392d1c9e1e74ec22aae78b0af9092.php | 147 - .../temp/5eecfbdd931a94d55dafc8f38d15c9ab.php | 349 -- .../temp/6da5e1cd8c29396c8903d1413abd1e55.php | 245 -- .../temp/8e50fcdf9dfa90740feb9f2ee72e8a28.php | 311 -- .../temp/988feca942d491d8bbd9f5550fca01cf.php | 198 - .../temp/acbc153a7dd97ab50d0d10d18165b7bc.php | 380 -- .../temp/ae9927b8c2651c650d93812e8343c6e9.php | 198 - .../temp/b309110cddd7c2715b4a38353ff0bb36.php | 272 -- .../temp/b7355a86bf291b1b080d4bff48d89329.php | 284 -- .../temp/c496503fb310b9f0807d3690b9becaa7.php | 147 - .../temp/c778416e005d01626bafe09f7eec06d2.php | 270 -- .../temp/ca970d4ab4bd1237b6f93eb72cba4306.php | 297 -- .../temp/d6e8468d5e2899d8e0a2a06666a55b1e.php | 411 -- .../temp/d7390d1714e1d942ac842975d838ebd7.php | 214 - .../temp/f2a615aee8ef64e5e71245bee61efdcc.php | 618 --- .../temp/f2d764740df911d8d11f8c0d29ea314f.php | 280 -- .../temp/f5a702ff70f080324a5f05ce3e1cc418.php | 470 --- runtime/user/log/202311/21_error.log | 2 - .../temp/2d3218e5f4e26e3b8b658949082baf1f.php | 14 - .../temp/7ed378d2e688fc3af98e70c4fc2797ba.php | 67 - .../temp/7eddf9dad1c49a6d7f1c63d22923ff77.php | 268 -- .../temp/874e2d7a5be2959b9dc4ef7ce6faa47b.php | 179 - .../temp/93ed04fe573c38439d4a42fb7d368b2f.php | 155 - .../temp/afec97ae6c4cbf0aeb5fe21866576881.php | 90 - 83 files changed, 2236 insertions(+), 13470 deletions(-) create mode 100644 public/temp/alipay_auth_qrcode_10001.png delete mode 100644 public/temp/food/qrcode-paybill-10001.png delete mode 100644 public/temp/food/qrcode-shop-10001.png delete mode 100644 public/temp/food/qrcode-table-10002.png delete mode 100644 public/temp/food/qrcode-wifi-10001.png delete mode 100644 public/temp/food/wechat-paybill-10001.png delete mode 100644 public/temp/food/wechat-shop-10001.png delete mode 100644 public/temp/food/wechat-wifi-10001.png delete mode 100755 runtime/.keep delete mode 100755 runtime/admin/temp/1135d99398657c0ae566d459308e8327.php delete mode 100755 runtime/admin/temp/165f30f93e40130c15d885f561996cb2.php delete mode 100755 runtime/admin/temp/29a1b1f477dc444c90efb32e05e28fcd.php delete mode 100755 runtime/admin/temp/352d937338d3cbeaa5a6b2aef6a0495e.php delete mode 100755 runtime/admin/temp/3a0f7010e1e6219083ad8c5646d41a40.php delete mode 100755 runtime/admin/temp/5c32e7932a0700ecea140e20f7bc660c.php delete mode 100755 runtime/admin/temp/77873608a3a896bd3d43bafe9fe9a27f.php delete mode 100755 runtime/admin/temp/77d3402cf97c0a269213cffcfac5cd3c.php delete mode 100755 runtime/admin/temp/871d8f9ac37b49ddb1f8892d42b0b432.php delete mode 100755 runtime/admin/temp/ce62fa7229051749de6651961ed8a08c.php delete mode 100755 runtime/admin/temp/d0998e50cb4b95fe491115d630adb4d8.php delete mode 100755 runtime/admin/temp/db3fc3ab033eae396bc223a1db61ffa3.php delete mode 100755 runtime/applet/log/202311/21_error.log delete mode 100755 runtime/applet/temp/0401244b90b33ea4345ab01331660c33.php delete mode 100755 runtime/applet/temp/4d1c52033742f01e5be6650c8d5d5c31.php delete mode 100755 runtime/applet/temp/6d4c9daa5662bf5b4314aa7ff4421e3e.php delete mode 100755 runtime/applet/temp/6e46255bb576ddd9bc889b5af5c6af2a.php delete mode 100755 runtime/applet/temp/77dea72f140119eec7bc249b88fb2458.php delete mode 100755 runtime/applet/temp/856c52ff20046a0878ce6c7c3f189901.php delete mode 100755 runtime/applet/temp/8f1b83cd3dd31541f148aeee4301fb03.php delete mode 100755 runtime/applet/temp/9fe3befe3ea695f4e50a001bee83c480.php delete mode 100755 runtime/applet/temp/d406f6394afc907afff31febc70c8935.php delete mode 100755 runtime/applet/temp/f23a297c97a3d0d4d3ea56de0ee9794f.php mode change 100755 => 100644 runtime/cache/13/0fd29bc1e1c9570496921b09ae2849.php mode change 100755 => 100644 runtime/cache/21/413a1afbfae837472e4844bda5ddbc.php mode change 100755 => 100644 runtime/cache/30/4fce12426ae0229ae22216efc4ea5b.php mode change 100755 => 100644 runtime/cache/4e/819c837d54a6ed09abc77a8560a66f.php delete mode 100755 runtime/index/temp/60a64cd47b22d798d9e777f4f707b2cd.php delete mode 100755 runtime/index/temp/b430673016f1b8d1351a534a69510985.php delete mode 100755 runtime/index/temp/b84ab2a86a49fb8098a55f114226b794.php delete mode 100755 runtime/index/temp/c17836b361a86127d4c136cc0bb98e5b.php delete mode 100755 runtime/session/sess_31e79552bdc9d8bfd196f0495656145c delete mode 100755 runtime/store/log/202311/21_error.log delete mode 100755 runtime/store/temp/0c8787a77f02614aefcaa341d7335ca2.php delete mode 100755 runtime/store/temp/10eaa1c936787f73e9ca337f946da334.php delete mode 100755 runtime/store/temp/233e0da4a493f66c5eda33831df6debb.php delete mode 100755 runtime/store/temp/32927b1e6f229976b3bfb1d748722e68.php delete mode 100755 runtime/store/temp/39bcbcc718db9ee53e923309aaeb92b9.php delete mode 100755 runtime/store/temp/409e4e4a205ca0731d204c8584cbd9de.php delete mode 100755 runtime/store/temp/5ba392d1c9e1e74ec22aae78b0af9092.php delete mode 100755 runtime/store/temp/5eecfbdd931a94d55dafc8f38d15c9ab.php delete mode 100755 runtime/store/temp/6da5e1cd8c29396c8903d1413abd1e55.php delete mode 100755 runtime/store/temp/8e50fcdf9dfa90740feb9f2ee72e8a28.php delete mode 100755 runtime/store/temp/988feca942d491d8bbd9f5550fca01cf.php delete mode 100755 runtime/store/temp/acbc153a7dd97ab50d0d10d18165b7bc.php delete mode 100755 runtime/store/temp/ae9927b8c2651c650d93812e8343c6e9.php delete mode 100755 runtime/store/temp/b309110cddd7c2715b4a38353ff0bb36.php delete mode 100755 runtime/store/temp/b7355a86bf291b1b080d4bff48d89329.php delete mode 100755 runtime/store/temp/c496503fb310b9f0807d3690b9becaa7.php delete mode 100755 runtime/store/temp/c778416e005d01626bafe09f7eec06d2.php delete mode 100755 runtime/store/temp/ca970d4ab4bd1237b6f93eb72cba4306.php delete mode 100755 runtime/store/temp/d6e8468d5e2899d8e0a2a06666a55b1e.php delete mode 100755 runtime/store/temp/d7390d1714e1d942ac842975d838ebd7.php delete mode 100755 runtime/store/temp/f2a615aee8ef64e5e71245bee61efdcc.php delete mode 100755 runtime/store/temp/f2d764740df911d8d11f8c0d29ea314f.php delete mode 100755 runtime/store/temp/f5a702ff70f080324a5f05ce3e1cc418.php delete mode 100755 runtime/user/log/202311/21_error.log delete mode 100755 runtime/user/temp/2d3218e5f4e26e3b8b658949082baf1f.php delete mode 100755 runtime/user/temp/7ed378d2e688fc3af98e70c4fc2797ba.php delete mode 100755 runtime/user/temp/7eddf9dad1c49a6d7f1c63d22923ff77.php delete mode 100755 runtime/user/temp/874e2d7a5be2959b9dc4ef7ce6faa47b.php delete mode 100755 runtime/user/temp/93ed04fe573c38439d4a42fb7d368b2f.php delete mode 100755 runtime/user/temp/afec97ae6c4cbf0aeb5fe21866576881.php diff --git a/app/common/model/food/Table.php b/app/common/model/food/Table.php index 6cb40da..c07ad4f 100644 --- a/app/common/model/food/Table.php +++ b/app/common/model/food/Table.php @@ -1,167 +1,167 @@ - '', - 'weixin' => '', -// 'alipay' => '', -// 'qrcode' => '', - ]; - //生成存储路径 - if(!file_exists('./temp/food')){ - mkdir('./temp/food',0777,true); - } - //生成微信小程序码 - $wechat_path = '/temp/food/wechat-table-' . $data['table_id'] . '.png'; - - if(!is_file('.' . $wechat_path)){ - $wx = new Wechat; - if($wx->getUnlimitedQRCode($data['applet_id'],$wechat_path,'table-'.$data['shop_id'].'-'.$data['table_id'])){ - $qrcode['weixin'] = $wechat_path; - } - }else{ - $qrcode['weixin'] = $wechat_path; - } -// //如果已经发布H5端代码 -// if(is_file('./h5/food/index.html')){ -// $h5_path = '/temp/food/h5-table-' . $data['table_id'] . '.png'; -// if(!is_file('.' . $h5_path)){ -// $writer = new PngWriter(); -// $code = CodeMode::create(base_url() . 'h5/food/#/?applet_id=' . $data['applet_id'] . '&q=table-' . $data['shop_id'].'-'.$data['table_id'])->setSize(500); -// $result = $writer->write($code); -// $result->saveToFile('.' . $h5_path); -// } -// $qrcode['h5'] = $h5_path; -// } - //生成支付宝小程序码 -// $alipay_path = '/temp/food/alipay-table-' . $data['shop_id'] . '.png'; -// if(!is_file('.' . $alipay_path)){ -// $alipay = new Alipay($data['applet_id']); -// if($alipay->openAppQrcodeCreate('table-'.$data['shop_id'].'-'.$data['table_id'],$alipay_path)){ -// $qrcode['alipay'] = $alipay_path; -// } -// }else{ -// $qrcode['alipay'] = $alipay_path; -// } - //生成小程序聚合码 -// $qrcode_path = '/temp/food/qrcode-table-' . $data['shop_id'] . '.png'; -// if(!is_file('.' . $qrcode_path)){ -// $writer = new PngWriter(); -// $code = CodeMode::create(base_url() . 'food/' . $data['applet_id'] . '/table-'. $data['shop_id'].'-'.$data['table_id'])->setSize(500); -// $result = $writer->write($code); -// $result->saveToFile('.' . $qrcode_path); -// } -// $qrcode['qrcode'] = $qrcode_path; - return $qrcode; - } - - /** - * 关联门店表 - */ - public function shop() - { - return $this->belongsTo('app\\common\\model\\food\\Shop','shop_id'); - } - - /** - * 状态 - */ - public function getStatusAttr($value,$data) - { - $status = [10 => '空闲', 20 => '占用']; - $order_id = [];//订单编号 - $pay_price = 0;//待付款 - $time = '';//开单时间 - $order = Order::where(['table_id'=>$data['table_id'],'order_status'=>10])->order('create_time','asc')->select(); - if(sizeof($order)){ - foreach ($order as $item){ - $order_id[] = $item['order_id']; - if($item['pay_status']['value'] != 20){ - $pay_price = $pay_price + $item['pay_price']; - } - } - $value = 20; - $time = round((time() - strtotime($order[0]['create_time']))/60); - } - $start=mktime(0,0,0,date('m'),date('d'),date('Y')); - $end=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; - return [ - 'text' => $status[$value], - 'value' => $value, - 'order_id' => $order_id, - 'time' => $time, //占用时间 - 'pay_price' => Helper::number2($pay_price), //待收款 - ]; - } - /** - * 获取列表 - */ - public function getList($shop_id = 0, $status = 0, string $search = '') - { - //筛选条件 - $filter = []; - $shop_id > 0 && $filter['shop_id'] = $shop_id; - !empty($search) && $filter['table_name'] = $search; - // 执行查询 - $list = $this->with(['shop']) - ->where($filter) - ->order(['sort','table_id' => 'desc']) - ->select(); - if($status > 0){ - $tablelist = $list; - $list = []; - for($n=0;$nsave($data); - } - - - /** - * 编辑 - */ - public function edit(array $data) - { - return $this->save($data) !== false; - } - /** - * 删除 - */ - public function remove() - { - return $this->delete(); - } + '', + 'weixin' => '', +// 'alipay' => '', +// 'qrcode' => '', + ]; + //生成存储路径 + if(!file_exists('./temp/food')){ + mkdir('./temp/food',0777,true); + } + //生成微信小程序码 + $wechat_path = '/temp/food/wechat-table-' . $data['table_id'] . '.png'; + + if(!is_file('.' . $wechat_path)){ + $wx = new Wechat; + if($wx->getUnlimitedQRCode($data['applet_id'],$wechat_path,'table-'.$data['shop_id'].'-'.$data['table_id'])){ + $qrcode['weixin'] = $wechat_path; + } + }else{ + $qrcode['weixin'] = $wechat_path; + } +// //如果已经发布H5端代码 +// if(is_file('./h5/food/index.html')){ +// $h5_path = '/temp/food/h5-table-' . $data['table_id'] . '.png'; +// if(!is_file('.' . $h5_path)){ +// $writer = new PngWriter(); +// $code = CodeMode::create(base_url() . 'h5/food/#/?applet_id=' . $data['applet_id'] . '&q=table-' . $data['shop_id'].'-'.$data['table_id'])->setSize(500); +// $result = $writer->write($code); +// $result->saveToFile('.' . $h5_path); +// } +// $qrcode['h5'] = $h5_path; +// } + //生成支付宝小程序码 +// $alipay_path = '/temp/food/alipay-table-' . $data['shop_id'] . '.png'; +// if(!is_file('.' . $alipay_path)){ +// $alipay = new Alipay($data['applet_id']); +// if($alipay->openAppQrcodeCreate('table-'.$data['shop_id'].'-'.$data['table_id'],$alipay_path)){ +// $qrcode['alipay'] = $alipay_path; +// } +// }else{ +// $qrcode['alipay'] = $alipay_path; +// } + //生成小程序聚合码 +// $qrcode_path = '/temp/food/qrcode-table-' . $data['shop_id'] . '.png'; +// if(!is_file('.' . $qrcode_path)){ +// $writer = new PngWriter(); +// $code = CodeMode::create(base_url() . 'food/' . $data['applet_id'] . '/table-'. $data['shop_id'].'-'.$data['table_id'])->setSize(500); +// $result = $writer->write($code); +// $result->saveToFile('.' . $qrcode_path); +// } +// $qrcode['qrcode'] = $qrcode_path; + return $qrcode; + } + + /** + * 关联门店表 + */ + public function shop() + { + return $this->belongsTo('app\\common\\model\\food\\Shop','shop_id'); + } + + /** + * 状态 + */ + public function getStatusAttr($value,$data) + { + $status = [10 => '空闲', 20 => '占用']; + $order_id = [];//订单编号 + $pay_price = 0;//待付款 + $time = '';//开单时间 + $order = Order::where(['table_id'=>$data['table_id'],'order_status'=>10])->order('create_time','asc')->select(); + if(sizeof($order)){ + foreach ($order as $item){ + $order_id[] = $item['order_id']; + if($item['pay_status']['value'] != 20){ + $pay_price = $pay_price + $item['pay_price']; + } + } + $value = 20; + $time = round((time() - strtotime($order[0]['create_time']))/60); + } + $start=mktime(0,0,0,date('m'),date('d'),date('Y')); + $end=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; + return [ + 'text' => $status[$value], + 'value' => $value, + 'order_id' => $order_id, + 'time' => $time, //占用时间 + 'pay_price' => Helper::number2($pay_price), //待收款 + ]; + } + /** + * 获取列表 + */ + public function getList($shop_id = 0, $status = 0, string $search = '') + { + //筛选条件 + $filter = []; + $shop_id > 0 && $filter['shop_id'] = $shop_id; + !empty($search) && $filter['table_name'] = $search; + // 执行查询 + $list = $this->with(['shop']) + ->where($filter) + ->order(['sort','table_id' => 'desc']) + ->select(); + if($status > 0){ + $tablelist = $list; + $list = []; + for($n=0;$nsave($data); + } + + + /** + * 编辑 + */ + public function edit(array $data) + { + return $this->save($data) !== false; + } + /** + * 删除 + */ + public function remove() + { + return $this->delete(); + } } \ No newline at end of file diff --git a/app/store/controller/food/Index.php b/app/store/controller/food/Index.php index 01766ac..ba1fda1 100644 --- a/app/store/controller/food/Index.php +++ b/app/store/controller/food/Index.php @@ -1,37 +1 @@ -shop_mode == 10){ - $shop_id = $this->shop_id; - } - $model = new ShopModel; - $shop = $model->getList(); - $count = array(); - $count['order'] = OrderModel::getCount($shop_id); //订单和收入统计 - $count['comment'] = CommentModel::getCount($shop_id); //评价统计 - $count['record'] = RecordModel::getCount($shop_id); //充值统计 - $count['user'] = UserModel::getCount(); //用户统计 - $count['goods'] = GoodsModel::getCount($shop_id); //产品统计 - $count['pact'] = PactModel::getCount($shop_id); //预约统计 - return View::fetch('index', compact('count','shop','shop_id')); - } -} +shop_mode == 10){ $shop_id = $this->shop_id; } $model = new ShopModel; $shop = $model->getList(); $count = array(); $count['order'] = OrderModel::getCount($shop_id); //订单和收入统计 $count['comment'] = CommentModel::getCount($shop_id); //评价统计 $count['record'] = RecordModel::getCount($shop_id); //充值统计 $count['user'] = UserModel::getCount(); //用户统计 $count['goods'] = GoodsModel::getCount($shop_id); //产品统计 $count['pact'] = PactModel::getCount($shop_id); //预约统计 return View::fetch('index', compact('count','shop','shop_id')); } } \ No newline at end of file diff --git a/app/store/view/food/shop/index.html b/app/store/view/food/shop/index.html index 0a8ef27..e6ca470 100644 --- a/app/store/view/food/shop/index.html +++ b/app/store/view/food/shop/index.html @@ -1,170 +1,170 @@ -{layout name="layout/food" /} -
-
-
-
-
-
门店列表
-
-
- - {if $user['applet']['shop_mode']['value']==20} -
-
-
- -
-
-
- {/if} -
- - - - - - - - - - - - - - - - - - - {if $list} - {foreach $list as $index => $item} - - - - - - - - - - - - - - - {/foreach} - {else /} - - - - {/if} - -
门店ID门店LOGO门店名称营业时间联系人联系电话门店码买单码WIFI码门店状态创建时间操作
{$item['shop_id']} - 门店图片 - -

{$item['shop_name']}

-
{$item['shop_hours']}{$item['linkman']}{$item['phone']} - - - - - - - - - - - - - - {$item['status']['text']} - - {$item['create_time']} - -
暂无记录
-
-
-
{:$list->render()}
-
-
总记录:{:$list->total()}
-
-
-
-
-
-
-
-{include file="food/shop/qrcode" /} - - \ No newline at end of file diff --git a/app/store/view/food/shop/qrcode.html b/app/store/view/food/shop/qrcode.html index e4ab129..7e020cd 100644 --- a/app/store/view/food/shop/qrcode.html +++ b/app/store/view/food/shop/qrcode.html @@ -1,36 +1,13 @@ - \ No newline at end of file diff --git a/extend/hema/wechat/Driver.php b/extend/hema/wechat/Driver.php index 46d3def..dcb0649 100755 --- a/extend/hema/wechat/Driver.php +++ b/extend/hema/wechat/Driver.php @@ -1,1845 +1,1848 @@ -isp = $isp; - if($isp){ - $value = Setting::getItem('wxopen'); - $value['component_access_token'] = Cache::get('component_access_token',''); - $this->config = $value; - } - } - - /** - * 获取session_key - */ - public function getSessionKey(string $code, int $applet_id) - { - if(!$applet = Applet::get($applet_id)){ - $this->error = 'applet_id不存在!'; - return false; - } - if($this->isp){ - $url = 'https://api.weixin.qq.com/sns/component/jscode2session'; - $queryarr = [ - 'appid' => $applet['app_id'], - 'js_code' => $code, - 'grant_type' => 'authorization_code', - 'component_appid' => $this->config['app_id'], - 'component_access_token' => $this->config['component_access_token'] - ]; - }else{ - $url = 'https://api.weixin.qq.com/sns/jscode2session'; - $queryarr = [ - 'appid' => $applet['app_id'], - 'secret' => $applet['app_secret'], - 'grant_type' => 'authorization_code', - 'js_code' => $code - ]; - } - $result = json_decode(Http::get($url, $queryarr),true); - if (isset($result['errcode'])) { - $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; - return false; - } - return $result; - } - //* ************************即将废除 - 开始************************* - /** - * 获取session_key - 服务商版 - - */ - public function getComponentSessionKey(string $code, int $applet_id) - { - $applet = Applet::get($applet_id); - $url = 'https://api.weixin.qq.com/sns/component/jscode2session'; - $queryarr = [ - 'appid' => $applet['app_id'], - 'js_code' => $code, - 'grant_type' => 'authorization_code', - 'component_appid' => $this->config['app_id'], - 'component_access_token' => $this->config['component_access_token'] - ]; - $result = json_decode(Http::get($url, $queryarr),true); - if (isset($result['errcode'])) { - $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; - return false; - } - return $result; - } - - //* ************************即将废除 - 结束************************* - - - - /************ 小程序直播 (权限集 id 为:52)**************/ - /** - * 申请开通直播 - */ - public function applyLivelnfo($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/business/applyliveinfo?access_token='.$access_token; - $queryarr = [ - 'action' => 'apply' - ]; - return $this->result(Http::post($url, hema_json($queryarr))); - } - /************ 代商家注册小程序 **************/ - /** - * 快速注册企业小程序 - */ - public function registerMiniprogram($queryarr) - { - $url = 'https://api.weixin.qq.com/cgi-bin/component/fastregisterweapp?action=create&component_access_token=' . $this->config['component_access_token']; - return $this->result(Http::post($url,hema_json($queryarr))); - } - /************ 模板库管理 **************/ - /** - * 删除代码模板 - */ - public function deleteTemplate(int $template_id) - { - $config = $this->config; - $url = 'https://api.weixin.qq.com/wxa/deletetemplate?access_token='.$config['component_access_token']; - $queryarr = ['template_id' => $template_id]; - return $this->result(Http::post($url,hema_json($queryarr))); - } - - /** - * 获取模板列表 - * $template_type 模板类型 0=普通模板 1=标准模板,为空则全部 - */ - public function getTemplateList($template_type='') - { - $config = $this->config; - $url = 'https://api.weixin.qq.com/wxa/gettemplatelist?access_token='.$config['component_access_token']; - $queryarr = ['template_type' => $template_type]; - $result = json_decode(Http::get($url,$queryarr),true); - if($result['errcode']==0 AND sizeof($result['template_list']) > 0){ - return arr_sort($result['template_list'],'template_id'); - } - return []; - } - /** - * 将草稿添加到模板库 - * $template_type 模板类型 0=普通模板 1=标准模板 - */ - public function addToTemplate(int $draft_id, int $template_type = 0) - { - $config = $this->config; - $url = 'https://api.weixin.qq.com/wxa/addtotemplate?access_token='.$config['component_access_token']; - $queryarr = [ - 'draft_id' => $draft_id, - 'template_type' => $template_type - ]; - return $this->result(Http::post($url,hema_json($queryarr))); - } - /** - * 获取草稿箱列表 - */ - public function getTemplatedRaftList() - { - $config = $this->config; - $url = 'https://api.weixin.qq.com/wxa/gettemplatedraftlist?access_token='.$config['component_access_token']; - $result = json_decode(Http::get($url),true); - if($result['errcode']==0 OR isset($result['draft_list']) > 0){ - return arr_sort($result['draft_list'],'draft_id'); - } - return []; - } - - /************ 小程序代码管理 (权限集 id 为:18)**************/ - /** - * 上传代码并生成体验版 - */ - public function commit($applet, $code, $is_live = 0) - { - $access_token = $this->getAccessToken($applet['applet_id']); - $url = 'https://api.weixin.qq.com/wxa/commit?access_token='.$access_token; - $apiurl = $this->config['api_domain']; - $apiurl = explode(';',$apiurl); - $apiurl = 'https://'.$apiurl[0]; - $ext = [ - 'extEnable' => true, - 'extAppid' => $applet['app_id'], - 'directCommit' => false, - 'ext' => [ - 'applet_id' => $applet['applet_id'], - 'api_url' => $apiurl - ], - 'requiredPrivateInfos' => [ - 'getLocation', - 'chooseLocation' - ] - ]; - //如果小程序开通直播 - if($is_live == 1){ - /* - if($wxlive = get_addon_config('wxlive')){ - $ext['plugins']['live-player-plugin'] = [ - 'version' => $wxlive['user_version'], - 'provider' => $wxlive['plugin_appid'] - ]; - }*/ - } - $queryarr = [ - 'template_id' => $code['id'], - 'ext_json' => json_encode($ext), - 'user_version' => $code['user_version'], - 'user_desc' => $code['user_desc'] - ]; - return $this->result(Http::post($url, hema_json($queryarr))); - } - /** - * 获取体验版二维码 - */ - public function getTrialQRCode($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $path = urlencode('pages/index/index'); - $url = 'https://api.weixin.qq.com/wxa/get_qrcode?access_token='.$access_token.'&path='.$path; - $result = Http::get($url); - $path = 'temp'; - if(!file_exists('./'.$path)){ - mkdir($path,0777,true); - } - //获取的二维码数据存储到指定的文件 - file_put_contents('./'.$path . '/test_code_'. $applet_id .'.png',$result); - return '/'.$path.'/test_code_'.$applet_id.'.png'; - } - /** - * 提交代码审核 - */ - public function submitAudit($applet_id,$speedup=0) - { - $access_token = $this->getAccessToken($applet_id); - $queryarr = [ - 'privacy_api_not_use' => false - ]; - $url = 'https://api.weixin.qq.com/wxa/submit_audit?access_token='.$access_token; - $result = json_decode(Http::post($url,hema_json($queryarr)),true); - if($result['errcode'] != 0){ - $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; - return false; - } - //是否加急审核 - if($speedup == 1){ - if(!$this->speedupCodeAudit($applet_id,$result['auditid'])){ - return false; - } - } - return $result; - } - /** - * 查询审核单状态 - */ - public function getAuditStatus($applet_id,$auditid) - { - $access_token = getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/get_auditstatus?access_token='.$access_token; - $queryarr = [ - 'auditid' => $auditid - ]; - return $this->result(Http::post($url, json_encode($queryarr))); - } - /** - * 撤回代码审核 - * 单个帐号每天审核撤回次数最多不超过 5 次(每天的额度从0点开始生效),一个月不超过 10 次 - */ - public function undoAudit($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/undocodeaudit?access_token='.$access_token; - return $this->result(Http::get($url)); - } - /** - * 发布已通过审核的小程序 - */ - public function release($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/release?access_token='.$access_token; - return $this->result(Http::post($url,'{}')); - } - /** - * 小程序版本回退 - */ - public function revertCodeRelease($applet_id,$version='') - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/revertcoderelease?app_version='.$version.'&access_token='.$access_token; - return $this->result(Http::get($url)); - } - /** - * 获取可回退的小程序版本 - */ - public function getHistoryVersion($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/revertcoderelease?action=get_history_version&access_token='.$access_token; - return $this->result(Http::get($url)); - } - /** - * 设置小程序服务状态 - */ - public function setVisitStatus($applet_id,$action) - { - $access_token = $this->getAccessToken($applet_id); - $queryarr = [ - 'action' => $action - ]; - $url = 'https://api.weixin.qq.com/wxa/change_visitstatus?access_token='.$access_token; - return $this->result(Http::post($url,hema_json($queryarr))); - } - /** - * 查询小程序服务状态 - */ - public function getVisitStatus($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/getvisitstatus?access_token='.$access_token; - return $this->result(Http::post($url,'{}')); - } - /** - * 设置最低基础库版本 - */ - public function setSupportVersion($applet_id,$version) - { - $access_token = $this->getAccessToken($applet_id); - $queryarr = [ - 'version' => $version - ]; - $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/setweappsupportversion?access_token='.$access_token; - return $this->result(Http::post($url,hema_json($queryarr))); - } - /** - * 查询服务商审核额度 - */ - public function setCodeAuditQuota($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/queryquota?access_token='.$access_token; - return $this->result(Http::get($url)); - } - /** - * 加急代码审核 - */ - public function speedupCodeAudit($applet_id,$auditid) - { - $access_token = $this->getAccessToken($applet_id); - $queryarr = [ - 'auditid' => $auditid - ]; - $url = 'https://api.weixin.qq.com/wxa/speedupaudit?access_token='.$access_token; - return $this->result(Http::post($url,hema_json($queryarr))); - } - /** - * 查询小程序版本信息 - */ - public function getVersionInfo($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/getversioninfo?access_token='.$access_token; - return $this->result(Http::post($url,'{}')); - } - /** - * 查询最新一次审核单状态 - */ - public function getLatestAuditStatus($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/get_latest_auditstatus?access_token='.$access_token; - return $this->result(Http::get($url)); - } - /** - * 获取隐私接口检测结果 - */ - public function getCodePrivacyInfo($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/security/get_code_privacy_info?access_token='.$access_token; - $result = json_decode(Http::get($url),true); - if($result['errcode'] != 0){ - $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; - return false; - } - $res = true; - $error = ''; - if(sizeof($result['without_auth_list']) > 0){ - $error = '没权限的隐私接口:'; - foreach ($result['without_auth_list'] as $item){ - $error = $error . $item . ','; - } - $res = false; - } - if(sizeof($result['without_conf_list']) > 0){ - if(empty($error)){ - $error = '没配置的隐私接口:'; - }else{ - $error = $error . '没配置的隐私接口:'; - } - foreach ($result['without_auth_list'] as $item){ - $error = $error . $item . ','; - } - $res = false; - } - if(!empty($error)){ - $error = $error . '请完成配置'; - } - if($res){ - return $result; - } - $this->error = $error; - return false; - } - /************ 扫普通二维码打开小程序 (权限集 id 为:3、18)**************/ - /** - * 获取已设置的二维码规则 - */ - public function getJumpQRCode($applet_id,$appid='') - { - if(empty($appid)){ - $queryarr = '{}'; - $access_token = $this->getAccessToken($applet_id); - }else{ - $queryarr = [ - 'appid' => $appid - ]; - $queryarr = json_encode($queryarr,JSON_UNESCAPED_UNICODE); - $access_token = $this->getAccessToken($applet_id,2); - } - $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumpget?access_token='.$access_token; - $result = json_decode(Http::post($url,$queryarr),true); - return $result; - } - /** - * 增加或修改二维码规则 - */ - public function addJumpQRCode($applet_id,$queryarr) - { - if(isset($queryarr['appid'])){ - $access_token = $this->getAccessToken($applet_id,2); - }else{ - $access_token = $this->getAccessToken($applet_id); - } - //获取效验文件 - $path = str_replace(base_url(),'',$queryarr['prefix']); - $path = './' . $path; - if(!$this->downloadQRCodeText($applet_id,$access_token,$path)){ - return false;//获取效验文件失败 - } - $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumpadd?access_token='.$access_token; - $result = json_decode(Http::post($url,hema_json($queryarr)),true); - if($result['errcode'] != 0){ - $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; - return false; - } - rmdirs($path);//添加成功,删除效验文件 - return $result; - } - /** - * 发布已设置的二维码规则 - */ - public function publishJumpQRCode($applet_id,$prefix,$parameter='') - { - if(empty($parameter)){ - $access_token = $this->getAccessToken($applet_id); - }else{ - $prefix = $prefix . '/' . $parameter; - $access_token = $this->getAccessToken($applet_id,2); - } - $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumppublish?access_token='.$access_token; - $queryarr = [ - 'prefix' => $prefix - ]; - return $this->result(Http::post($url,hema_json($queryarr))); - } - /** - * 删除已设置的二维码规则 - */ - public function deleteJumpQRCode($applet_id,$prefix,$appid='') - { - $queryarr = [ - 'prefix' => $prefix - ]; - if(empty($appid)){ - $access_token = $this->getAccessToken($applet_id); - }else{ - $queryarr['appid'] = $appid; - $access_token = $this->getAccessToken($applet_id,2); - } - $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumpdelete?access_token='.$access_token; - return $this->result(Http::post($url,hema_json($queryarr))); - } - /** - * 获取校验文件名称及内容 - */ - public function downloadQRCodeText($applet_id,$access_token,$path) - { - $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumpdownload?access_token='.$access_token; - $result = json_decode(Http::post($url,'{}'),true); - if ($result['errcode'] != 0) { - $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; - return false; - } - if(!file_exists($path)){ - mkdir($path,0777,true); - } - $path = $path . $result['file_name']; - file_put_contents($path,$result['file_content']); - return true; - } - - /************ 地理位置接口申请 (权限集 id 为:18)**************/ - /** - * 获取地理位置接口列表 - */ - public function getPrivacyInterface($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/security/get_privacy_interface?access_token='.$access_token; - $result = json_decode(Http::get($url),true); - return $result; - } - /** - * 申请地理位置接口 - */ - public function applyPrivacyInterface($applet_id,$queryarr=[]) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/security/apply_privacy_interface?access_token='.$access_token; - return $this->result(Http::post($url,hema_json($queryarr))); - } - - - /** - * 启动ticket推送服务 - */ - function startTicket(string $component_appid, string $component_secret) - { - $url = 'https://api.weixin.qq.com/cgi-bin/component/api_start_push_ticket'; - $queryarr = [ - 'component_appid' => $component_appid, - 'component_secret' => $component_secret - ]; - Http::post($url, json_encode($queryarr)); - return true; - } - /** - * 获取不限制的小程序码 - */ - public function getUnlimitedQRCode(int $applet_id,$file_path, string $scene = '',$page = 'pages/index/index') - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$access_token; - $queryarr = [ - 'scene' => $scene, - 'page' => $page - ]; - $result = Http::post($url,json_encode($queryarr)); - file_put_contents(public_path().$file_path,$result); - //获取的二维码数据存储到指定的文件 - return $file_path; - } - /** - * 公众号用户登录 - 获取用户资料 - */ - public function getTicket($applet_id) - { - if(!$ticket = Cache::get('jsapi_ticket_'.$applet_id)){ - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket'; - $queryarr = [ - 'access_token' => $access_token, - 'type' => 'jsapi' - ]; - $result = json_decode(Http::get($url, $queryarr),true); - if($result['errcode']!=0){ - return false; - } - $ticket = $result['ticket']; - Cache::set('jsapi_ticket_'.$applet_id, $ticket, 5000); - } - return $ticket; - } - /** - * 查询昵称设置状态 - */ - public function querynickname(){ - $audit_id='454738159'; - $access_token = getAccessToken(); - $url = 'https://api.weixin.qq.com/wxa/api_wxa_querynickname?access_token='.$access_token; - $data = ['audit_id' => $audit_id]; - $result = http_post($url,$data); - return $result; - } - - /** - * 获取审核时可填写的类目信息 - */ - public function getshowwxaitem() - { - $access_token = getAccessToken(); - $url = 'https://api.weixin.qq.com/wxa/getshowwxaitem?access_token='.$access_token; - return curl($url); - } - /** - * code换取token - 微信扫码登录 - */ - function getWebToken(string $code) - { - $values = Setting::getItem('wxweb',0); - $url = 'https://api.weixin.qq.com/sns/oauth2/access_token'; - $queryarr = [ - 'appid' => $values['app_id'], - 'secret' => $values['app_secret'], - 'grant_type' => 'authorization_code', - 'code' => $code - ]; - $result = json_decode(Http::get($url,$queryarr),true); - if(isset($result['errcode']) AND $result['errcode'] != 0){ - $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; - return false; - } - return $result; - } - - /** - * 用户登录 - 获取用户资料 (公众号,web应用) - */ - public function getUserinfo(string $openid, string $access_token) - { - $url = 'https://api.weixin.qq.com/sns/userinfo'; - $queryarr = [ - 'access_token' => $access_token, - 'openid' => $openid, - 'lang' => 'zh_CN' - ]; - $result = json_decode(Http::get($url, $queryarr),true); - if(isset($result['errcode']) AND $result['errcode'] != 0){ - $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; - return false; - } - return $result; - } - - /** - * 获取授权应用的帐号基本信息 - */ - public function getAppInfo(string $auth_appid) - { - $config = $this->config; - $url = 'https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_info?component_access_token='.$config['component_access_token']; - $queryarr = [ - 'component_appid' => $config['app_id'], - 'authorizer_appid' => $auth_appid - ]; - $result = json_decode(Http::post($url, json_encode($queryarr)),true); - if(isset($result['errcode']) AND $result['errcode'] != 0){ - $this->error = 'code:'.$result['errcode'].',msg:'.$result['errmsg'];//获取失败 - return false; - } - return $result; - } - - /** - * 修改小程序头像 - */ - public function modifyHeadImage(string $media_id,int $applet_id) - { - $access_token = $this->getAccessToken($applet_id); - //执行修改头像 - $url = 'https://api.weixin.qq.com/cgi-bin/account/modifyheadimage?access_token='.$access_token; - $queryarr = [ - 'head_img_media_id' => $media_id, - 'x1' => 0, - 'y1' => 0, - 'x2' => 1, - 'y2' => 1 - ]; - return $this->result(Http::post($url, hema_json($queryarr))); - } - - /** - * 上传临时素材 - */ - public function upTempMaterial(string $file_url, int $applet_id, string $type='image') - { - $access_token = $this->getAccessToken($applet_id); - $real_path = web_path() . 'temp/' . time() . '.jpg'; - $temp_file = file_get_contents($file_url); //获取网络图片 - file_put_contents($real_path,$temp_file); //存放临时图片 - $url = 'https://api.weixin.qq.com/cgi-bin/media/upload?access_token='.$access_token.'&type='.$type; - $queryarr['media'] = curl_file_create($real_path,'image/jpeg',$file_url);//获取要上传的二进制文件 - $result = json_decode(http_post($url,$queryarr),true); - unlink($real_path);//删除临时图片 - if(isset($result['media_id'])){ - return $result['media_id']; //返回的临时素材(media_id) - }else{ - $this->error = 'code:'.$result['errcode'].',msg:'.$result['errmsg'];//获取失败 - return false; - } - } - - /** - * 获取小程序设置信息 - */ - public function getInfor(int $applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/cgi-bin/account/getaccountbasicinfo?access_token='.$access_token; - return $this->result(Http::get($url)); - } - - /** - * 获取预授权码 - 生成授权页面 - * $type,1=授权公众号,2=授权小程序,3=两者都有 - */ - public function authUrl(int $applet_id = 0, int $type = 3) - { - $config = $this->config; //获取第三方配置 - $url = '#'; - $redirect_uri = 'https://'.$config['authorize_domain'].'/applet/auth/'; - if($type==1){ - $redirect_uri .= 'wechat/applet_id/'.$applet_id; - }else{ - $redirect_uri .= 'wxapp/applet_id/'.$applet_id; - } - $url = 'https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token='.$config['component_access_token']; - $queryarr = [ - 'component_appid' => $config['app_id'] - ]; - $result = json_decode(Http::post($url, json_encode($queryarr)),true);//返回"pre_auth_code": "预授权码","expires_in": 有效期(600秒) - if(isset($result['pre_auth_code'])){ - $url = 'https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid='.$config['app_id'].'&pre_auth_code='.$result['pre_auth_code'].'&redirect_uri='.$redirect_uri.'&auth_type='.$type; - } - return $url; - } - - - /** - * 设置服务器域名 - */ - public function setServeDomain(int $applet_id = 0, string $apiurl = '', string $access_token = '') - { - $config = $this->config; - if(empty($access_token)){ - $access_token = $this->getAccessToken($applet_id); - } - if(empty($apiurl)){ - $apiurl = $config['api_domain']; - } - $domain = explode(';',$apiurl); - $requestdomain = [];//request 合法域名 - $wsrequestdomain = [];//socket 合法域名 - for($n=0;$n 'set', - 'requestdomain' => $requestdomain, - 'wsrequestdomain' => $wsrequestdomain, - 'uploaddomain' => $requestdomain, - 'downloaddomain' => $requestdomain - ]; - $result = json_decode(Http::post($url, hema_json($queryarr)),true); - if($result['errcode'] != 0){ - $this->error = 'code:'.$result['errcode'].',msg:'.$result['errmsg']; - return false; - } - $result['apiurl'] = $apiurl; - return $result; - } - - /** - * 设置业务域名 - */ - public function setWebDomain(int $applet_id = 0, string $apiurl = '') - { - $config = $this->config; - if(empty($access_token)){ - $access_token = $this->getAccessToken($applet_id); - } - if(empty($apiurl)){ - $apiurl = $config['api_domain']; - } - $domain = explode(';',$apiurl); - $webviewdomain = []; - foreach ($domain as $vo){ - $webviewdomain[] = 'https://'.$vo; - } - $url = 'https://api.weixin.qq.com/wxa/setwebviewdomain?access_token='.$access_token; - $queryarr = [ - 'action' => 'set', - 'webviewdomain' => $webviewdomain - ]; - return $this->result(Http::post($url, hema_json($queryarr))); - } - /** - * 设置功能介绍 - */ - public function setSignature(int $applet_id = 0, string $signature = '', string $access_token = '') - { - if(empty($access_token)){ - $access_token = $this->getAccessToken($applet_id); - } - if(empty($signature)){ - $signature = '一个值得信赖的小程序'; - } - $url = 'https://api.weixin.qq.com/cgi-bin/account/modifysignature?access_token='.$access_token; - $queryarr = ['signature' => $signature]; - $result = json_decode(Http::post($url, hema_json($queryarr)),true); - if($result['errcode'] != 0){ - $this->error = 'code:'.$result['errcode'].',msg:'.$result['errmsg']; - return false; - } - $result['signature'] = $signature; - return $result; - } - - /** - * 微信认证名称检测 - */ - public function checkWxVerifyNickName(int $applet_id, string $nick_name) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/cgi-bin/wxverify/checkwxverifynickname?access_token='.$access_token; - $queryarr = ['nick_name' => $nick_name]; - return $this->result(Http::post($url, hema_json($queryarr))); - } - /** - * 设置小程序昵称 - */ - public function setNickName(int $applet_id, string $nick_name, string $license, string $other1) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/setnickname?access_token='.$access_token; - $queryarr = [ - 'nick_name' => $nick_name, - 'license' => $license, - 'naming_other_stuff_1' => $other1 - ]; - return $this->result(Http::post($url, hema_json($queryarr))); - } - - /** - * 删除类目 - */ - public function deleteCategory(int $applet_id, int $first, int $second) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/deletecategory?access_token='.$access_token; - $queryarr = [ - 'first' => $first, - 'second' => $second - ]; - return $this->result(Http::post($url, hema_json($queryarr))); - } - - /** - * 获取已设置的所有类目 - */ - public function getCategory(int $applet_id) - { - $access_token = $this->getAccessToken($applet_id); - if($this->isp){ - $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/getcategory?access_token='.$access_token; - }else{ - $url = 'https://api.weixin.qq.com/wxaapi/newtmpl/getcategory?access_token='.$access_token; - } - $result = json_decode(Http::get($url),true); - return $result; - } - - /** - * 获取可以设置的所有类目 - */ - public function getAllCategories($applet_id) - { - //同步微信端线下类目 - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/getallcategories?access_token='.$access_token; - $result = json_decode(Http::get($url),true); - if($result['errcode']==0){ - $category = $result['categories_list']['categories']; - $new = []; //筛选后的类目 - //遍历一级类目 - foreach($category[0]['children'] as $value){ - //查找一级类目 - for($n=1;$ngetAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/addcategory?access_token='.$access_token; - $queryarr = [ - 'categories' => [ - [ - 'first' => $first, - 'second' => $second, - 'certicates' => [ - 'key' => $ca_name, - 'value' => $media_id - ] - ] - ] - ]; - return $this->result(Http::post($url, hema_json($queryarr))); - } - - /** - * 附近小程序 - 查询地点类目信息 - */ - public function getStoreWxaAttr(int $applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/getstorewxaattr?access_token='.$access_token; - $result = json_decode(Http::get($url),true); - $list = []; - if($result['errcode'] == 0 AND $result['is_exist'] == 1){ - $category = $this->getMerchantCategory($applet_id);//拉取可设置类目 - if(isset($result['store_wxa_attr']['weapp_category'])){ - foreach ($result['store_wxa_attr']['weapp_category']['categories'] as $vo) { - $first_name = ''; - $second_name = ''; - //获取一级类目名称 - foreach ($category as $first) { - if($first['id'] == $vo['first']){ - $first_name = $first['name']; - //获取二级类目名称 - foreach ($first['children'] as $second) { - if($second['id'] == $vo['second']){ - $second_name = $second['name']; - break; - } - } - break; - } - } - $list[] = [ - 'first_id' => $vo['first'], - 'first_name' => $first_name, - 'second_id' => $vo['second'], - 'second_name' => $second_name, - 'audit_status' => $vo['audit_status'], - 'audit_id' => $vo['audit_id'] - ]; - } - } - } - return $list; - } - /** - * 附近小程序 - 申请附近地点类目 - */ - public function nearbyApplyCategory(array $queryarr, int $applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/nearbyapplycategory?access_token='.$access_token; - $this->result(Http::post($url,hema_json($queryarr))); - } - /** - * 附近小程序 - 拉取门店小程序类目 - */ - public function getMerchantCategory(int $applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/get_merchant_category?access_token='.$access_token; - $result = json_decode(Http::get($url),true); - if($result['errcode']==0){ - $category = $result['data']['all_category_info']['categories']; - $new = []; //筛选后的类目 - //遍历一级类目 - foreach($category[0]['children'] as $value){ - //查找一级类目 - for($n=1;$ngetAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/getnearbypoilist?page=1&page_rows=20&access_token='.$access_token; - $result = json_decode(Http::get($url),true); - return $result; - } - /** - * 附近小程序 - 添加附近门店 - */ - public function addNearbyPoi(array $queryarr, int $applet_id) - { - $queryarr['hour'] = str_replace(' ','',$queryarr['hour']); - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/addnearbypoi?access_token='.$access_token; - return $this->result(Http::post($url,hema_json($queryarr))); - } - /** - * 附近小程序 - 删除附近门店 - */ - public function delNearbyPoi(int $applet_id, string $poi_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/delnearbypoi?access_token='.$access_token; - $queryarr =[ - 'poi_id' => $poi_id //门店的 poi_id - ]; - return $this->result(Http::post($url,hema_json($queryarr))); - } - - /** - * 附近小程序 - 展示/取消展示附近门店(小程序) - */ - public function setNearbyPoiShowStatus(int $applet_id, $poi_id, $status) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/setnearbypoishowstatus?access_token='.$access_token; - $queryarr =[ - 'poi_id' => $poi_id, //门店的 poi_id - 'status' => $status //0:取消展示;1:展示 - ]; - return $this->result(Http::post($url,hema_json($queryarr))); - } - - /** - * 配置小程序用户隐私保护指引 - */ - public function setPrivacySetting($applet_id,$queryarr) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/cgi-bin/component/setprivacysetting?access_token=' . $access_token; - $queryarr['owner_setting']['notice_method'] = '小程序弹窗'; - return $this->result(Http::post($url,hema_json($queryarr))); - } - - /** - * 查询小程序用户隐私保护指引 - */ - public function getPrivacySetting($applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/cgi-bin/component/getprivacysetting?access_token=' . $access_token; - return $this->result(Http::post($url,"{}")); - } - - /** - * 获取体验用户列表 - */ - public function getTestUser(int $applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/memberauth?access_token='.$access_token; - $queryarr =[ - 'action' => 'get_experiencer' //固定值 - ]; - return json_decode(Http::post($url,hema_json($queryarr)),true); - } - /** - * 添加体验用户 - */ - public function addTestUser(int $applet_id, string $wechatid) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/bind_tester?access_token='.$access_token; - $queryarr =[ - 'wechatid' => $wechatid //微信号 - ]; - return $this->result(Http::post($url,hema_json($queryarr))); - } - /** - * 删除体验用户 - */ - public function delTestUser(int $applet_id, string $userstr) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxa/unbind_tester?access_token='.$access_token; - $queryarr =[ - 'userstr' => $userstr //唯一识别码 - ]; - return $this->result(Http::post($url,hema_json($queryarr))); - } - - /** - * 上传图文消息内的图片 - 到微信端(永久素材) - 小程序端 - * 图片仅支持jpg/png格式,大小必须在1MB以下 - */ - public function upMediaUrl(string $file_url, int $applet_id = 0) - { - $access_token = $this->getAccessToken($applet_id); - $real_path = web_path() . 'temp/' . time() . '.jpg'; - $temp_file = file_get_contents($file_url);//获取网络图片 - file_put_contents($real_path,$temp_file); //存放临时图片 - //上传到微信服务器 - $url = 'https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token='.$access_token; - $queryarr['media'] = curl_file_create($real_path,'image/jpeg',$file_url);//获取要上传的二进制文件 - $result = json_decode(Http::post($url,$queryarr),true); - unlink($real_path);//删除临时图片 - if(!isset($result['url'])){ - $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; - return false;//上传错误,一般是图片不符合要求 - } - return $result['url']; - } - /** - * 使用授权码获取授权信息 - */ - public function getAuth(string $auth_code) - { - $config = $this->config; - $url = 'https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token='.$config['component_access_token']; - $queryarr = [ - 'component_appid' => $config['app_id'], - 'authorization_code' => $auth_code - ]; - $result = json_decode(Http::post($url, hema_json($queryarr)),true); - if(!isset($result['authorization_info'])){ - $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; - return false; - } - return $result['authorization_info']; - } - - /** - * 获取 component_access_token - */ - public function getComponentToken(string $ticket) - { - $config = $this->config; - $url = 'https://api.weixin.qq.com/cgi-bin/component/api_component_token'; - $queryarr = [ - 'component_appid' => $config['app_id'], - 'component_appsecret' => $config['app_secret'], - 'component_verify_ticket' => $ticket, - ]; - $result = json_decode(Http::post($url, hema_json($queryarr)),true); - if(isset($result['component_access_token'])){ - return $result; - } - $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; - return false; - } - /************ 公众号 - 生成二维码 (帐号管理-生成带参数的二维码)**************/ - - public function qrcodeCreate($applet_id=0,$action_name='QR_STR_SCENE',$scene='login',$expire_seconds=7200) - { - $access_token = $this->getAccessToken($applet_id,2); - - $url = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=' . $access_token; - /** - * 二维码类型 - * QR_SCENE为临时的整型参数值,QR_STR_SCENE为临时的字符串参数值 - * QR_LIMIT_SCENE为永久的整型参数值,QR_LIMIT_STR_SCENE为永久的字符串参数值 - */ - $queryarr['action_name'] = $action_name; - //设置临时二维码过期时间 - if($action_name=='QR_STR_SCENE' or $action_name=='QR_SCENE'){ - $queryarr['expire_seconds'] = $expire_seconds; - } - if($action_name=='QR_STR_SCENE' or $action_name=='QR_LIMIT_STR_SCENE'){ - $queryarr['action_info']['scene']['scene_str'] = $scene; - }else{ - $queryarr['action_info']['scene']['scene_id'] = (int)$scene; - } - $result = json_decode(Http::post($url, hema_json($queryarr)),true); - - if(isset($result['ticket'])){ - $rs = Http::get('https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.urlencode($result['ticket'])); - $path = 'temp'; - if(!file_exists('./'.$path)){ - mkdir($path,0777,true); - } - //获取的二维码数据存储到指定的文件 - file_put_contents('./'.$path . '/hemaphp_login_qrcode.png',$rs); - return $result['ticket']; - } - $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; - return false; - } - - /** - * 公众号网页授权 - H5用户登录 code 换取 access_token - * $appid 公众号的APPID - */ - public function oauth2($code,$appid,$applet_id) - { - $access_token = $this->getAccessToken($applet_id,2); - //通过 code 换取 access_token - $url = 'https://api.weixin.qq.com/sns/oauth2/component/access_token'; - $queryarr = [ - 'appid' => $appid, - 'code' => $code, - 'grant_type' => 'authorization_code', - 'component_appid' => $this->config['app_id'], - 'component_access_token' => $this->config['component_access_token'] - ]; - $result = json_decode(Http::get($url, $queryarr),true); - if (isset($result['errcode'])) { - $this->error = 'code:'.$result['errcode'].',msg:' . $result['errmsg']; - return false; - }else{ - //拉取用户信息(需 scope 为 snsapi_userinfo) - $url = 'https://api.weixin.qq.com/sns/userinfo?access_token'; - $queryarr = [ - 'access_token' => $result['access_token'], - 'openid' => $result['openid'], - 'lang' => 'zh_CN' - ]; - $result = json_decode(Http::get($url, $queryarr),true); - if (isset($result['errcode'])) { - $this->error = 'code:'.$result['errcode'].',msg:' . $result['errmsg']; - return false; - } - } - return $result; - } - /** - * 公众号获取粉丝列表 - */ - public function getFans(int $applet_id) - { - $access_token = $this->getAccessToken($applet_id,2); - $url = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token='.$access_token.'&next_openid='; - $result = json_decode(Http::get($url),true); - return $result; - } - /** - * 上传图文消息内的图片 - 到微信端(永久素材) - 公众号端 - * 图片仅支持jpg/png格式,大小必须在1MB以下 - */ - public function upWechatUrl(array $img, int $applet_id = 0) - { - $access_token = $this->getAccessToken($applet_id,2); - for($n=0;$ngetAccessToken($applet_id,2); - $real_path = web_path() . 'uploads/' . $file_path; - //上传到微信服务器 - $url = 'https://api.weixin.qq.com/cgi-bin/material/add_material?access_token='.$access_token.'&type='.$type; - $queryarr['media'] = curl_file_create($real_path,$mimetype,$file_path);//获取要上传的二进制文件 - $result = json_decode(http_post($url,$queryarr),true); - return $result; //$result['media_id']; - } - /** - * 删除素材文件 - 到微信端 - */ - public function delMaterial(string $media_id, int $applet_id = 0) - { - $access_token = $this->getAccessToken($applet_id,2); - $url = 'https://api.weixin.qq.com/cgi-bin/material/del_material?access_token='.$access_token; - $queryarr = [ - 'media_id' => $media_id - ]; - $result = json_decode(Http::post($url,json_encode($queryarr)),true); - return $result; - } - - /** - * 新增草稿 - 图文消息 - */ - public function addDraft(array $data, int $applet_id = 0) - { - $queryarr['articles'] = array(); - for($n=0;$n $data[$n]['title'], - 'author' => $data[$n]['author'], - 'digest' => $data[$n]['digest'], - 'content' => str_ireplace('"','\'',$data[$n]['wx_content']), - 'content_source_url' => base_url(), - 'thumb_media_id' => $data[$n]['media_id'] - ]); - } - $access_token = $this->getAccessToken($applet_id,2); - //上传到微信服务器 - $url = 'https://api.weixin.qq.com/cgi-bin/draft/add?access_token='.$access_token; - $result = json_decode(Http::post($url,hema_json($queryarr)),true); - return $result; - } - - /** - * 修改草稿 - 图文消息 - */ - public function editDraft(array $data, int $media_id, int $applet_id = 0) - { - $access_token = $this->getAccessToken($applet_id,2); - for($n=0;$n $media_id, - 'index' => $data[$n]['ids'], - 'articles' => [ - 'title' => $data[$n]['title'], - 'author' => $data[$n]['author'], - 'digest' => $data[$n]['digest'], - 'content' => str_ireplace('"','\'',$data[$n]['wx_content']), - 'content_source_url' => base_url(), - 'thumb_media_id' => $data[$n]['media_id'] - ] - ]; - //上传到微信服务器 - $url = 'https://api.weixin.qq.com/cgi-bin/draft/update?access_token='.$access_token; - $result = json_decode(Http::post($url,hema_json($queryarr)),true); - if($result['errcode']!=0){ - $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; - return false; - } - } - return true; - } - - /** - * 删除草稿 - 图文消息 - */ - public function delDraft(string $media_id, int $applet_id = 0) - { - $access_token = $this->getAccessToken($applet_id,2); - $url = 'https://api.weixin.qq.com/cgi-bin/draft/delete?access_token='.$access_token; - $queryarr = [ - 'media_id' => $media_id - ]; - return json_decode(Http::post($url,json_encode($queryarr)),true); - } - /** - * 根据OpenID列表群发公众号信息 - */ - public function sendMass($msg, $open_id, int $applet_id = 0) - { - //图文消息 - if($msg['msg_type']['value']=='news'){ - $queryarr = [ - 'mpnews' => [ - 'media_id' => $msg['content'] - ], - 'msgtype' => 'mpnews', - 'send_ignore_reprint' => $msg['send_ignore_reprint'] - ]; - } - //文本消息 - if($msg['msg_type']['value']=='text'){ - $queryarr = [ - 'msgtype' => 'text', - 'text' => [ - 'content' => $msg['content'] - ] - ]; - } - //语音消息 - if($msg['msg_type']['value']=='voice'){ - $queryarr = [ - 'voice' => [ - 'media_id' => $msg['content'] - ], - 'msgtype' => 'voice' - ]; - } - //图片消息 - if($msg['msg_type']['value']=='image'){ - $queryarr = [ - 'images' => [ - 'media_ids' => [ - 0 => $msg['content'] - ], - 'recommend' => $msg['recommend'], - 'need_open_comment' => $msg['need_open_comment'], - 'only_fans_can_comment' => $msg['only_fans_can_comment'] - ], - 'msgtype' => 'image' - ]; - } - //视频消息 - if($msg['msg_type']['value']=='video'){ - $queryarr = [ - 'mpvideo' => [ - 'media_id' => $msg['content'], - 'title' => $msg['title'], - 'description' => $msg['description'] - ], - 'msgtype' => 'mpvideo' - ]; - } - //卡券消息 - if($msg['msg_type']['value']=='wxcard'){ - $queryarr = [ - 'wxcard' => [ - 'card_id' => $msg['content'] - ], - 'msgtype' => 'wxcard' - ]; - } - $queryarr['touser'] = $open_id; - $access_token = $this->getAccessToken($applet_id,2); - $url = 'https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token='.$access_token; - $result = json_decode(Http::post($url,json_encode($queryarr)),true); - return $result; - } - /** - * 删除公众号群发记录 - */ - public function deleteMass(int $msg_id,int $applet_id = 0) - { - $access_token = $this->getAccessToken($applet_id,2); - $url = 'https://api.weixin.qq.com/cgi-bin/message/mass/delete?access_token='.$access_token; - $queryarr = ['msg_id' => $msg_id]; - $result = json_decode(Http::post($url,json_encode($queryarr)),true); - return $result; - } - /** - * 向公众号发布预览消息 - */ - public function previewMsg(array $data, string $open_id, int $applet_id = 0) - { - //图文消息 - if($data['msg_type']=='news'){ - $queryarr = [ - 'mpnews' => ['media_id' => $data['content']], - 'msgtype' => 'mpnews' - ]; - } - //文本消息 - if($data['msg_type']=='text'){ - $queryarr = [ - 'text' => ['content' => $data['content']], - 'msgtype' => 'text' - ]; - } - //语音消息 - if($data['msg_type']=='voice'){ - $queryarr = [ - 'voice' => ['media_id' => $data['content']], - 'msgtype' => 'voice' - ]; - } - //图片消息 - if($data['msg_type']=='image'){ - $queryarr = [ - 'image' => ['media_id' => $data['content']], - 'msgtype' => 'image' - ]; - } - //视频消息 - if($data['msg_type']=='video'){ - $queryarr = [ - 'mpvideo' => ['media_id' => $data['content']], - 'msgtype' => 'mpvideo' - ]; - } - //卡券消息 - if($data['msg_type']=='wxcard'){ - $queryarr = '{ - "wxcard":{ - "card_id":"'.$data['content'].'", - "card_ext": "{ - "code":"", - "openid":"", - "timestamp":"", - "signature":"" - } - "msgtype":"wxcard" - }'; - $queryarr = [ - 'wxcard' => [ - 'card_id' => $data['content'], - 'card_ext' => [ - 'code' => '', - 'openid' => '', - 'timestamp' => '', - 'signature' => '' - ] - ], - 'msgtype' => 'wxcard' - ]; - } - $queryarr['touser'] = $open_id; - $access_token = $this->getAccessToken($applet_id,2); - $url = 'https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token='.$access_token; - $result = json_decode(Http::post($url,json_encode($queryarr)),true); - return $result; - } - /** - * 公众号自定义菜单 - 同步到微信端 - */ - public function creatMenu(array $menu, int $applet_id = 0) - { - $access_token = $this->getAccessToken($applet_id,2); - $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$access_token; - $queryarr = [ - 'button' => $menu - ]; - $result = json_decode(Http::post($url, hema_json($queryarr)),true); - return $result; - } - /** - * 发布模板消息 - 公众号 - */ - function sendWechatMsg(int $applet_id = 0, array $queryarr = []) - { - if(sizeof($queryarr) == 0){ - return true; - } - $access_token = $this->getAccessToken($applet_id,2); - $url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='.$access_token; - $result = json_decode(Http::post($url,json_encode($queryarr)),true); - return true; - } - - /** - * 获取公众号粉丝用户基本信息(包括UnionID机制)- 公众号 - */ - public function getWechatUserInfo(string $openid, int $applet_id) - { - $access_token = $this->getAccessToken($applet_id,2); - $url = 'https://api.weixin.qq.com/cgi-bin/user/info'; - $queryarr = [ - 'access_token' => $access_token, - 'openid' => $openid, - 'lang' => 'zh_CN' - ]; - $result = json_decode(Http::get($url,$queryarr),true); - if(!isset($result['openid'])){ - $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; - return false; - } - $data['open_id'] = $result['openid']; - if(isset($result['unionid'])){ - $data['union_id'] = $result['unionid']; - } - return $data; - } - - /** - * 发送客服消息模板 - */ - public function sendServiceMsg(array $msg, string $touser, int $applet_id) - { - //文本消息 - if($msg['type']=='text'){ - $queryarr = [ - 'msgtype' => 'text', - 'text' => [ - 'content' => $msg['content'] - ] - ]; - } - //图片消息 - if($msg['type']=='image'){ - $queryarr = [ - 'msgtype' => 'image', - 'image' => [ - 'media_id' => $msg['media_id'] - ] - ]; - } - //图文消息(点击跳转到图文消息页面) 图文消息条数限制在1条以内 - if($msg['type']=='news'){ - $queryarr = [ - 'msgtype' => 'mpnews', - 'mpnews' => [ - 'media_id' => $msg['media_id'] - ] - ]; - } - //发送图文消息(点击跳转到外链) 图文消息条数限制在1条以内 - if($msg['type']=='news'){ - $queryarr = [ - 'msgtype' => 'news', - 'news' => [ - 'articles' => [ - 'picurl' => $msg['picurl'], - 'url' => $msg['url'], - 'title' => $msg['title'], - 'description' => $msg['description'] - ] - ] - ]; - } - //语音消息 - if($msg['type']=='voice'){ - $queryarr = [ - 'msgtype' => 'voice', - 'voice' => [ - 'media_id' => $msg['media_id'] - ] - ]; - } - //视频消息 - if($msg['type']=='video'){ - $queryarr = [ - 'msgtype' => 'video', - 'video' => [ - 'media_id' => $msg['media_id'], - 'thumb_media_id' => $msg['thumb_media_id'], - 'title' => $msg['title'], - 'description' => $msg['description'] - ] - ]; - } - //音乐消息 - if($msg['type']=='music'){ - $queryarr = [ - 'msgtype' => 'music', - 'video' => [ - 'musicurl' => $msg['musicurl'], - 'thumb_media_id' => $msg['thumb_media_id'], - 'title' => $msg['title'], - 'hqmusicurl' => $msg['hqmusicurl'], - 'description' => $msg['description'] - ] - ]; - } - //发送小程序卡片(要求小程序与公众号已关联) - if($msg['type']=='wxapp'){ - $queryarr = [ - 'msgtype' => 'miniprogrampage', - 'miniprogrampage' => [ - 'pagepath' => $msg['pagepath'], - 'thumb_media_id' => $msg['thumb_media_id'], - 'title' => $msg['title'], - 'appid' => $msg['appid'], - 'description' => $msg['description'] - ] - ]; - } - if(isset($queryarr)){ - $queryarr['touser'] = $touser; - $access_token = $this->getAccessToken($applet_id,2); - $url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token='.$access_token; - return $this->result(Http::post($url, hema_json($queryarr))); - } - $this->error = '参数错误'; - return false; - } - /** - * 获取令牌 - 开放平台 - * $type 请求类型 1小程序,2公众号 - */ - function getAccessToken(int $applet_id = 0, int $type = 1) - { - $config = $this->config; //获取第三方配置 - $access_token = ''; - if($type==1){ - if($applet = Applet::getApplet([ - 'applet_id' => $applet_id, - 'status' => 1 - ])){ - $access_token=$applet['access_token']; - if($applet['expires_in'] < time()){ - //重新获取 - $url = 'https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token?component_access_token='.$config['component_access_token']; - $queryarr = [ - 'component_appid' => $config['app_id'], - 'authorizer_appid' => $applet['app_id'], - 'authorizer_refresh_token' => $applet['authorizer_refresh_token'] - ]; - $result = json_decode(Http::post($url, json_encode($queryarr)),true); - if(isset($result['authorizer_access_token'])){ - $access_token = $result['authorizer_access_token']; - $applet->access_token = $result['authorizer_access_token']; - $applet->expires_in = time()+3600;//2个小时候过期,这里设置1小时获取一次 - $applet->save();//保存最新的令牌access_token和过期时间 - } - } - } - }else{ - //公众号 - if($wechat = Wechat::getWechat([ - 'applet_id' => $applet_id, - 'status' => 1 - ])){ - $access_token=$wechat['access_token']; - if($wechat['expires_in'] < time()){ - //重新获取 - $url = 'https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token?component_access_token='.$config['component_access_token']; - $queryarr = [ - 'component_appid' => $config['app_id'], - 'authorizer_appid' => $wechat['app_id'], - 'authorizer_refresh_token' => $wechat['authorizer_refresh_token'] - ]; - $result = json_decode(Http::post($url, json_encode($queryarr)),true); - if(isset($result['authorizer_access_token'])){ - $access_token = $result['authorizer_access_token']; - $wechat->access_token = $result['authorizer_access_token']; - $wechat->expires_in = time()+3600; //2个小时候过期,这里设置1小时获取一次 - $wechat->save();//保存最新的令牌access_token和过期时间 - } - } - } - } - return $access_token; - } - /** - * 请求数据验证 - **/ - private function result($result) - { - $result = json_decode($result,true); - if(isset($result['errcode']) and $result['errcode']!=0){ - $this->error = '错误代码:' . $result['errcode'] . ',错误信息:' . $result['errmsg']; - return false; - } - return $result; - } - public function getError() - { - return $this->error; - } - - //订阅消息接口 - //#################################################################### - /** - * 获取帐号下的模板列表 - */ - public function getMessageTemplateList(int $applet_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxaapi/newtmpl/gettemplate?access_token='.$access_token; - return $this->result(Http::get($url)); - } - /** - * 删除帐号下的模板 - */ - public function deleteMessageTemplate(int $applet_id, string $tpl_id) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxaapi/newtmpl/deltemplate?access_token='.$access_token; - $queryarr = [ - 'priTmplId' => $tpl_id - ]; - return $this->result(Http::post($url, hema_json($queryarr),[],['content-type: application/json'])); - } - /** - * 添加帐号下的模板 - */ - public function addMessageTemplate(int $applet_id, string $tid, array $kidlist, string $desc) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/wxaapi/newtmpl/addtemplate?access_token='.$access_token; - $queryarr = [ - 'tid' => $tid, - 'kidList' => $kidlist, - 'sceneDesc' => $desc - ]; - return $this->result(Http::post($url, hema_json($queryarr),[],['content-type: application/json'])); - } - /** - * 发送订阅消息 - */ - public function sendMessage(int $applet_id, array $queryarr) - { - $access_token = $this->getAccessToken($applet_id); - $url = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='.$access_token; - $result = json_decode(Http::post($url,json_encode($queryarr)),true); - write_log($result,__DIR__); - return true; - } - //#################################################################### +isp = $isp; + if($isp){ + $value = Setting::getItem('wxopen'); + $value['component_access_token'] = Cache::get('component_access_token',''); + $this->config = $value; + } + } + + /** + * 获取session_key + */ + public function getSessionKey(string $code, int $applet_id) + { + if(!$applet = Applet::get($applet_id)){ + $this->error = 'applet_id不存在!'; + return false; + } + if($this->isp){ + $url = 'https://api.weixin.qq.com/sns/component/jscode2session'; + $queryarr = [ + 'appid' => $applet['app_id'], + 'js_code' => $code, + 'grant_type' => 'authorization_code', + 'component_appid' => $this->config['app_id'], + 'component_access_token' => $this->config['component_access_token'] + ]; + }else{ + $url = 'https://api.weixin.qq.com/sns/jscode2session'; + $queryarr = [ + 'appid' => $applet['app_id'], + 'secret' => $applet['app_secret'], + 'grant_type' => 'authorization_code', + 'js_code' => $code + ]; + } + $result = json_decode(Http::get($url, $queryarr),true); + if (isset($result['errcode'])) { + $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; + return false; + } + return $result; + } + //* ************************即将废除 - 开始************************* + /** + * 获取session_key - 服务商版 + + */ + public function getComponentSessionKey(string $code, int $applet_id) + { + $applet = Applet::get($applet_id); + $url = 'https://api.weixin.qq.com/sns/component/jscode2session'; + $queryarr = [ + 'appid' => $applet['app_id'], + 'js_code' => $code, + 'grant_type' => 'authorization_code', + 'component_appid' => $this->config['app_id'], + 'component_access_token' => $this->config['component_access_token'] + ]; + $result = json_decode(Http::get($url, $queryarr),true); + if (isset($result['errcode'])) { + $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; + return false; + } + return $result; + } + + //* ************************即将废除 - 结束************************* + + + + /************ 小程序直播 (权限集 id 为:52)**************/ + /** + * 申请开通直播 + */ + public function applyLivelnfo($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/business/applyliveinfo?access_token='.$access_token; + $queryarr = [ + 'action' => 'apply' + ]; + return $this->result(Http::post($url, hema_json($queryarr))); + } + /************ 代商家注册小程序 **************/ + /** + * 快速注册企业小程序 + */ + public function registerMiniprogram($queryarr) + { + $url = 'https://api.weixin.qq.com/cgi-bin/component/fastregisterweapp?action=create&component_access_token=' . $this->config['component_access_token']; + return $this->result(Http::post($url,hema_json($queryarr))); + } + /************ 模板库管理 **************/ + /** + * 删除代码模板 + */ + public function deleteTemplate(int $template_id) + { + $config = $this->config; + $url = 'https://api.weixin.qq.com/wxa/deletetemplate?access_token='.$config['component_access_token']; + $queryarr = ['template_id' => $template_id]; + return $this->result(Http::post($url,hema_json($queryarr))); + } + + /** + * 获取模板列表 + * $template_type 模板类型 0=普通模板 1=标准模板,为空则全部 + */ + public function getTemplateList($template_type='') + { + $config = $this->config; + $url = 'https://api.weixin.qq.com/wxa/gettemplatelist?access_token='.$config['component_access_token']; + $queryarr = ['template_type' => $template_type]; + $result = json_decode(Http::get($url,$queryarr),true); + if($result['errcode']==0 AND sizeof($result['template_list']) > 0){ + return arr_sort($result['template_list'],'template_id'); + } + return []; + } + /** + * 将草稿添加到模板库 + * $template_type 模板类型 0=普通模板 1=标准模板 + */ + public function addToTemplate(int $draft_id, int $template_type = 0) + { + $config = $this->config; + $url = 'https://api.weixin.qq.com/wxa/addtotemplate?access_token='.$config['component_access_token']; + $queryarr = [ + 'draft_id' => $draft_id, + 'template_type' => $template_type + ]; + return $this->result(Http::post($url,hema_json($queryarr))); + } + /** + * 获取草稿箱列表 + */ + public function getTemplatedRaftList() + { + $config = $this->config; + $url = 'https://api.weixin.qq.com/wxa/gettemplatedraftlist?access_token='.$config['component_access_token']; + $result = json_decode(Http::get($url),true); + if($result['errcode']==0 OR isset($result['draft_list']) > 0){ + return arr_sort($result['draft_list'],'draft_id'); + } + return []; + } + + /************ 小程序代码管理 (权限集 id 为:18)**************/ + /** + * 上传代码并生成体验版 + */ + public function commit($applet, $code, $is_live = 0) + { + $access_token = $this->getAccessToken($applet['applet_id']); + $url = 'https://api.weixin.qq.com/wxa/commit?access_token='.$access_token; + $apiurl = $this->config['api_domain']; + $apiurl = explode(';',$apiurl); + $apiurl = 'https://'.$apiurl[0]; + $ext = [ + 'extEnable' => true, + 'extAppid' => $applet['app_id'], + 'directCommit' => false, + 'ext' => [ + 'applet_id' => $applet['applet_id'], + 'api_url' => $apiurl + ], + 'requiredPrivateInfos' => [ + 'getLocation', + 'chooseLocation' + ] + ]; + //如果小程序开通直播 + if($is_live == 1){ + /* + if($wxlive = get_addon_config('wxlive')){ + $ext['plugins']['live-player-plugin'] = [ + 'version' => $wxlive['user_version'], + 'provider' => $wxlive['plugin_appid'] + ]; + }*/ + } + $queryarr = [ + 'template_id' => $code['id'], + 'ext_json' => json_encode($ext), + 'user_version' => $code['user_version'], + 'user_desc' => $code['user_desc'] + ]; + return $this->result(Http::post($url, hema_json($queryarr))); + } + /** + * 获取体验版二维码 + */ + public function getTrialQRCode($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $path = urlencode('pages/index/index'); + $url = 'https://api.weixin.qq.com/wxa/get_qrcode?access_token='.$access_token.'&path='.$path; + $result = Http::get($url); + $path = 'temp'; + if(!file_exists('./'.$path)){ + mkdir($path,0777,true); + } + //获取的二维码数据存储到指定的文件 + file_put_contents('./'.$path . '/test_code_'. $applet_id .'.png',$result); + return '/'.$path.'/test_code_'.$applet_id.'.png'; + } + /** + * 提交代码审核 + */ + public function submitAudit($applet_id,$speedup=0) + { + $access_token = $this->getAccessToken($applet_id); + $queryarr = [ + 'privacy_api_not_use' => false + ]; + $url = 'https://api.weixin.qq.com/wxa/submit_audit?access_token='.$access_token; + $result = json_decode(Http::post($url,hema_json($queryarr)),true); + if($result['errcode'] != 0){ + $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; + return false; + } + //是否加急审核 + if($speedup == 1){ + if(!$this->speedupCodeAudit($applet_id,$result['auditid'])){ + return false; + } + } + return $result; + } + /** + * 查询审核单状态 + */ + public function getAuditStatus($applet_id,$auditid) + { + $access_token = getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/get_auditstatus?access_token='.$access_token; + $queryarr = [ + 'auditid' => $auditid + ]; + return $this->result(Http::post($url, json_encode($queryarr))); + } + /** + * 撤回代码审核 + * 单个帐号每天审核撤回次数最多不超过 5 次(每天的额度从0点开始生效),一个月不超过 10 次 + */ + public function undoAudit($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/undocodeaudit?access_token='.$access_token; + return $this->result(Http::get($url)); + } + /** + * 发布已通过审核的小程序 + */ + public function release($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/release?access_token='.$access_token; + return $this->result(Http::post($url,'{}')); + } + /** + * 小程序版本回退 + */ + public function revertCodeRelease($applet_id,$version='') + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/revertcoderelease?app_version='.$version.'&access_token='.$access_token; + return $this->result(Http::get($url)); + } + /** + * 获取可回退的小程序版本 + */ + public function getHistoryVersion($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/revertcoderelease?action=get_history_version&access_token='.$access_token; + return $this->result(Http::get($url)); + } + /** + * 设置小程序服务状态 + */ + public function setVisitStatus($applet_id,$action) + { + $access_token = $this->getAccessToken($applet_id); + $queryarr = [ + 'action' => $action + ]; + $url = 'https://api.weixin.qq.com/wxa/change_visitstatus?access_token='.$access_token; + return $this->result(Http::post($url,hema_json($queryarr))); + } + /** + * 查询小程序服务状态 + */ + public function getVisitStatus($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/getvisitstatus?access_token='.$access_token; + return $this->result(Http::post($url,'{}')); + } + /** + * 设置最低基础库版本 + */ + public function setSupportVersion($applet_id,$version) + { + $access_token = $this->getAccessToken($applet_id); + $queryarr = [ + 'version' => $version + ]; + $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/setweappsupportversion?access_token='.$access_token; + return $this->result(Http::post($url,hema_json($queryarr))); + } + /** + * 查询服务商审核额度 + */ + public function setCodeAuditQuota($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/queryquota?access_token='.$access_token; + return $this->result(Http::get($url)); + } + /** + * 加急代码审核 + */ + public function speedupCodeAudit($applet_id,$auditid) + { + $access_token = $this->getAccessToken($applet_id); + $queryarr = [ + 'auditid' => $auditid + ]; + $url = 'https://api.weixin.qq.com/wxa/speedupaudit?access_token='.$access_token; + return $this->result(Http::post($url,hema_json($queryarr))); + } + /** + * 查询小程序版本信息 + */ + public function getVersionInfo($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/getversioninfo?access_token='.$access_token; + return $this->result(Http::post($url,'{}')); + } + /** + * 查询最新一次审核单状态 + */ + public function getLatestAuditStatus($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/get_latest_auditstatus?access_token='.$access_token; + return $this->result(Http::get($url)); + } + /** + * 获取隐私接口检测结果 + */ + public function getCodePrivacyInfo($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/security/get_code_privacy_info?access_token='.$access_token; + $result = json_decode(Http::get($url),true); + if($result['errcode'] != 0){ + $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; + return false; + } + $res = true; + $error = ''; + if(sizeof($result['without_auth_list']) > 0){ + $error = '没权限的隐私接口:'; + foreach ($result['without_auth_list'] as $item){ + $error = $error . $item . ','; + } + $res = false; + } + if(sizeof($result['without_conf_list']) > 0){ + if(empty($error)){ + $error = '没配置的隐私接口:'; + }else{ + $error = $error . '没配置的隐私接口:'; + } + foreach ($result['without_auth_list'] as $item){ + $error = $error . $item . ','; + } + $res = false; + } + if(!empty($error)){ + $error = $error . '请完成配置'; + } + if($res){ + return $result; + } + $this->error = $error; + return false; + } + /************ 扫普通二维码打开小程序 (权限集 id 为:3、18)**************/ + /** + * 获取已设置的二维码规则 + */ + public function getJumpQRCode($applet_id,$appid='') + { + if(empty($appid)){ + $queryarr = '{}'; + $access_token = $this->getAccessToken($applet_id); + }else{ + $queryarr = [ + 'appid' => $appid + ]; + $queryarr = json_encode($queryarr,JSON_UNESCAPED_UNICODE); + $access_token = $this->getAccessToken($applet_id,2); + } + $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumpget?access_token='.$access_token; + $result = json_decode(Http::post($url,$queryarr),true); + return $result; + } + /** + * 增加或修改二维码规则 + */ + public function addJumpQRCode($applet_id,$queryarr) + { + if(isset($queryarr['appid'])){ + $access_token = $this->getAccessToken($applet_id,2); + }else{ + $access_token = $this->getAccessToken($applet_id); + } + //获取效验文件 + $path = str_replace(base_url(),'',$queryarr['prefix']); + $path = './' . $path; + if(!$this->downloadQRCodeText($applet_id,$access_token,$path)){ + return false;//获取效验文件失败 + } + $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumpadd?access_token='.$access_token; + $result = json_decode(Http::post($url,hema_json($queryarr)),true); + if($result['errcode'] != 0){ + $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; + return false; + } + rmdirs($path);//添加成功,删除效验文件 + return $result; + } + /** + * 发布已设置的二维码规则 + */ + public function publishJumpQRCode($applet_id,$prefix,$parameter='') + { + if(empty($parameter)){ + $access_token = $this->getAccessToken($applet_id); + }else{ + $prefix = $prefix . '/' . $parameter; + $access_token = $this->getAccessToken($applet_id,2); + } + $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumppublish?access_token='.$access_token; + $queryarr = [ + 'prefix' => $prefix + ]; + return $this->result(Http::post($url,hema_json($queryarr))); + } + /** + * 删除已设置的二维码规则 + */ + public function deleteJumpQRCode($applet_id,$prefix,$appid='') + { + $queryarr = [ + 'prefix' => $prefix + ]; + if(empty($appid)){ + $access_token = $this->getAccessToken($applet_id); + }else{ + $queryarr['appid'] = $appid; + $access_token = $this->getAccessToken($applet_id,2); + } + $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumpdelete?access_token='.$access_token; + return $this->result(Http::post($url,hema_json($queryarr))); + } + /** + * 获取校验文件名称及内容 + */ + public function downloadQRCodeText($applet_id,$access_token,$path) + { + $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/qrcodejumpdownload?access_token='.$access_token; + $result = json_decode(Http::post($url,'{}'),true); + if ($result['errcode'] != 0) { + $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; + return false; + } + if(!file_exists($path)){ + mkdir($path,0777,true); + } + $path = $path . $result['file_name']; + file_put_contents($path,$result['file_content']); + return true; + } + + /************ 地理位置接口申请 (权限集 id 为:18)**************/ + /** + * 获取地理位置接口列表 + */ + public function getPrivacyInterface($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/security/get_privacy_interface?access_token='.$access_token; + $result = json_decode(Http::get($url),true); + return $result; + } + /** + * 申请地理位置接口 + */ + public function applyPrivacyInterface($applet_id,$queryarr=[]) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/security/apply_privacy_interface?access_token='.$access_token; + return $this->result(Http::post($url,hema_json($queryarr))); + } + + + /** + * 启动ticket推送服务 + */ + function startTicket(string $component_appid, string $component_secret) + { + $url = 'https://api.weixin.qq.com/cgi-bin/component/api_start_push_ticket'; + $queryarr = [ + 'component_appid' => $component_appid, + 'component_secret' => $component_secret + ]; + Http::post($url, json_encode($queryarr)); + return true; + } + /** + * 获取不限制的小程序码 + */ + public function getUnlimitedQRCode(int $applet_id,$file_path, string $scene = '',$page = 'pages/index/index') + { + $access_token = $this->getAccessToken($applet_id); + + + $url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$access_token; + $queryarr = [ + 'scene' => $scene, + 'page' => $page + ]; + $result = Http::post($url,json_encode($queryarr)); + + file_put_contents(public_path().$file_path,$result); + //获取的二维码数据存储到指定的文件 + return $file_path; + } + /** + * 公众号用户登录 - 获取用户资料 + */ + public function getTicket($applet_id) + { + if(!$ticket = Cache::get('jsapi_ticket_'.$applet_id)){ + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket'; + $queryarr = [ + 'access_token' => $access_token, + 'type' => 'jsapi' + ]; + $result = json_decode(Http::get($url, $queryarr),true); + if($result['errcode']!=0){ + return false; + } + $ticket = $result['ticket']; + Cache::set('jsapi_ticket_'.$applet_id, $ticket, 5000); + } + return $ticket; + } + /** + * 查询昵称设置状态 + */ + public function querynickname(){ + $audit_id='454738159'; + $access_token = getAccessToken(); + $url = 'https://api.weixin.qq.com/wxa/api_wxa_querynickname?access_token='.$access_token; + $data = ['audit_id' => $audit_id]; + $result = http_post($url,$data); + return $result; + } + + /** + * 获取审核时可填写的类目信息 + */ + public function getshowwxaitem() + { + $access_token = getAccessToken(); + $url = 'https://api.weixin.qq.com/wxa/getshowwxaitem?access_token='.$access_token; + return curl($url); + } + /** + * code换取token - 微信扫码登录 + */ + function getWebToken(string $code) + { + $values = Setting::getItem('wxweb',0); + $url = 'https://api.weixin.qq.com/sns/oauth2/access_token'; + $queryarr = [ + 'appid' => $values['app_id'], + 'secret' => $values['app_secret'], + 'grant_type' => 'authorization_code', + 'code' => $code + ]; + $result = json_decode(Http::get($url,$queryarr),true); + if(isset($result['errcode']) AND $result['errcode'] != 0){ + $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; + return false; + } + return $result; + } + + /** + * 用户登录 - 获取用户资料 (公众号,web应用) + */ + public function getUserinfo(string $openid, string $access_token) + { + $url = 'https://api.weixin.qq.com/sns/userinfo'; + $queryarr = [ + 'access_token' => $access_token, + 'openid' => $openid, + 'lang' => 'zh_CN' + ]; + $result = json_decode(Http::get($url, $queryarr),true); + if(isset($result['errcode']) AND $result['errcode'] != 0){ + $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; + return false; + } + return $result; + } + + /** + * 获取授权应用的帐号基本信息 + */ + public function getAppInfo(string $auth_appid) + { + $config = $this->config; + $url = 'https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_info?component_access_token='.$config['component_access_token']; + $queryarr = [ + 'component_appid' => $config['app_id'], + 'authorizer_appid' => $auth_appid + ]; + $result = json_decode(Http::post($url, json_encode($queryarr)),true); + if(isset($result['errcode']) AND $result['errcode'] != 0){ + $this->error = 'code:'.$result['errcode'].',msg:'.$result['errmsg'];//获取失败 + return false; + } + return $result; + } + + /** + * 修改小程序头像 + */ + public function modifyHeadImage(string $media_id,int $applet_id) + { + $access_token = $this->getAccessToken($applet_id); + //执行修改头像 + $url = 'https://api.weixin.qq.com/cgi-bin/account/modifyheadimage?access_token='.$access_token; + $queryarr = [ + 'head_img_media_id' => $media_id, + 'x1' => 0, + 'y1' => 0, + 'x2' => 1, + 'y2' => 1 + ]; + return $this->result(Http::post($url, hema_json($queryarr))); + } + + /** + * 上传临时素材 + */ + public function upTempMaterial(string $file_url, int $applet_id, string $type='image') + { + $access_token = $this->getAccessToken($applet_id); + $real_path = web_path() . 'temp/' . time() . '.jpg'; + $temp_file = file_get_contents($file_url); //获取网络图片 + file_put_contents($real_path,$temp_file); //存放临时图片 + $url = 'https://api.weixin.qq.com/cgi-bin/media/upload?access_token='.$access_token.'&type='.$type; + $queryarr['media'] = curl_file_create($real_path,'image/jpeg',$file_url);//获取要上传的二进制文件 + $result = json_decode(http_post($url,$queryarr),true); + unlink($real_path);//删除临时图片 + if(isset($result['media_id'])){ + return $result['media_id']; //返回的临时素材(media_id) + }else{ + $this->error = 'code:'.$result['errcode'].',msg:'.$result['errmsg'];//获取失败 + return false; + } + } + + /** + * 获取小程序设置信息 + */ + public function getInfor(int $applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/cgi-bin/account/getaccountbasicinfo?access_token='.$access_token; + return $this->result(Http::get($url)); + } + + /** + * 获取预授权码 - 生成授权页面 + * $type,1=授权公众号,2=授权小程序,3=两者都有 + */ + public function authUrl(int $applet_id = 0, int $type = 3) + { + $config = $this->config; //获取第三方配置 + $url = '#'; + $redirect_uri = 'https://'.$config['authorize_domain'].'/applet/auth/'; + if($type==1){ + $redirect_uri .= 'wechat/applet_id/'.$applet_id; + }else{ + $redirect_uri .= 'wxapp/applet_id/'.$applet_id; + } + $url = 'https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token='.$config['component_access_token']; + $queryarr = [ + 'component_appid' => $config['app_id'] + ]; + $result = json_decode(Http::post($url, json_encode($queryarr)),true);//返回"pre_auth_code": "预授权码","expires_in": 有效期(600秒) + if(isset($result['pre_auth_code'])){ + $url = 'https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid='.$config['app_id'].'&pre_auth_code='.$result['pre_auth_code'].'&redirect_uri='.$redirect_uri.'&auth_type='.$type; + } + return $url; + } + + + /** + * 设置服务器域名 + */ + public function setServeDomain(int $applet_id = 0, string $apiurl = '', string $access_token = '') + { + $config = $this->config; + if(empty($access_token)){ + $access_token = $this->getAccessToken($applet_id); + } + if(empty($apiurl)){ + $apiurl = $config['api_domain']; + } + $domain = explode(';',$apiurl); + $requestdomain = [];//request 合法域名 + $wsrequestdomain = [];//socket 合法域名 + for($n=0;$n 'set', + 'requestdomain' => $requestdomain, + 'wsrequestdomain' => $wsrequestdomain, + 'uploaddomain' => $requestdomain, + 'downloaddomain' => $requestdomain + ]; + $result = json_decode(Http::post($url, hema_json($queryarr)),true); + if($result['errcode'] != 0){ + $this->error = 'code:'.$result['errcode'].',msg:'.$result['errmsg']; + return false; + } + $result['apiurl'] = $apiurl; + return $result; + } + + /** + * 设置业务域名 + */ + public function setWebDomain(int $applet_id = 0, string $apiurl = '') + { + $config = $this->config; + if(empty($access_token)){ + $access_token = $this->getAccessToken($applet_id); + } + if(empty($apiurl)){ + $apiurl = $config['api_domain']; + } + $domain = explode(';',$apiurl); + $webviewdomain = []; + foreach ($domain as $vo){ + $webviewdomain[] = 'https://'.$vo; + } + $url = 'https://api.weixin.qq.com/wxa/setwebviewdomain?access_token='.$access_token; + $queryarr = [ + 'action' => 'set', + 'webviewdomain' => $webviewdomain + ]; + return $this->result(Http::post($url, hema_json($queryarr))); + } + /** + * 设置功能介绍 + */ + public function setSignature(int $applet_id = 0, string $signature = '', string $access_token = '') + { + if(empty($access_token)){ + $access_token = $this->getAccessToken($applet_id); + } + if(empty($signature)){ + $signature = '一个值得信赖的小程序'; + } + $url = 'https://api.weixin.qq.com/cgi-bin/account/modifysignature?access_token='.$access_token; + $queryarr = ['signature' => $signature]; + $result = json_decode(Http::post($url, hema_json($queryarr)),true); + if($result['errcode'] != 0){ + $this->error = 'code:'.$result['errcode'].',msg:'.$result['errmsg']; + return false; + } + $result['signature'] = $signature; + return $result; + } + + /** + * 微信认证名称检测 + */ + public function checkWxVerifyNickName(int $applet_id, string $nick_name) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/cgi-bin/wxverify/checkwxverifynickname?access_token='.$access_token; + $queryarr = ['nick_name' => $nick_name]; + return $this->result(Http::post($url, hema_json($queryarr))); + } + /** + * 设置小程序昵称 + */ + public function setNickName(int $applet_id, string $nick_name, string $license, string $other1) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/setnickname?access_token='.$access_token; + $queryarr = [ + 'nick_name' => $nick_name, + 'license' => $license, + 'naming_other_stuff_1' => $other1 + ]; + return $this->result(Http::post($url, hema_json($queryarr))); + } + + /** + * 删除类目 + */ + public function deleteCategory(int $applet_id, int $first, int $second) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/deletecategory?access_token='.$access_token; + $queryarr = [ + 'first' => $first, + 'second' => $second + ]; + return $this->result(Http::post($url, hema_json($queryarr))); + } + + /** + * 获取已设置的所有类目 + */ + public function getCategory(int $applet_id) + { + $access_token = $this->getAccessToken($applet_id); + if($this->isp){ + $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/getcategory?access_token='.$access_token; + }else{ + $url = 'https://api.weixin.qq.com/wxaapi/newtmpl/getcategory?access_token='.$access_token; + } + $result = json_decode(Http::get($url),true); + return $result; + } + + /** + * 获取可以设置的所有类目 + */ + public function getAllCategories($applet_id) + { + //同步微信端线下类目 + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/getallcategories?access_token='.$access_token; + $result = json_decode(Http::get($url),true); + if($result['errcode']==0){ + $category = $result['categories_list']['categories']; + $new = []; //筛选后的类目 + //遍历一级类目 + foreach($category[0]['children'] as $value){ + //查找一级类目 + for($n=1;$ngetAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/cgi-bin/wxopen/addcategory?access_token='.$access_token; + $queryarr = [ + 'categories' => [ + [ + 'first' => $first, + 'second' => $second, + 'certicates' => [ + 'key' => $ca_name, + 'value' => $media_id + ] + ] + ] + ]; + return $this->result(Http::post($url, hema_json($queryarr))); + } + + /** + * 附近小程序 - 查询地点类目信息 + */ + public function getStoreWxaAttr(int $applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/getstorewxaattr?access_token='.$access_token; + $result = json_decode(Http::get($url),true); + $list = []; + if($result['errcode'] == 0 AND $result['is_exist'] == 1){ + $category = $this->getMerchantCategory($applet_id);//拉取可设置类目 + if(isset($result['store_wxa_attr']['weapp_category'])){ + foreach ($result['store_wxa_attr']['weapp_category']['categories'] as $vo) { + $first_name = ''; + $second_name = ''; + //获取一级类目名称 + foreach ($category as $first) { + if($first['id'] == $vo['first']){ + $first_name = $first['name']; + //获取二级类目名称 + foreach ($first['children'] as $second) { + if($second['id'] == $vo['second']){ + $second_name = $second['name']; + break; + } + } + break; + } + } + $list[] = [ + 'first_id' => $vo['first'], + 'first_name' => $first_name, + 'second_id' => $vo['second'], + 'second_name' => $second_name, + 'audit_status' => $vo['audit_status'], + 'audit_id' => $vo['audit_id'] + ]; + } + } + } + return $list; + } + /** + * 附近小程序 - 申请附近地点类目 + */ + public function nearbyApplyCategory(array $queryarr, int $applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/nearbyapplycategory?access_token='.$access_token; + $this->result(Http::post($url,hema_json($queryarr))); + } + /** + * 附近小程序 - 拉取门店小程序类目 + */ + public function getMerchantCategory(int $applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/get_merchant_category?access_token='.$access_token; + $result = json_decode(Http::get($url),true); + if($result['errcode']==0){ + $category = $result['data']['all_category_info']['categories']; + $new = []; //筛选后的类目 + //遍历一级类目 + foreach($category[0]['children'] as $value){ + //查找一级类目 + for($n=1;$ngetAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/getnearbypoilist?page=1&page_rows=20&access_token='.$access_token; + $result = json_decode(Http::get($url),true); + return $result; + } + /** + * 附近小程序 - 添加附近门店 + */ + public function addNearbyPoi(array $queryarr, int $applet_id) + { + $queryarr['hour'] = str_replace(' ','',$queryarr['hour']); + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/addnearbypoi?access_token='.$access_token; + return $this->result(Http::post($url,hema_json($queryarr))); + } + /** + * 附近小程序 - 删除附近门店 + */ + public function delNearbyPoi(int $applet_id, string $poi_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/delnearbypoi?access_token='.$access_token; + $queryarr =[ + 'poi_id' => $poi_id //门店的 poi_id + ]; + return $this->result(Http::post($url,hema_json($queryarr))); + } + + /** + * 附近小程序 - 展示/取消展示附近门店(小程序) + */ + public function setNearbyPoiShowStatus(int $applet_id, $poi_id, $status) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/setnearbypoishowstatus?access_token='.$access_token; + $queryarr =[ + 'poi_id' => $poi_id, //门店的 poi_id + 'status' => $status //0:取消展示;1:展示 + ]; + return $this->result(Http::post($url,hema_json($queryarr))); + } + + /** + * 配置小程序用户隐私保护指引 + */ + public function setPrivacySetting($applet_id,$queryarr) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/cgi-bin/component/setprivacysetting?access_token=' . $access_token; + $queryarr['owner_setting']['notice_method'] = '小程序弹窗'; + return $this->result(Http::post($url,hema_json($queryarr))); + } + + /** + * 查询小程序用户隐私保护指引 + */ + public function getPrivacySetting($applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/cgi-bin/component/getprivacysetting?access_token=' . $access_token; + return $this->result(Http::post($url,"{}")); + } + + /** + * 获取体验用户列表 + */ + public function getTestUser(int $applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/memberauth?access_token='.$access_token; + $queryarr =[ + 'action' => 'get_experiencer' //固定值 + ]; + return json_decode(Http::post($url,hema_json($queryarr)),true); + } + /** + * 添加体验用户 + */ + public function addTestUser(int $applet_id, string $wechatid) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/bind_tester?access_token='.$access_token; + $queryarr =[ + 'wechatid' => $wechatid //微信号 + ]; + return $this->result(Http::post($url,hema_json($queryarr))); + } + /** + * 删除体验用户 + */ + public function delTestUser(int $applet_id, string $userstr) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxa/unbind_tester?access_token='.$access_token; + $queryarr =[ + 'userstr' => $userstr //唯一识别码 + ]; + return $this->result(Http::post($url,hema_json($queryarr))); + } + + /** + * 上传图文消息内的图片 - 到微信端(永久素材) - 小程序端 + * 图片仅支持jpg/png格式,大小必须在1MB以下 + */ + public function upMediaUrl(string $file_url, int $applet_id = 0) + { + $access_token = $this->getAccessToken($applet_id); + $real_path = web_path() . 'temp/' . time() . '.jpg'; + $temp_file = file_get_contents($file_url);//获取网络图片 + file_put_contents($real_path,$temp_file); //存放临时图片 + //上传到微信服务器 + $url = 'https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token='.$access_token; + $queryarr['media'] = curl_file_create($real_path,'image/jpeg',$file_url);//获取要上传的二进制文件 + $result = json_decode(Http::post($url,$queryarr),true); + unlink($real_path);//删除临时图片 + if(!isset($result['url'])){ + $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; + return false;//上传错误,一般是图片不符合要求 + } + return $result['url']; + } + /** + * 使用授权码获取授权信息 + */ + public function getAuth(string $auth_code) + { + $config = $this->config; + $url = 'https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token='.$config['component_access_token']; + $queryarr = [ + 'component_appid' => $config['app_id'], + 'authorization_code' => $auth_code + ]; + $result = json_decode(Http::post($url, hema_json($queryarr)),true); + if(!isset($result['authorization_info'])){ + $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; + return false; + } + return $result['authorization_info']; + } + + /** + * 获取 component_access_token + */ + public function getComponentToken(string $ticket) + { + $config = $this->config; + $url = 'https://api.weixin.qq.com/cgi-bin/component/api_component_token'; + $queryarr = [ + 'component_appid' => $config['app_id'], + 'component_appsecret' => $config['app_secret'], + 'component_verify_ticket' => $ticket, + ]; + $result = json_decode(Http::post($url, hema_json($queryarr)),true); + if(isset($result['component_access_token'])){ + return $result; + } + $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; + return false; + } + /************ 公众号 - 生成二维码 (帐号管理-生成带参数的二维码)**************/ + + public function qrcodeCreate($applet_id=0,$action_name='QR_STR_SCENE',$scene='login',$expire_seconds=7200) + { + $access_token = $this->getAccessToken($applet_id,2); + + $url = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=' . $access_token; + /** + * 二维码类型 + * QR_SCENE为临时的整型参数值,QR_STR_SCENE为临时的字符串参数值 + * QR_LIMIT_SCENE为永久的整型参数值,QR_LIMIT_STR_SCENE为永久的字符串参数值 + */ + $queryarr['action_name'] = $action_name; + //设置临时二维码过期时间 + if($action_name=='QR_STR_SCENE' or $action_name=='QR_SCENE'){ + $queryarr['expire_seconds'] = $expire_seconds; + } + if($action_name=='QR_STR_SCENE' or $action_name=='QR_LIMIT_STR_SCENE'){ + $queryarr['action_info']['scene']['scene_str'] = $scene; + }else{ + $queryarr['action_info']['scene']['scene_id'] = (int)$scene; + } + $result = json_decode(Http::post($url, hema_json($queryarr)),true); + + if(isset($result['ticket'])){ + $rs = Http::get('https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.urlencode($result['ticket'])); + $path = 'temp'; + if(!file_exists('./'.$path)){ + mkdir($path,0777,true); + } + //获取的二维码数据存储到指定的文件 + file_put_contents('./'.$path . '/hemaphp_login_qrcode.png',$rs); + return $result['ticket']; + } + $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; + return false; + } + + /** + * 公众号网页授权 - H5用户登录 code 换取 access_token + * $appid 公众号的APPID + */ + public function oauth2($code,$appid,$applet_id) + { + $access_token = $this->getAccessToken($applet_id,2); + //通过 code 换取 access_token + $url = 'https://api.weixin.qq.com/sns/oauth2/component/access_token'; + $queryarr = [ + 'appid' => $appid, + 'code' => $code, + 'grant_type' => 'authorization_code', + 'component_appid' => $this->config['app_id'], + 'component_access_token' => $this->config['component_access_token'] + ]; + $result = json_decode(Http::get($url, $queryarr),true); + if (isset($result['errcode'])) { + $this->error = 'code:'.$result['errcode'].',msg:' . $result['errmsg']; + return false; + }else{ + //拉取用户信息(需 scope 为 snsapi_userinfo) + $url = 'https://api.weixin.qq.com/sns/userinfo?access_token'; + $queryarr = [ + 'access_token' => $result['access_token'], + 'openid' => $result['openid'], + 'lang' => 'zh_CN' + ]; + $result = json_decode(Http::get($url, $queryarr),true); + if (isset($result['errcode'])) { + $this->error = 'code:'.$result['errcode'].',msg:' . $result['errmsg']; + return false; + } + } + return $result; + } + /** + * 公众号获取粉丝列表 + */ + public function getFans(int $applet_id) + { + $access_token = $this->getAccessToken($applet_id,2); + $url = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token='.$access_token.'&next_openid='; + $result = json_decode(Http::get($url),true); + return $result; + } + /** + * 上传图文消息内的图片 - 到微信端(永久素材) - 公众号端 + * 图片仅支持jpg/png格式,大小必须在1MB以下 + */ + public function upWechatUrl(array $img, int $applet_id = 0) + { + $access_token = $this->getAccessToken($applet_id,2); + for($n=0;$ngetAccessToken($applet_id,2); + $real_path = web_path() . 'uploads/' . $file_path; + //上传到微信服务器 + $url = 'https://api.weixin.qq.com/cgi-bin/material/add_material?access_token='.$access_token.'&type='.$type; + $queryarr['media'] = curl_file_create($real_path,$mimetype,$file_path);//获取要上传的二进制文件 + $result = json_decode(http_post($url,$queryarr),true); + return $result; //$result['media_id']; + } + /** + * 删除素材文件 - 到微信端 + */ + public function delMaterial(string $media_id, int $applet_id = 0) + { + $access_token = $this->getAccessToken($applet_id,2); + $url = 'https://api.weixin.qq.com/cgi-bin/material/del_material?access_token='.$access_token; + $queryarr = [ + 'media_id' => $media_id + ]; + $result = json_decode(Http::post($url,json_encode($queryarr)),true); + return $result; + } + + /** + * 新增草稿 - 图文消息 + */ + public function addDraft(array $data, int $applet_id = 0) + { + $queryarr['articles'] = array(); + for($n=0;$n $data[$n]['title'], + 'author' => $data[$n]['author'], + 'digest' => $data[$n]['digest'], + 'content' => str_ireplace('"','\'',$data[$n]['wx_content']), + 'content_source_url' => base_url(), + 'thumb_media_id' => $data[$n]['media_id'] + ]); + } + $access_token = $this->getAccessToken($applet_id,2); + //上传到微信服务器 + $url = 'https://api.weixin.qq.com/cgi-bin/draft/add?access_token='.$access_token; + $result = json_decode(Http::post($url,hema_json($queryarr)),true); + return $result; + } + + /** + * 修改草稿 - 图文消息 + */ + public function editDraft(array $data, int $media_id, int $applet_id = 0) + { + $access_token = $this->getAccessToken($applet_id,2); + for($n=0;$n $media_id, + 'index' => $data[$n]['ids'], + 'articles' => [ + 'title' => $data[$n]['title'], + 'author' => $data[$n]['author'], + 'digest' => $data[$n]['digest'], + 'content' => str_ireplace('"','\'',$data[$n]['wx_content']), + 'content_source_url' => base_url(), + 'thumb_media_id' => $data[$n]['media_id'] + ] + ]; + //上传到微信服务器 + $url = 'https://api.weixin.qq.com/cgi-bin/draft/update?access_token='.$access_token; + $result = json_decode(Http::post($url,hema_json($queryarr)),true); + if($result['errcode']!=0){ + $this->error = 'code:' . $result['errcode'] . ',msg:' . $result['errmsg']; + return false; + } + } + return true; + } + + /** + * 删除草稿 - 图文消息 + */ + public function delDraft(string $media_id, int $applet_id = 0) + { + $access_token = $this->getAccessToken($applet_id,2); + $url = 'https://api.weixin.qq.com/cgi-bin/draft/delete?access_token='.$access_token; + $queryarr = [ + 'media_id' => $media_id + ]; + return json_decode(Http::post($url,json_encode($queryarr)),true); + } + /** + * 根据OpenID列表群发公众号信息 + */ + public function sendMass($msg, $open_id, int $applet_id = 0) + { + //图文消息 + if($msg['msg_type']['value']=='news'){ + $queryarr = [ + 'mpnews' => [ + 'media_id' => $msg['content'] + ], + 'msgtype' => 'mpnews', + 'send_ignore_reprint' => $msg['send_ignore_reprint'] + ]; + } + //文本消息 + if($msg['msg_type']['value']=='text'){ + $queryarr = [ + 'msgtype' => 'text', + 'text' => [ + 'content' => $msg['content'] + ] + ]; + } + //语音消息 + if($msg['msg_type']['value']=='voice'){ + $queryarr = [ + 'voice' => [ + 'media_id' => $msg['content'] + ], + 'msgtype' => 'voice' + ]; + } + //图片消息 + if($msg['msg_type']['value']=='image'){ + $queryarr = [ + 'images' => [ + 'media_ids' => [ + 0 => $msg['content'] + ], + 'recommend' => $msg['recommend'], + 'need_open_comment' => $msg['need_open_comment'], + 'only_fans_can_comment' => $msg['only_fans_can_comment'] + ], + 'msgtype' => 'image' + ]; + } + //视频消息 + if($msg['msg_type']['value']=='video'){ + $queryarr = [ + 'mpvideo' => [ + 'media_id' => $msg['content'], + 'title' => $msg['title'], + 'description' => $msg['description'] + ], + 'msgtype' => 'mpvideo' + ]; + } + //卡券消息 + if($msg['msg_type']['value']=='wxcard'){ + $queryarr = [ + 'wxcard' => [ + 'card_id' => $msg['content'] + ], + 'msgtype' => 'wxcard' + ]; + } + $queryarr['touser'] = $open_id; + $access_token = $this->getAccessToken($applet_id,2); + $url = 'https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token='.$access_token; + $result = json_decode(Http::post($url,json_encode($queryarr)),true); + return $result; + } + /** + * 删除公众号群发记录 + */ + public function deleteMass(int $msg_id,int $applet_id = 0) + { + $access_token = $this->getAccessToken($applet_id,2); + $url = 'https://api.weixin.qq.com/cgi-bin/message/mass/delete?access_token='.$access_token; + $queryarr = ['msg_id' => $msg_id]; + $result = json_decode(Http::post($url,json_encode($queryarr)),true); + return $result; + } + /** + * 向公众号发布预览消息 + */ + public function previewMsg(array $data, string $open_id, int $applet_id = 0) + { + //图文消息 + if($data['msg_type']=='news'){ + $queryarr = [ + 'mpnews' => ['media_id' => $data['content']], + 'msgtype' => 'mpnews' + ]; + } + //文本消息 + if($data['msg_type']=='text'){ + $queryarr = [ + 'text' => ['content' => $data['content']], + 'msgtype' => 'text' + ]; + } + //语音消息 + if($data['msg_type']=='voice'){ + $queryarr = [ + 'voice' => ['media_id' => $data['content']], + 'msgtype' => 'voice' + ]; + } + //图片消息 + if($data['msg_type']=='image'){ + $queryarr = [ + 'image' => ['media_id' => $data['content']], + 'msgtype' => 'image' + ]; + } + //视频消息 + if($data['msg_type']=='video'){ + $queryarr = [ + 'mpvideo' => ['media_id' => $data['content']], + 'msgtype' => 'mpvideo' + ]; + } + //卡券消息 + if($data['msg_type']=='wxcard'){ + $queryarr = '{ + "wxcard":{ + "card_id":"'.$data['content'].'", + "card_ext": "{ + "code":"", + "openid":"", + "timestamp":"", + "signature":"" + } + "msgtype":"wxcard" + }'; + $queryarr = [ + 'wxcard' => [ + 'card_id' => $data['content'], + 'card_ext' => [ + 'code' => '', + 'openid' => '', + 'timestamp' => '', + 'signature' => '' + ] + ], + 'msgtype' => 'wxcard' + ]; + } + $queryarr['touser'] = $open_id; + $access_token = $this->getAccessToken($applet_id,2); + $url = 'https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token='.$access_token; + $result = json_decode(Http::post($url,json_encode($queryarr)),true); + return $result; + } + /** + * 公众号自定义菜单 - 同步到微信端 + */ + public function creatMenu(array $menu, int $applet_id = 0) + { + $access_token = $this->getAccessToken($applet_id,2); + $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$access_token; + $queryarr = [ + 'button' => $menu + ]; + $result = json_decode(Http::post($url, hema_json($queryarr)),true); + return $result; + } + /** + * 发布模板消息 - 公众号 + */ + function sendWechatMsg(int $applet_id = 0, array $queryarr = []) + { + if(sizeof($queryarr) == 0){ + return true; + } + $access_token = $this->getAccessToken($applet_id,2); + $url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='.$access_token; + $result = json_decode(Http::post($url,json_encode($queryarr)),true); + return true; + } + + /** + * 获取公众号粉丝用户基本信息(包括UnionID机制)- 公众号 + */ + public function getWechatUserInfo(string $openid, int $applet_id) + { + $access_token = $this->getAccessToken($applet_id,2); + $url = 'https://api.weixin.qq.com/cgi-bin/user/info'; + $queryarr = [ + 'access_token' => $access_token, + 'openid' => $openid, + 'lang' => 'zh_CN' + ]; + $result = json_decode(Http::get($url,$queryarr),true); + if(!isset($result['openid'])){ + $this->error = 'code:' . $result['errcode'] . ' msg:' . $result['errmsg']; + return false; + } + $data['open_id'] = $result['openid']; + if(isset($result['unionid'])){ + $data['union_id'] = $result['unionid']; + } + return $data; + } + + /** + * 发送客服消息模板 + */ + public function sendServiceMsg(array $msg, string $touser, int $applet_id) + { + //文本消息 + if($msg['type']=='text'){ + $queryarr = [ + 'msgtype' => 'text', + 'text' => [ + 'content' => $msg['content'] + ] + ]; + } + //图片消息 + if($msg['type']=='image'){ + $queryarr = [ + 'msgtype' => 'image', + 'image' => [ + 'media_id' => $msg['media_id'] + ] + ]; + } + //图文消息(点击跳转到图文消息页面) 图文消息条数限制在1条以内 + if($msg['type']=='news'){ + $queryarr = [ + 'msgtype' => 'mpnews', + 'mpnews' => [ + 'media_id' => $msg['media_id'] + ] + ]; + } + //发送图文消息(点击跳转到外链) 图文消息条数限制在1条以内 + if($msg['type']=='news'){ + $queryarr = [ + 'msgtype' => 'news', + 'news' => [ + 'articles' => [ + 'picurl' => $msg['picurl'], + 'url' => $msg['url'], + 'title' => $msg['title'], + 'description' => $msg['description'] + ] + ] + ]; + } + //语音消息 + if($msg['type']=='voice'){ + $queryarr = [ + 'msgtype' => 'voice', + 'voice' => [ + 'media_id' => $msg['media_id'] + ] + ]; + } + //视频消息 + if($msg['type']=='video'){ + $queryarr = [ + 'msgtype' => 'video', + 'video' => [ + 'media_id' => $msg['media_id'], + 'thumb_media_id' => $msg['thumb_media_id'], + 'title' => $msg['title'], + 'description' => $msg['description'] + ] + ]; + } + //音乐消息 + if($msg['type']=='music'){ + $queryarr = [ + 'msgtype' => 'music', + 'video' => [ + 'musicurl' => $msg['musicurl'], + 'thumb_media_id' => $msg['thumb_media_id'], + 'title' => $msg['title'], + 'hqmusicurl' => $msg['hqmusicurl'], + 'description' => $msg['description'] + ] + ]; + } + //发送小程序卡片(要求小程序与公众号已关联) + if($msg['type']=='wxapp'){ + $queryarr = [ + 'msgtype' => 'miniprogrampage', + 'miniprogrampage' => [ + 'pagepath' => $msg['pagepath'], + 'thumb_media_id' => $msg['thumb_media_id'], + 'title' => $msg['title'], + 'appid' => $msg['appid'], + 'description' => $msg['description'] + ] + ]; + } + if(isset($queryarr)){ + $queryarr['touser'] = $touser; + $access_token = $this->getAccessToken($applet_id,2); + $url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token='.$access_token; + return $this->result(Http::post($url, hema_json($queryarr))); + } + $this->error = '参数错误'; + return false; + } + /** + * 获取令牌 - 开放平台 + * $type 请求类型 1小程序,2公众号 + */ + function getAccessToken(int $applet_id = 0, int $type = 1) + { + $config = $this->config; //获取第三方配置 + + + $access_token = ''; + + if($type==1){ + if($applet = Applet::getApplet([ 'applet_id' => $applet_id,'status' => 1 ])) + { + $access_token=$applet['access_token']; + + if(empty($access_token)){ + $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx3668302906e3894f&secret=3ef948febd085fb89908f22b4a79c52f' ; + $result = json_decode(Http::get($url), true); + + if(isset($result['access_token'])){ + $access_token = $result['access_token']; + $applet->access_token = $result['access_token']; + $applet->expires_in = time()+3600;//2个小时候过期,这里设置1小时获取一次 + $applet->save();//保存最新的令牌access_token和过期时间 + } + } + + } + }else{ + //公众号 + if($wechat = Wechat::getWechat([ + 'applet_id' => $applet_id, + 'status' => 1 + ])){ + $access_token=$wechat['access_token']; + if($wechat['expires_in'] < time()){ + //重新获取 + $url = 'https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token?component_access_token='.$config['component_access_token']; + $queryarr = [ + 'component_appid' => $config['app_id'], + 'authorizer_appid' => $wechat['app_id'], + 'authorizer_refresh_token' => $wechat['authorizer_refresh_token'] + ]; + $result = json_decode(Http::post($url, json_encode($queryarr)),true); + if(isset($result['authorizer_access_token'])){ + $access_token = $result['authorizer_access_token']; + $wechat->access_token = $result['authorizer_access_token']; + $wechat->expires_in = time()+3600; //2个小时候过期,这里设置1小时获取一次 + $wechat->save();//保存最新的令牌access_token和过期时间 + } + } + } + } + + + return $access_token; + } + /** + * 请求数据验证 + **/ + private function result($result) + { + $result = json_decode($result,true); + if(isset($result['errcode']) and $result['errcode']!=0){ + $this->error = '错误代码:' . $result['errcode'] . ',错误信息:' . $result['errmsg']; + return false; + } + return $result; + } + public function getError() + { + return $this->error; + } + + //订阅消息接口 + //#################################################################### + /** + * 获取帐号下的模板列表 + */ + public function getMessageTemplateList(int $applet_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxaapi/newtmpl/gettemplate?access_token='.$access_token; + return $this->result(Http::get($url)); + } + /** + * 删除帐号下的模板 + */ + public function deleteMessageTemplate(int $applet_id, string $tpl_id) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxaapi/newtmpl/deltemplate?access_token='.$access_token; + $queryarr = [ + 'priTmplId' => $tpl_id + ]; + return $this->result(Http::post($url, hema_json($queryarr),[],['content-type: application/json'])); + } + /** + * 添加帐号下的模板 + */ + public function addMessageTemplate(int $applet_id, string $tid, array $kidlist, string $desc) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/wxaapi/newtmpl/addtemplate?access_token='.$access_token; + $queryarr = [ + 'tid' => $tid, + 'kidList' => $kidlist, + 'sceneDesc' => $desc + ]; + return $this->result(Http::post($url, hema_json($queryarr),[],['content-type: application/json'])); + } + /** + * 发送订阅消息 + */ + public function sendMessage(int $applet_id, array $queryarr) + { + $access_token = $this->getAccessToken($applet_id); + $url = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='.$access_token; + $result = json_decode(Http::post($url,json_encode($queryarr)),true); + write_log($result,__DIR__); + return true; + } + //#################################################################### } \ No newline at end of file diff --git a/public/index.php b/public/index.php index a18f916..76f74e0 100755 --- a/public/index.php +++ b/public/index.php @@ -1,39 +1,39 @@ - -// +---------------------------------------------------------------------- - -// [ 应用入口文件 ] -namespace think; - -// 检测PHP环境 -//if (version_compare(PHP_VERSION, '7.4.0', '<')) die('require PHP > 7.1.0 !'); -// 检测php版本号 -if (phpversion() < '7.4') { - exit('很抱歉,由于您的PHP版本过低,部分功能无法运行,为了系统功能全面可用,请升级到PHP7.4或更高版本,谢谢!'); -} -define('INSTALL_URL', str_replace('\\', '/', dirname(__FILE__) . '/install/')); -// 判断是否安装 -if (!is_file(INSTALL_URL . 'install.lock')) { - header("location:/install"); - exit; -} - -// 加载核心文件 -require __DIR__ . '/../vendor/autoload.php'; - -// 执行HTTP应用并响应 -$http = (new App())->http; - -$response = $http->run(); - -$response->send(); - -$http->end($response); - + +// +---------------------------------------------------------------------- + +// [ 应用入口文件 ] +namespace think; + +// 检测PHP环境 +//if (version_compare(PHP_VERSION, '7.4.0', '<')) die('require PHP > 7.1.0 !'); +// 检测php版本号 +if (phpversion() < '7.4') { + exit('很抱歉,由于您的PHP版本过低,部分功能无法运行,为了系统功能全面可用,请升级到PHP7.4或更高版本,谢谢!'); +} +define('INSTALL_URL', str_replace('\\', '/', dirname(__FILE__) . '/install/')); +// 判断是否安装 +if (!is_file(INSTALL_URL . 'install.lock')) { + header("location:/install"); + exit; +} + +// 加载核心文件 +require __DIR__ . '/../vendor/autoload.php'; + +// 执行HTTP应用并响应 +$http = (new App())->http; + +$response = $http->run(); + +$response->send(); + +$http->end($response); + diff --git a/public/temp/alipay_auth_qrcode_10001.png b/public/temp/alipay_auth_qrcode_10001.png new file mode 100644 index 0000000000000000000000000000000000000000..f1de7468322c445dffa1e87473daaff8b54b8ab6 GIT binary patch literal 4508 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 M-97hk+>W3BFTtu>r2qf` literal 0 HcmV?d00001 diff --git a/public/temp/food/qrcode-paybill-10001.png b/public/temp/food/qrcode-paybill-10001.png deleted file mode 100644 index adbac03d51faba90f8b65fc5408d9491f94d5f02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2714 zcmbW3eM}Q~7{^bS2r6_=bW#{~mra?I05V)tmQ72NJKnf6Jw3|Hdi~CZw-4ONSFHT@Hw5`;+o7M-@YIBBFbeSK zO(mHC(Cq&L00sajqk%;~1M8pSsJz|FJ2YS|Go&zE%jdR^0T3&wG zn=V_`9}M_s0k58%^U0!lz{Y1ek?Mjds(8Olqv$fhmb+e2n^x|K88@B>TfIr=5+z}p zX8J6`{QI|47-r0f;Z+FmXh&tenziyOH$5UzYta~{Q!-_1{;RO3mE6aWs+(?ceZzZt zXnRd>j#Xm6w3CZaYou9KEmjbd9S&igE$BjXEvkA;D7hd+8u_(uT~DKv>5a_BH@T}o zmah7G`7MibAemgV%gTyN@!|)Tz%SnGFOgQHyHGAui|R%ad+1R1tVc%lx-C{Z<$(u4 znzBUQ6r@*HFhc7jMsjt@t_9p3-UHG0;{9XHaL#HB*TVPQZ0aZj^K>l}kj+Q!SXXq@ z?R?D|9>PyUL@rdfi|^Hv3j<|N)PvF%q|xulq}E=FBI%uqOJawxMlpcuf=5kylKm#& zb~GPsgfLLo&8C&B=gF1!t8w>@HEXOF-SFtmsQYJTwDy7LP7%mEw{S&2 zw8UG5?zp1&1*gDLJu5OB1C{4j_=FQ?vV;9`)jjSxleBE|l?P1Xs=#w>Z&_=^JbY_A zL?t;0x6gGB(}eK}DB65--q1p(FBU1hEhV=LZGz&`E;P9h7Ao1;QS(DLnwKFt4eM>f z@X r{u7m(OFkzzKs~x63qVF@$>TJzw$=|sWMYtbYyzptoTO_TKRo^yoNi|u diff --git a/public/temp/food/qrcode-shop-10001.png b/public/temp/food/qrcode-shop-10001.png deleted file mode 100644 index 4dd0973c65ee5733b76d6fcaa26747cfdbf93323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2689 zcmb7GeM}Q~7(O8rB$T?bML{g9i)$1VhX!=m^W*S?m6Z)$&{)fmPGUC7N0Czcr5h`D z6TLKHh(PO9bbp{7C@X?1iWLeGE0V>@SLLY6CiJ+Y^sctR&MevfU?1Eczx?uEa&O-E zdEV!Ff7*}uyBI;?K>z?Sl6EJi0)SuOs}tx)eJRl&-#}f9a(C~S06>W4)mcy;6|xKf zg4QP`ZrfW_JwC8aJh1!C*R~N`iPna!jC!?v^@YIpr9fZ?@OH_9V~ghoCyY_Eqf^D>=F^w^;&(KJRCAfxuPU*;%Rlk%!=t@%e;%CYR{V-i$gUhGY_y-QiKBhW-Vyo__GG}W^==?zW6FW=ywSJAvUek0$f$SvA{YAdqm#|T6 z=$JjWWD{*{tk+|=j94~}h8h*;*(rC@FXrSP`ZtdMiTxt3%3E>8ogL16+`@|OQy{$) zrl$h_JShHq5-JXxN~4*m1PPf0p~5qz!NoE4A54p_%OY@X$PIi4y=(@S@U^g-Kmec{gm z;dplRCX4~968droQ%+_F%`S_SiiRoo?O#7O)r+jF8+)D^FjCHHyC9chN9fs!;-F_2 z$LY@ubFmOhMLr^7;Z-=f##I}|^uU_U&EHnjqEZ-X_=1~{b-fI0L2*Pb}R zyVegqlaxjyYccv>{@HW}uy>TX4F?TU0VKk#jW_Z7EyHQQ08Xo|BoVnL)3|sw`7!a#T!M!^CD0 zF71RLDUsDvBgUIHN}c)Mm^ykAdf`^4&BTiUk0k}MMCMu}T=2^A(Dbga)B*HN$9&ay zf$hD;X;y*+v$qT7`}732nGN;w?w|c}W~8o6Os`FfN}lHAfOEa5{G~f%XfTb1`%}TR z+^Tcy*haaXQ|vYP(aUMGiDT*!uM?xH5~s6fG;B)mc5ci;nbqJoL(dqSWQA47-5*9x zW^=&jp<6D7O7BX?ObN8s;+aA4mxte=r!t0e1TyP&oMNy6W$2rha~%w)e3glwh^UIZ zw_6(3T6V%cPB=cwk8rW_ZA^WTl$I7r-LC{j;%$j#`!_q_u zTCy`cbH{s9o!id$b#hY>ioqPey&bq{j7Npq4 z0nZp${2{dV?7Yf^h0xAdptz&|vuWFE=n$H2;0W=01>bt1JhCgKQ4DeHV)PlV7xfY@ z`o>YsF%mU&s;*RSVrHbE_VN5C=&TIBIQeuhpZHBtciNOfowC#7?^)qHTWH@{F# z2|~OCw9O|s%RQccX{6P!QbxX2S|?!1u|Bu{5t!&rEtWd;JBGh+FE433X>4;more{e z6oL{n)eLr2pv9u6_V^o=50_E#uwjdRD4om+vvJ#&|0K?i+yI8G}_&=>WwEbRjocTS@;B1`>*8hBf_HK%(h9FxfFq@WU)2+? zL>hy2i({|v*wb~)qzP(ZZ%?P#Wns5p0lEZ`3`2*JbQ!#%lORcBu!<0Sqs!p9&S&_) zt}Fs;A@*ZY;23ws)oQt4J?Ma|M!B5m;-$mOG2EOA)Iwj_qIuiIKTA=Xw@1Ch3tI-6 zNOubu_g0Q!`l)TiHdFnVs}MYEm4Ba-(+$_1#`1M3%ROM8Am22wv-$pMAL3(Q8^~~o vV~_G(E#rzZpa@Cb4Qm%Z&732vIQ3WOa_8QG1BK)h6UxrwW!~QT!DoK}gjHei diff --git a/public/temp/food/qrcode-wifi-10001.png b/public/temp/food/qrcode-wifi-10001.png deleted file mode 100644 index ecc2aee10b5eb21bd8fe8697176de2e7e297a709..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2696 zcmb7`e@qi+7{?FEfN3kZCdSf8cUxFvYF0-GT4_P44)m06#D$S5IO$YoI0PAT(9$W| zS~5l@B07*};*TsbFj3Ybv}mccU}iz$5b9Bd0#*A1TBOA*?T+k^B?dR{k2jb1lKbBG zdG7Ol-jjWinoM3Exf}oh@{W{kX#lV+Y+;2h!|$AGI1!6q-and>aSQ-f>K0Z|4Ra+8 z0G4mwv2E*~;(Ghjt*|9!^?UbvPB_HlzntzXpIQ6y*)M(f;=Wn2zT!&nsyfdb_oPt_ zJfjEHSO{=o`x+qZTj0Y}K|e->07;8%%9?zAuU-#}==|2aitk@s<&>>DVrFc%kQ)q* zH0vmof8f8Kep^=++pgAW-FKNRcD}a6pmobSpN(<-{dRBp4}^rge%ov{$Q$5EkXktV zMgJw$6?LAo#85peiwanMRWlD{?=0zUQ+Va06GOQpWUBrTjt@5X&B%Y7(z9~hL5#(F zvWUP!>u#CKZKl|$m|>1iX6omiznxncfHr*wL}-C6VZi`M0#0rCpUqQFd+r4fDy!>e zz=h8CN`3hC@VS?>h>ul#ma;U7f8M0?98yYmG2O@OH-(BuYxuF2954MvaOx5~{A;yY zpBHF(tl2#VmJaehuj30N{dw$KVm_`8*}(^0SiP#N!zf=n0hW(IH_|$3t`Mp4GOtNU zuqs@wl{vy)6W?1dMUts4QyiWAJ1}gNmp7O< z@h4x1VkG1t^f2=AaiVhSqV4Ui;_*1ijp#&wKN(raTm66@IMiy)5dTiB^@-_aR^3@s zH1Dr!x|jw@geeLB;|%{vC{-944|frR`;jfqIh$*D(DWl4Kj8=(OM5gMHwkVd2586= zJ1e@(OYoaQ)t44Y|2s&>Cx#}mohv|!d&ZPS(!Fy!wlx|DUfOXE9D4$BDzk`H+YELM zrjs&s`wB+6EUIfogKDSRGTmHCuX3RGuRqr5p`!NjR0!yb!hYr#OWdyi{z2ii9*`JxlcX-3-SD7PaMkhcP2tOW%tq^kN!D8cGsx zAT+qn4AxxC!0tMu0w7& zhsfM5H>nJSm9W+M9%_M+G1C1(Gv<8SEoUkY8wOPKarJ~qEpyCIN^Qa6ZLVriIql7w z(&da(nmYvM+~UYiVp4De8Wj`D6+A}_70!ez@xvzHbPev22El<>MFh#xIC}%!vZ7K2 zg^tSERuCFyXwHG|iFjg1hHvlOuON1paYvNk3BFbnI_$CHl(N`Iv~LD8XecqLY7Z)F zNz^uUQuozMz1c0xLglZWxHCx7;SedTcA|P_1)6!_z6X`(+bCJR@=6D&yeTkqS^E$} zx}HUh(z-)RsujmcA3x1r2#t!V$?il6QKhxbc4{A4oR2D;vVmS6oZa(t&Uh9BP7X)P zvCLjOVH(P&U^~oyUjSPB7U|R tPhyqhBVv6Tly5x|*lP$|o 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 literal 81 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 literal 81 zcmWm1K?;B%5CFih$es(d+*BQd(A{M5i`HPJX4?(vt8*oOdLTlr+2_H_aI` diff --git a/public/temp/food/wechat-table-10001.png b/public/temp/food/wechat-table-10001.png index 97ecc19244c5908d1e84e426b0842cd8fed2462b..c813b51ee69e551a13457fb439f2f80a07d6e2b7 100644 GIT binary patch literal 95638 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 N?_zBKuh0KX{0~7m38er4 literal 81 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
    ua0cdNL@-ejYZ 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

    7;{p{BKu0w7GnqCYCJ+u_%^|USBuAI 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 Qw*Q|a;D7qF?ceeL2S+l1od5s; literal 81 zcmWm1O$vY@5C+hz$gC5zU-2>_ - 管理后台 - <?php echo htmlentities($web['name']); ?>

    站点统计
    商户总量
    当前商户总数量
    代理总量
    当前代理总数量
    小程序总量
    当前小程序总数量
    公众号总量
    当前公众号总数量
    交易统计
    今日成交金额
    昨日:
    本月成交金额
    上月:
    今日订单金额
    昨日:
    本月订单金额
    上月:
    今日充值金额
    昨日:
    本月充值金额
    上月:
    今日赠送金额
    昨日:
    本月赠送金额
    上月:
    今日退款金额
    昨日:
    本月退款金额
    上月:
    今日扣费金额
    昨日:
    本月扣费金额
    上月:
    近七日走势
      版权所有
    \ No newline at end of file diff --git a/runtime/admin/temp/165f30f93e40130c15d885f561996cb2.php b/runtime/admin/temp/165f30f93e40130c15d885f561996cb2.php deleted file mode 100755 index 01a66ea..0000000 --- a/runtime/admin/temp/165f30f93e40130c15d885f561996cb2.php +++ /dev/null @@ -1,186 +0,0 @@ - - 管理后台 - <?php echo htmlentities($web['name']); ?>
    群发消息列表

    每日可群发100次,但是用户每月只能接收4条。

    isEmpty()): foreach($list as $item): ?>
    消息编号 任务ID 消息标题 消息类型 群发状态 群发人数 成功人数 添加时间 操作

    0 ? htmlentities($item['fans_count']) : '--'; ?> 0 ? htmlentities($item['send_count']) : '--'; ?>
    暂无记录
    render(); ?>
    总记录:total(); ?>
    未绑定授权公众号
    - - - -
    \ No newline at end of file diff --git a/runtime/admin/temp/29a1b1f477dc444c90efb32e05e28fcd.php b/runtime/admin/temp/29a1b1f477dc444c90efb32e05e28fcd.php deleted file mode 100755 index cdd2d4b..0000000 --- a/runtime/admin/temp/29a1b1f477dc444c90efb32e05e28fcd.php +++ /dev/null @@ -1,56 +0,0 @@ - - 管理后台 - <?php echo htmlentities($web['name']); ?>
    列表
    isEmpty()): foreach($list as $item): ?>
    Applet_Id 小程序图标 小程序名称 行业模板 到期时间 创建时间 管理管理
    小程序图片

    0): ?> 0): ?> --
    暂无记录
    render(); ?>
    总记录:total(); ?>
    -
    \ No newline at end of file diff --git a/runtime/admin/temp/352d937338d3cbeaa5a6b2aef6a0495e.php b/runtime/admin/temp/352d937338d3cbeaa5a6b2aef6a0495e.php deleted file mode 100755 index b7b3246..0000000 --- a/runtime/admin/temp/352d937338d3cbeaa5a6b2aef6a0495e.php +++ /dev/null @@ -1,93 +0,0 @@ - - 管理后台 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    列表
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - isEmpty()): foreach($list as $item): ?> - - - - - - - - - - - - - - - - - - - - -
    编号头像昵称性别钱包积分电话省份城市代理注册管理
    - - - - - - - - -
    - 10): ?> - - 登录 - - -
    -
    暂无记录
    -
    -
    -
    render(); ?>
    -
    -
    总记录:total(); ?>
    -
    -
    -
    -
    -
    -
    -
    -
    \ No newline at end of file diff --git a/runtime/admin/temp/3a0f7010e1e6219083ad8c5646d41a40.php b/runtime/admin/temp/3a0f7010e1e6219083ad8c5646d41a40.php deleted file mode 100755 index 4e538ce..0000000 --- a/runtime/admin/temp/3a0f7010e1e6219083ad8c5646d41a40.php +++ /dev/null @@ -1,156 +0,0 @@ - - 管理后台 - <?php echo htmlentities($web['name']); ?>
    插件列表
    图标 名称 标识 介绍 作者 价格 下载 版本 状态 操作

    V
    暂无记录
    总记录:
    - - - -
    \ No newline at end of file diff --git a/runtime/admin/temp/5c32e7932a0700ecea140e20f7bc660c.php b/runtime/admin/temp/5c32e7932a0700ecea140e20f7bc660c.php deleted file mode 100755 index a24afc5..0000000 --- a/runtime/admin/temp/5c32e7932a0700ecea140e20f7bc660c.php +++ /dev/null @@ -1,2 +0,0 @@ - - 管理登录 - <?php echo htmlentities($web['name']); ?>
    \ No newline at end of file diff --git a/runtime/admin/temp/77873608a3a896bd3d43bafe9fe9a27f.php b/runtime/admin/temp/77873608a3a896bd3d43bafe9fe9a27f.php deleted file mode 100755 index 6b1753f..0000000 --- a/runtime/admin/temp/77873608a3a896bd3d43bafe9fe9a27f.php +++ /dev/null @@ -1,69 +0,0 @@ - - 管理后台 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    交易记录
    -
    -
    -
    - - - - - - - - - - - - - - - isEmpty()): foreach($list as $item): ?> - - - - - - - - - - - - - - - - -
    编号用户单号模式类型数值备注时间
    -

    -
    -
    -
    - -
    -
    -

    I D :

    -

    昵称:

    -

    电话:

    -
    -
    -
    暂无记录
    -
    -
    -
    render(); ?>
    -
    -
    总记录:total(); ?>
    -
    -
    -
    -
    -
    -
    -
    - -
    \ No newline at end of file diff --git a/runtime/admin/temp/77d3402cf97c0a269213cffcfac5cd3c.php b/runtime/admin/temp/77d3402cf97c0a269213cffcfac5cd3c.php deleted file mode 100755 index 42c7cf7..0000000 --- a/runtime/admin/temp/77d3402cf97c0a269213cffcfac5cd3c.php +++ /dev/null @@ -1,93 +0,0 @@ - - 管理后台 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    -
    -
    -
    微信开放平台 - 第三方平台对接
    -
    -
    - -
    -
    - - - - 每10分钟更新一次 -
    -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - - - 建议设置多个,多个以为“;”号隔开。
    - 第一个为主域名请确保SSL证书配置正常,其它为备用。
    - 第一个域名SSL证书过期后请删除,启用第二个(做好配置),以此类推。
    - 域名前请勿输入http等协议头。 -
    -
    -
    -
    - -
    - - 域名格式例如:www.baidu.com -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -
    \ No newline at end of file diff --git a/runtime/admin/temp/871d8f9ac37b49ddb1f8892d42b0b432.php b/runtime/admin/temp/871d8f9ac37b49ddb1f8892d42b0b432.php deleted file mode 100755 index a718f70..0000000 --- a/runtime/admin/temp/871d8f9ac37b49ddb1f8892d42b0b432.php +++ /dev/null @@ -1,156 +0,0 @@ - - 管理后台 - <?php echo htmlentities($web['name']); ?>
    我的插件
    图标 名称 标识 介绍 作者 版本 状态 操作

    V
    暂无记录
    - - - -
    \ No newline at end of file diff --git a/runtime/admin/temp/ce62fa7229051749de6651961ed8a08c.php b/runtime/admin/temp/ce62fa7229051749de6651961ed8a08c.php deleted file mode 100755 index 6d95d4e..0000000 --- a/runtime/admin/temp/ce62fa7229051749de6651961ed8a08c.php +++ /dev/null @@ -1,2 +0,0 @@ - - 管理后台 - <?php echo htmlentities($web['name']); ?>
    公众号信息
    您还没有绑定公众号
    我已有微信公众号
    我还没有微信公众号
    \ No newline at end of file diff --git a/runtime/admin/temp/d0998e50cb4b95fe491115d630adb4d8.php b/runtime/admin/temp/d0998e50cb4b95fe491115d630adb4d8.php deleted file mode 100755 index 0906149..0000000 --- a/runtime/admin/temp/d0998e50cb4b95fe491115d630adb4d8.php +++ /dev/null @@ -1,357 +0,0 @@ - - 管理后台 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    列表
    -
    -
    -
    - - - - - - - - - - - - - - - isEmpty()): foreach($list as $item): ?> - - - - - - - - - - - - - - - - -
    申请编号用户头像用户昵称联系电话支付状态申请状态申请时间管理操作
    -
    -
    - -
    -
    -
    - -
    暂无记录
    -
    -
    -
    render(); ?>
    -
    -
    总记录:total(); ?>
    -
    -
    -
    -
    -
    -
    -
    - - - - -
    \ No newline at end of file diff --git a/runtime/admin/temp/db3fc3ab033eae396bc223a1db61ffa3.php b/runtime/admin/temp/db3fc3ab033eae396bc223a1db61ffa3.php deleted file mode 100755 index 33c8507..0000000 --- a/runtime/admin/temp/db3fc3ab033eae396bc223a1db61ffa3.php +++ /dev/null @@ -1,2 +0,0 @@ - - 管理后台 - <?php echo htmlentities($web['name']); ?>
    微信公众号菜单设置
    公众号
    9:36
    菜单设置 删除
    字数不超过13个汉字或40个字母
    根据关键字可返回事先设置的回复内容
    链接格式:http://baidu.com/xxx/abc.html
    必须是公众号所绑定的小程序
    小程序不能正常打开时,可转向此链接。
    链接格式:http://baidu.com/xxx/abc.html
    例如:pages/index/index

    回复内容

    */ ?>
    */ ?>
    未绑定授权公众号
    \ No newline at end of file diff --git a/runtime/applet/log/202311/21_error.log b/runtime/applet/log/202311/21_error.log deleted file mode 100755 index 5d5a96d..0000000 --- a/runtime/applet/log/202311/21_error.log +++ /dev/null @@ -1,2 +0,0 @@ -[2023-11-21T18:41:05+08:00][error] [0]Argument 1 passed to hema\wechat\Driver::authUrl() must be of the type int, null given, called in /www/wwwroot/app.cxhxy.dev.1nww.com/app/applet/controller/Wxapp.php on line 43 -[2023-11-21T18:45:54+08:00][error] [0]Argument 1 passed to hema\wechat\Driver::getCategory() must be of the type int, null given, called in /www/wwwroot/app.cxhxy.dev.1nww.com/app/applet/controller/wxapp/Category.php on line 37 diff --git a/runtime/applet/temp/0401244b90b33ea4345ab01331660c33.php b/runtime/applet/temp/0401244b90b33ea4345ab01331660c33.php deleted file mode 100755 index 16011b0..0000000 --- a/runtime/applet/temp/0401244b90b33ea4345ab01331660c33.php +++ /dev/null @@ -1,135 +0,0 @@ - - 小程序管理中心 - <?php echo htmlentities($web['name']); ?>
    注册微信小程序

    提示:资料审核中,有问题会给您电话联系

    提示:资料验证中,请在您微信中完成实名验证

    提示:申请已通过,您已注册成功

    提示:申请被驳回,请按要求修改后提交

    驳回原因:

    营业执照信息
    大小2M以下
    个体营业执照名称如为空或为“无”,请填写"个体户+经营者姓名",如“个体户张三”
    经营者/法人信息
    身份证所有人必须跟营业执照法人(所有人)姓名一致。大小2M以下
    身份证所有人必须跟营业执照法人(所有人)姓名一致。大小2M以下
    身份证上面的姓名
    身份证上面的居住地址
    示例值:2026-06-06
    示例值:2036-06-06
    请填写手机号,请确保电话畅通以便平台回拨确认
    不是绑定的手机号!请打开微信->我的->点击头像->查看微信号
    微信必须实名认证,并与上面身份证姓名一致。
    - - - - - - - - - - -
    \ No newline at end of file diff --git a/runtime/applet/temp/4d1c52033742f01e5be6650c8d5d5c31.php b/runtime/applet/temp/4d1c52033742f01e5be6650c8d5d5c31.php deleted file mode 100755 index 1b0583c..0000000 --- a/runtime/applet/temp/4d1c52033742f01e5be6650c8d5d5c31.php +++ /dev/null @@ -1,2 +0,0 @@ - - 小程序管理中心 - <?php echo htmlentities($web['name']); ?>
    公众号信息
    您还没有绑定公众号
    我已有微信公众号
    我还没有微信公众号
    \ No newline at end of file diff --git a/runtime/applet/temp/6d4c9daa5662bf5b4314aa7ff4421e3e.php b/runtime/applet/temp/6d4c9daa5662bf5b4314aa7ff4421e3e.php deleted file mode 100755 index 942356b..0000000 --- a/runtime/applet/temp/6d4c9daa5662bf5b4314aa7ff4421e3e.php +++ /dev/null @@ -1,14 +0,0 @@ - - 小程序管理中心 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    Welcome To HemaPHP System
    -
    -

    小程序管理中心

    -
    -
    -
    -
    -
    \ No newline at end of file diff --git a/runtime/applet/temp/6e46255bb576ddd9bc889b5af5c6af2a.php b/runtime/applet/temp/6e46255bb576ddd9bc889b5af5c6af2a.php deleted file mode 100755 index 2881ab5..0000000 --- a/runtime/applet/temp/6e46255bb576ddd9bc889b5af5c6af2a.php +++ /dev/null @@ -1,25 +0,0 @@ - - 小程序管理中心 - <?php echo htmlentities($web['name']); ?>
    地理位置接口列表
    0): foreach($list['interface_list'] as $item): ?>
    接口名称 接口标识 审核状态 失败原因 操作
    -
    \ No newline at end of file diff --git a/runtime/applet/temp/77dea72f140119eec7bc249b88fb2458.php b/runtime/applet/temp/77dea72f140119eec7bc249b88fb2458.php deleted file mode 100755 index 2e2d03b..0000000 --- a/runtime/applet/temp/77dea72f140119eec7bc249b88fb2458.php +++ /dev/null @@ -1,2 +0,0 @@ - - 小程序管理中心 - <?php echo htmlentities($web['name']); ?>
    已生效的《获取用户隐私权限》接口
    不要重复提交申请,申请后需重新提申上线小程序后才能生效。
    0): ?>
    暂无记录
    申请获取用户隐私权限接口
    开启:
    配置小程序用户隐私保护指引
    \ No newline at end of file diff --git a/runtime/applet/temp/856c52ff20046a0878ce6c7c3f189901.php b/runtime/applet/temp/856c52ff20046a0878ce6c7c3f189901.php deleted file mode 100755 index fe6a437..0000000 --- a/runtime/applet/temp/856c52ff20046a0878ce6c7c3f189901.php +++ /dev/null @@ -1,2 +0,0 @@ - - 小程序管理中心 - <?php echo htmlentities($web['name']); ?>
    小程序类目列表
    0): foreach($list['categories'] as $item): ?>
    一级类目ID 一级类目名称 二级类目ID 二级类目名称 审核状态 审核不通过的原因 操作
    \ No newline at end of file diff --git a/runtime/applet/temp/8f1b83cd3dd31541f148aeee4301fb03.php b/runtime/applet/temp/8f1b83cd3dd31541f148aeee4301fb03.php deleted file mode 100755 index 81ca5b4..0000000 --- a/runtime/applet/temp/8f1b83cd3dd31541f148aeee4301fb03.php +++ /dev/null @@ -1,15 +0,0 @@ - - 小程序管理中心 - <?php echo htmlentities($web['name']); ?>
    体验用户列表
    0): $n=10000;foreach($list['members'] as $item): $n++;?>
    编号 唯一识别码 操作
    -
    \ No newline at end of file diff --git a/runtime/applet/temp/9fe3befe3ea695f4e50a001bee83c480.php b/runtime/applet/temp/9fe3befe3ea695f4e50a001bee83c480.php deleted file mode 100755 index f7959a2..0000000 --- a/runtime/applet/temp/9fe3befe3ea695f4e50a001bee83c480.php +++ /dev/null @@ -1,439 +0,0 @@ - - 小程序管理中心 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    - -
    -
    绑定微信小程序
    -
    -
    -
    -
    我已有微信小程序
    - -
    - - - -
    -
    - -
    -
    我已有微信小程序
    -
    - - 手动设置 - -
    -
    - 手动配置小程序参数 -
    -
    - -
    -
    - - 我还没有微信小程序 - - 现在状态:待付审核费 - - 现在状态: - - -
    -
    - - - -
    -
    - 快速注册并认证小程序 -
    -
    -
    -
    - -
    -
    -
    微信小程序设置
    -
    - - -
    - -
    自定义模板为线下发布小程序,授权项必须取消“小程序开发与数据分析”权限,否则无法进行线下发布小程序 -
    - -
    -
    -
    -
    - - -
    -
    - -
    - 微信小程序头像 -
    - - - 每月可修改次, - 本月还可修改次。 - - 修改 - -
    -
    -
    -
    - -
    - - 友情提醒:名称设置后不可修改设置 -
    -
    -
    - -
    - -
    -
    -
    - -
    - - - - 每月可修改次, - 本月还可修改次。 - - -
    -
    -
    - -
    - - - 请确保上面域名列表至少有一个在下方域名列表中,多个以“;”隔开,否则无法正常使用小程序。
    - 最新域名列表: -
    -
    -
    -
    - -
    - - - 非必须设置项,多个以“;”分号隔开,设置格式如:www.baidu.com。
    - 域名前面不要加“https://”协议头,后面不要加“/”斜杠 -
    -
    -
    -
    -
    - -
    -
    -
    - -
    -
    - -
    -
    - - - - -
    -
    -
    -
    - 建议尺寸200*200px,大小2M以下 -
    -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    -
    - -
    -
    -
    - -
    -
    -
    -
    - -
    - -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - -
    \ No newline at end of file diff --git a/runtime/applet/temp/d406f6394afc907afff31febc70c8935.php b/runtime/applet/temp/d406f6394afc907afff31febc70c8935.php deleted file mode 100755 index ec2df06..0000000 --- a/runtime/applet/temp/d406f6394afc907afff31febc70c8935.php +++ /dev/null @@ -1,83 +0,0 @@ - - 小程序管理中心 - <?php echo htmlentities($web['name']); ?>
    在线发布小程序前必须完成初始化配置
    配置项目: 1.小程序头像 2.小程序名称 3.功能介绍 4.服务器域名 5.服务类目 6.隐私设置(按需)
    线上版本
    版本号
    发布时间
    项目备注
    暂无发布上线的版本
    审核版本
    版本号
    提审时间
    项目备注
    暂无提交审核的版本
    体验版本
    版本号
    提交时间
    项目备注
    $wxapp['code_release']['template_code_id'])): ?> 提交审核 体验二维码
    暂未发布体验版本
    待发布版本
    $wxapp['code_exp']['template_code_id'])): ?>
    版本号
    推送时间
    项目备注
    当前体验版本已是最新版本
    平台未推送模板,请联系平台管理员
    小程序版本管理

    小程序行业模板为自定义,无法在线管理,请自行通过开发者工具进行发布上线

    小程序版本管理
    \ No newline at end of file diff --git a/runtime/applet/temp/f23a297c97a3d0d4d3ea56de0ee9794f.php b/runtime/applet/temp/f23a297c97a3d0d4d3ea56de0ee9794f.php deleted file mode 100755 index cd19219..0000000 --- a/runtime/applet/temp/f23a297c97a3d0d4d3ea56de0ee9794f.php +++ /dev/null @@ -1,86 +0,0 @@ - - 小程序管理中心 - <?php echo htmlentities($web['name']); ?>
    二维码规则列表

    规则数量:,本月还可发布

    0): foreach($list['rule_list'] as $item): ?>
    二维码规则 跳转页面 使用范围 发布状态 操作
    - -
    \ No newline at end of file diff --git a/runtime/cache/13/0fd29bc1e1c9570496921b09ae2849.php b/runtime/cache/13/0fd29bc1e1c9570496921b09ae2849.php old mode 100755 new mode 100644 index 461dc7034000569c61c23588ae36c6b9aed355f6..712f07b0a8b0b0ad817b1c1c46402f1d3e15c759 GIT binary patch literal 1977 zcmds2OKuZE5cN8zh-L+rqIjGiX(OU2d>4d8B1K4+qV`PNZqhS7>Ta8uC`&HD72pC~ zfa4&z1+S`S?6CVoxN}m}Kxy^!p+SQ(fK+3!5u5JhR5AENELM6z9bgk#xEp9aP~Hgfmu;0*`=E zRYO_nI&^GpK0K2_O{`laV*h}`k2!p*^IVk_-xGKDULY2rr7To3@FGPy6nvdE!FW7i zm+FQcQjs*aYn{_m#6Od|*t!hGj6@HReU!Uq zb*eIQWsfcU*?6pPlfgMfP@!$SS(RgiS5xJHN***?Oggh=S#On}5Bc>*EuvR!CdiSg z!?=`gCs$)RGvUIH!*hiJHCC)+Ev=EC78i29?4+(Vo2o)?E@!NjX>BYrAuQrfB0FMu zuKmmdve|7)S-TylWNu4?%9jShXiot%;Izj?Knh#qPCNzLA*R<*5GjBC`1K0@@YaQ7z@UIcDSm3J+9lrHCc{<*aBXNPsOzBV7GOH+ zrTcrm!viXi>~WG5M%8ZJIz7>RX#aonkvbndq-w>5ND_LyT;o&A;BtGXDXF+*YFi delta 31 jcmdnV-^Ms0Pr|^ey0*61%EU^kq$o92$vV*rEK&;qrkDzb diff --git a/runtime/cache/21/413a1afbfae837472e4844bda5ddbc.php b/runtime/cache/21/413a1afbfae837472e4844bda5ddbc.php old mode 100755 new mode 100644 diff --git a/runtime/cache/30/4fce12426ae0229ae22216efc4ea5b.php b/runtime/cache/30/4fce12426ae0229ae22216efc4ea5b.php old mode 100755 new mode 100644 index 5a66d48..9d56dfb --- a/runtime/cache/30/4fce12426ae0229ae22216efc4ea5b.php +++ b/runtime/cache/30/4fce12426ae0229ae22216efc4ea5b.php @@ -1,4 +1,4 @@ -a:1:{s:5:"other";a:5:{s:3:"key";s:5:"other";s:8:"describe";s:12:"其它设置";s:6:"values";a:8:{s:8:"postpaid";a:3:{i:10;s:1:"0";i:20;s:1:"0";i:30;s:1:"0";}s:8:"is_stock";s:1:"0";s:5:"goods";a:2:{s:8:"sell_out";s:1:"1";s:9:"delisting";s:1:"0";}s:9:"open_shop";s:1:"1";s:10:"is_calling";s:1:"1";s:10:"bind_phone";s:1:"1";s:11:"balance_pay";s:1:"0";s:12:"order_export";s:3:"col";}s:9:"applet_id";i:10001;s:11:"update_time";i:0;}} \ No newline at end of file +a:2:{s:6:"center";a:5:{s:3:"key";s:6:"center";s:8:"describe";s:18:"用户中心设置";s:6:"values";a:5:{s:3:"vip";s:1:"1";s:7:"setting";s:1:"0";s:6:"helper";s:1:"0";s:7:"contact";a:2:{s:7:"is_open";s:1:"1";s:4:"type";s:6:"wechat";}s:4:"menu";a:5:{i:0;a:4:{s:4:"logo";s:62:"https://app.cxhxy.dev.1nww.com/addons/food/img/applet/pact.png";s:5:"title";s:12:"预约订桌";s:4:"path";s:15:"user/pact/index";s:4:"sort";i:10;}i:1;a:4:{s:4:"logo";s:64:"https://app.cxhxy.dev.1nww.com/addons/food/img/applet/coupon.png";s:5:"title";s:12:"我的卡券";s:4:"path";s:17:"user/coupon/index";s:4:"sort";i:20;}i:2;a:4:{s:4:"logo";s:65:"https://app.cxhxy.dev.1nww.com/addons/food/img/applet/address.png";s:5:"title";s:12:"我的地址";s:4:"path";s:18:"user/address/index";s:4:"sort";i:30;}i:3;a:4:{s:4:"logo";s:68:"https://app.cxhxy.dev.1nww.com/addons/food/img/applet/collection.png";s:5:"title";s:12:"签到中心";s:4:"path";s:15:"user/sign/index";s:4:"sort";i:40;}i:4;a:4:{s:4:"logo";s:65:"https://app.cxhxy.dev.1nww.com/addons/food/img/applet/comment.png";s:5:"title";s:12:"评价记录";s:4:"path";s:18:"user/comment/index";s:4:"sort";i:50;}}}s:9:"applet_id";i:10001;s:11:"update_time";i:0;}s:5:"other";a:5:{s:3:"key";s:5:"other";s:8:"describe";s:12:"其它设置";s:6:"values";a:8:{s:8:"postpaid";a:3:{i:10;s:1:"0";i:20;s:1:"0";i:30;s:1:"0";}s:8:"is_stock";s:1:"0";s:5:"goods";a:2:{s:8:"sell_out";s:1:"1";s:9:"delisting";s:1:"0";}s:9:"open_shop";s:1:"1";s:10:"is_calling";s:1:"1";s:10:"bind_phone";s:1:"1";s:11:"balance_pay";s:1:"0";s:12:"order_export";s:3:"col";}s:9:"applet_id";i:10001;s:11:"update_time";i:0;}} \ No newline at end of file diff --git a/runtime/cache/4e/819c837d54a6ed09abc77a8560a66f.php b/runtime/cache/4e/819c837d54a6ed09abc77a8560a66f.php old mode 100755 new mode 100644 diff --git a/runtime/cache/eb/300fe116b3568a7e80a6c2812b1a38.php b/runtime/cache/eb/300fe116b3568a7e80a6c2812b1a38.php index 217a7e6..e63c99f 100644 --- a/runtime/cache/eb/300fe116b3568a7e80a6c2812b1a38.php +++ b/runtime/cache/eb/300fe116b3568a7e80a6c2812b1a38.php @@ -1,4 +1,4 @@ -1701764602 \ No newline at end of file +1701848041 \ No newline at end of file diff --git a/runtime/index/temp/60a64cd47b22d798d9e777f4f707b2cd.php b/runtime/index/temp/60a64cd47b22d798d9e777f4f707b2cd.php deleted file mode 100755 index ba8b27d..0000000 --- a/runtime/index/temp/60a64cd47b22d798d9e777f4f707b2cd.php +++ /dev/null @@ -1,495 +0,0 @@ - - - - - - - - - - - - <?php echo htmlentities($web['name']); ?> - <?php echo htmlentities($title); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - - - - - -
    - -
    - -
    - - - -
    - -
    - -
    - - - -
    - -
    - -
    - -
    - -
    -
    -
      -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    -
    -
    -
    -
    -
    -

    六步开店 一站完成

    -

    特有接口,一路无阻,快速上线

    -
    -
    -
      -
    • -
      - -

      商家注册

      -

      微信扫码注册登录一步完成

      -
      -
      - -
      -
    • -
    • -
      - -

      授权小程序

      -

      扫码授权或免费快速注册

      -
      -
      - -
      -
    • -
    • -
      - -

      对接支付

      -

      在线开通收款账户或对接已有账户

      -
      -
      - -
      -
    • -
    • -
      - -

      发布商品

      -

      商品分类设置,上传单双规格商品

      -
      -
      - -
      -
    • -
    • -
      - -

      装修店铺

      -

      DIY小程序店铺页面,配置店铺

      -
      -
      - -
      -
    • -
    • -
      - -

      发布上线

      -

      一键发布与升级小程序

      -
      -
    • -
    -
    - -
    -
    -
    -
    -
    -

    一套模板同步十大平台

    -

    提供uni-app版本模板源代码,实现多平台发布

    -
    -
    -
    - -
    -
    -
      -
    • - -

      Android

      -
    • -
    • - -

      IOS

      -
    • -
    • - -

      H5

      -
    • -
    • - -

      微信小程序

      -
    • -
    • - -

      支付宝小程序

      -
    • -
    • - -

      百度小程序

      -
    • -
    • - -

      字节跳动小程序

      -
    • -
    • - -

      QQ小程序

      -
    • -
    • - -

      快应用

      -
    • -
    • - -

      360小程序

      -
    • -
    -
    -
    -
    -
    - -
    -
    -
    -

    功能模块

    -

    实时监控订单情况,灵活手动调度订单,高效完成配送

    -
    -
    -
      -
    • - -

      实时接单

      -

      商家实时接单,通过订单调度中心,实时监控配送情况,灵活手动调度订单,高效完成配送

      -
    • -
    • - -

      支付方式

      -

      用户可通过线上微信、余额支付,线下货到付款的方式,轻松完成小程序外卖下单,不一样的下单体验

      -
    • -
    • - -

      会员管理

      -

      会员信息触手可得,方便查找,高效会员营销推广,各种营销方案尽在手中

      -
    • -
    • - -

      数据统计

      -

      会员统计、订单统计、销售统计、详细的订单数据统计,一目了然

      -
    • -
    • - -

      订单管理

      -

      后台轻松管理订单,方便查看订单号、总额、支付状态等信息

      -
    • -
    • - -

      客户维系

      -

      轻松管理公众号粉丝,可积累的客户数据,客户通过关注注册,后台即可生成用户管理数据

      -
    • -
    • - -

      营销工具

      -

      优惠券、满减活动、限时秒杀、拼图、砍价、充值送优惠等可随意组合,在吸粉引流的同时刺激客户直接消费

      -
    • -
    • - -

      多样配送

      -

      可选择商家自主配送,上门自提,第三方配送,提高配送效率,降低配送成本

      -
    • -
    -
    -
    -
    -
    -
    -
    -

    丰富营销模块 增强用户黏合性

    -

    丰富新颖的营销手法,让您的商城促销玩出新花样。拉新、转化、促活、复购、留存、推广,店铺经营面面俱到。

    -
    -
    -
      -
    • 拼团
    • -
    • 秒杀
    • -
    • 砍价
    • -
    • 优惠券
    • -
    -
    -
    - - - - - -
    -
    -
    -
    -
    -
    -

    五大管理模块

    -

    打造全方位运营模式让运维简单,高效,智能,助力快速开展小程序业务。

    -
    -
    -
      -
    • - -

      超管端

      -

      对商户集中管理,统一发布小程序模板,等级收费,打印机授权,消息推送等

      -
    • -
    • - -

      代理端

      -

      多级分销,区域保护,代理自由定价,对自己的客户全方位服务管理

      -
    • -
    • - -

      商户端

      -

      扫码点餐端和商城端,上传商品,营销活动,订单管理,会员管理,DIY生成小程序,多门店等

      -
    • -
    • - -

      助手端

      -

      手机移动管理,让商家随时随地关注门店经营状态,帮助店长店员更方便的维护订单状态和服务顾客。

      -
    • -
    • - -

      店长端

      -

      门店管理一步到位,解锁店长管理权限

      -
    • -
    -
    -
    -
    -
    - -
    - -
    - -
    - -
    - - -
    - -

    关注我们

    -
    -
    - Copyright© All rights reserved.闽ICP备19004629号-1
    - - -
    - -
    - -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/runtime/index/temp/b430673016f1b8d1351a534a69510985.php b/runtime/index/temp/b430673016f1b8d1351a534a69510985.php deleted file mode 100755 index cca7959..0000000 --- a/runtime/index/temp/b430673016f1b8d1351a534a69510985.php +++ /dev/null @@ -1,436 +0,0 @@ - - - - - - - - - - - - <?php echo htmlentities($web['name']); ?> - <?php echo htmlentities($title); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - - - -
    - - - - - -
    - -
    - -
    - - - -
    - -
    - -
    - - - -
    - -
    - -
    - -
    - -
    -
    -
    -
    -

    为什么选择

    -

    保姆式跟踪培养,为合作伙伴提供一流的发展空间

    -
    -
    -
      -
    • - - -

      企业

      -

      中国银联挂牌服务商,江苏省科创企业,纳税A级企业

      -
    • -
    • - - -

      品牌

      -

      公司自身拥有千万级用户,具备先天的传播优势!

      -
    • -
    • - - -

      产品

      -

      完整的产品线,构建各个行业生态系统

      -
    • -
    • - - -

      技术

      -

      十二年技术研发团队,全部出自科班,部份来源于BAT

      -
    • -
    • - - -

      服务

      -

      “一对一”顾问式服务,节假日等全年无休

      -
    • -
    • - - -

      回报率

      -

      全新的行业产业链模式,回报率超乎你想象

      -
    • -
    -
    -
    -
    -
    -
    -
    -

    八大支持

    -

    我们将为合作伙伴营造一流的发展环境

    -
    -
    - -

    产品销售支持

    -

    产品经理实时对接销售,团队提供培训支持

    -
    - -

    区域保护支持

    -

    区域保护系统和价格保护政策避免订单冲突

    -
    - -

    售后运营支持

    -

    专业运营团队保障用户产品只用

    -
    - -

    技术保障支持

    -

    金融级别系统建设,保障业务安全稳定

    -
    - -

    品牌宣传支持

    -

    全国范围线上线下,多渠道全方位宣传

    -
    - -

    产品升级支持

    -

    研发团队专注产品研发持续优化产品

    -
    - -

    高效甩单支持

    -

    总部将客户信息按区域分配,提供甩单支持

    -
    - -

    远程服务支持

    -

    全天候贴心客服服务7*24小时跟踪

    -
    -
    - -
    -
    -
    -
    -
    -

    加盟流程

    -

    只需4步 即可快速开店

    -
    -
    -
      -
    • - -

      填写信息

      -

      填写申请表格,提交合作

      -
    • -
    • - -

      对接经理

      -

      一个工作日内渠道经理和您对接

      -
    • -
    • - -

      确认合作

      -

      与码点餐签署合作协议

      -
    • -
    • - -

      开展业务

      -

      开通帐号,发展市场

      -
    • -
    -
    -
    -
    - - - -
    - -
    - -
    - -
    - -
    - - -
    - -

    关注我们

    -
    -
    - Copyright© All rights reserved.闽ICP备19004629号-1
    - - -
    - -
    - -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/runtime/index/temp/b84ab2a86a49fb8098a55f114226b794.php b/runtime/index/temp/b84ab2a86a49fb8098a55f114226b794.php deleted file mode 100755 index 2b9e9c4..0000000 --- a/runtime/index/temp/b84ab2a86a49fb8098a55f114226b794.php +++ /dev/null @@ -1,2 +0,0 @@ - - <?php echo htmlentities($web['name']); ?> - <?php echo htmlentities($title); ?>
    \ No newline at end of file diff --git a/runtime/index/temp/c17836b361a86127d4c136cc0bb98e5b.php b/runtime/index/temp/c17836b361a86127d4c136cc0bb98e5b.php deleted file mode 100755 index 017546e..0000000 --- a/runtime/index/temp/c17836b361a86127d4c136cc0bb98e5b.php +++ /dev/null @@ -1,2 +0,0 @@ - - <?php echo htmlentities($web['name']); ?> - <?php echo htmlentities($title); ?>
    \ No newline at end of file diff --git a/runtime/session/sess_31e79552bdc9d8bfd196f0495656145c b/runtime/session/sess_31e79552bdc9d8bfd196f0495656145c deleted file mode 100755 index 9597f341922a439341edf8c02439c6f4d3b6ef0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8009 zcmeHMTZb^x{MCf-lC0M1rs|)O1(Rl-oDEYA&0wpn@WZmu#3oBRvEQ`OVcJ(HjYl_btfvR$XnsZ*!E`p&5{EO3LHGO(?nJL4%E zvnUl=_lN}!4fliYT=KGe^j6?t1}lnVJ>fXbBc2?;O|qchr>VoB+v#;Omh$dVLs15v z78EBmj7el~EF$_EX$g$-4BsrUf}3YD@XcrTBOjD!u%LC}?osW~>Yt%h&w=nSE< zUHH@Mgn5?nP>CD|M{YtDqbK~-e45ZHHc8;5-Ue;F*NJ${=83wR$Ldv{a8*fd+GMXY zP4Wp#u7-J`w`R`9u_0>)G+{SRud)TEn3z^E3kgfxM;Z&BG|t%oMx8e88}&#?1Z|^k z)2h8r$ytzG5uoRPeCR}FNgwlaG%5<_xJ{8$G%;%X}+eF;K3V`I+)DRF*e5?eK z3{KSZt)b<*&VW{hDRUj$@_v6b!fn9>0#_3(c`2|mp=l47JzOd{)o?NN^sXdQt@*|f z5e;5z@fJZI3`K&=Qs&_n9ja1<0C$y?h@P7`oN~yjgiF`@DOlynLmQXo%g|ygMg0@X0Zgj7gf)dW!Kovmp?6rkn z*#t`)?seE)`w4P#lL$3G&>TGozgvt^&oeyHoY!KGdLAYB*Yh%E zW)awX=Tdqpdg+Zo1iCn(vI(172q|=SU2liN+3Up$ z9z(0F@4F-JOf2S22ENN&C$>?h4f$vk`d+_Zscjc)55Btl=>4xRzPR(?lY2A;xAb`} z*4!7XSlgrJUoGvQWwiX~wVFrIOI-c+3w@JN6<=w_f$;ZVf2dw`crz_nGS`n5#1Xjw z9_yDSHA2>zLetdt3#r8~9?Hy_QiTi-4^b~1gsa)=^dRDk13OzT55hb>MDfU#JQV5l z(D2ehK~=?eCqlmv4Lib{o$_s8A?n7?|EWT>0a9HeN`=?`IL>q3tI^#-WKvT&mgu5X zJlifYO(N89cHJyQ9Rz?LlUCI$yljMz?G_TqE8TX#5Jj31JfUNVGPZ7qD4wEyM~@0z zD3h7rD?@YzyH!z)+M7L(UB%tHvmF+*-R;WL-dCQRHx?y`<_os2JT;N;gmcp=Y(B=T zz8GprU~+64mzqb-UC|UPXL&KE=D4AC14Eh5b=#SU9wU{3bqjD~c7_J$7|cy{U5(P~ z(4crcFY&;u1@KuXkS#0bCRMkE+TY8SJ3x7BIU{SpU4PV%$q1RHO-POhvd&l3zjS## z>iaRDM3(Qx6CaH;KX#l+pAAPL`j}c1Tu_u~JBorO7`_Lh3eOFmf$ zzT6dJD^g4|^t!35xY2<}EDX7nW0jxKJ9;C6`+QZ1lFKozV>p1i^Jo;z(AT?x-xx|B zLq6M41{R3B1U0RVB7(L~xwN8j`NmN#;S6lcg=EeJqhXjz`;+O@pZ zdT7b%&4}Q%klScl?yI$ diff --git a/runtime/store/log/202311/21_error.log b/runtime/store/log/202311/21_error.log deleted file mode 100755 index a05052d..0000000 --- a/runtime/store/log/202311/21_error.log +++ /dev/null @@ -1,74 +0,0 @@ -[2023-11-21T15:57:38+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T15:57:46+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T15:57:50+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:08+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:08+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:08+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:09+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:09+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:09+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:09+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:09+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:45+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:46+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:46+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:47+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:47+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:47+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:58:47+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:33+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:34+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:37+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:53+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:54+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:54+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:55+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:55+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:55+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:55+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:55+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:56+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:56+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:56+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:56+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:56+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:56+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:57+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:57+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T15:59:57+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:00:43+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:01:22+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:13+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:14+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:14+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:14+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:15+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:15+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:15+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:15+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:16+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:16+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:16+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:17+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:23+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:03:55+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:22:16+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:22:38+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:22:42+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:29+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:29+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:30+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:30+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:30+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:31+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:31+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:31+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:32+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:32+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:32+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:33+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:23:33+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:52:56+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:53:41+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10001.png.png): failed to open stream: No such file or directory -[2023-11-21T16:54:12+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory -[2023-11-21T16:54:18+08:00][error] [2]file_put_contents(./temp//temp/food/wechat-shop-10002.png.png): failed to open stream: No such file or directory diff --git a/runtime/store/temp/0c8787a77f02614aefcaa341d7335ca2.php b/runtime/store/temp/0c8787a77f02614aefcaa341d7335ca2.php deleted file mode 100755 index b1c311f..0000000 --- a/runtime/store/temp/0c8787a77f02614aefcaa341d7335ca2.php +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    -
    智能设备列表
    0): foreach($list as $item): ?>
    编号 门店 设备 名称 设备ID 设备KEY 联网 状态 时间 操作

    暂无记录
    -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/10eaa1c936787f73e9ca337f946da334.php b/runtime/store/temp/10eaa1c936787f73e9ca337f946da334.php deleted file mode 100755 index b0e5131..0000000 --- a/runtime/store/temp/10eaa1c936787f73e9ca337f946da334.php +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    页面列表
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - - - - - - - - - - - - - isEmpty()): foreach($list as $item): ?> - - - - - - - - - - - - - - -
    页面ID页面名称页面类型添加时间更新时间操作
    -

    -
    - - - - - -
    暂无记录
    -
    -
    -
    render(); ?>
    -
    -
    总记录:total(); ?>
    -
    -
    -
    -
    -
    -
    -
    - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/233e0da4a493f66c5eda33831df6debb.php b/runtime/store/temp/233e0da4a493f66c5eda33831df6debb.php deleted file mode 100755 index 0ea11e2..0000000 --- a/runtime/store/temp/233e0da4a493f66c5eda33831df6debb.php +++ /dev/null @@ -1,448 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    餐桌列表
    -
    -
    - -
    -
    -
    -
    - -
    -
    -
    -
    - -
    - -
    - -
    -
    - -
    - -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - 0): foreach($list as $index => $item): ?> - - - - - - - - - - - - - - - - -
    编号ID餐桌名称餐桌状态餐桌码所属门店显示排序添加时间管理操作
    -

    -
    - - - - - - - - - -
    暂无记录
    -
    -
    -
    -
    -
    -
    - - - - - - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/32927b1e6f229976b3bfb1d748722e68.php b/runtime/store/temp/32927b1e6f229976b3bfb1d748722e68.php deleted file mode 100755 index 8ad1dc1..0000000 --- a/runtime/store/temp/32927b1e6f229976b3bfb1d748722e68.php +++ /dev/null @@ -1,809 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - - - - -
    -
    -
    - -
    - -
    - - -
    - -
    -
    - -
    - -
    -

    {{ diyData.page.params.title }}

    -
    - -
    - - - -
    - -
    -
    -
    - -
    -
    - {{item.text}} -
    -
    -
    -
    - -
    {{ diyData.page.name }}
    页面名称仅用于后台查找
    小程序端顶部显示的标题
    小程序端转发时显示的标题
    建议尺寸:500×400
    {{ diyData.tabbar.name }}
    {{item.text}}
    建议尺寸:50*50,单位PX
    建议尺寸:50*50,单位PX
    - -
    - -
    -
    -

    1. 设计完成后点击"保存页面",在小程序端页面下拉刷新即可看到效果。

    -

    2. 如需填写链接地址请参考页面链接

    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/39bcbcc718db9ee53e923309aaeb92b9.php b/runtime/store/temp/39bcbcc718db9ee53e923309aaeb92b9.php deleted file mode 100755 index cab1ecf..0000000 --- a/runtime/store/temp/39bcbcc718db9ee53e923309aaeb92b9.php +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    -
    交易设置
    -
    -
    -
    -
    - -
    -
    - -
    - -
    - 最小设置1。如该设置10后,下列参数即使设置1,最长也要等待10分钟才能执行(刷新)一次 -
    -
    -
    -
    - -
    -
    - -
    - -
    - 设置0不自动操作 -
    -
    -
    -
    - -
    -
    - -
    - -
    - 设置0不自动操作 -
    -
    -
    -
    - -
    -
    - -
    - -
    - (后付费无效)设置0不自动操作 -
    -
    -
    -
    - -
    -
    - -
    - -
    - 设置0不自动操作 -
    -
    -
    -
    - -
    -
    - -
    - -
    - 设置0不自动操作 -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/409e4e4a205ca0731d204c8584cbd9de.php b/runtime/store/temp/409e4e4a205ca0731d204c8584cbd9de.php deleted file mode 100755 index 0894bba..0000000 --- a/runtime/store/temp/409e4e4a205ca0731d204c8584cbd9de.php +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    店员列表
    -
    -
    -
    -
    -

    注:店长可以登录门店管理端,店员账号密码为手机号,如修改店长手机号则密码初始为新手机号

    -
    -
    - -
    -
    -
    -
    - -
    -
    -
    -
    - -
    - -
    - -
    -
    - -
    - -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - isEmpty()): foreach($list as $item): ?> - - - - - - - - - - - - - - - -
    店员ID所属门店店员姓名店员手机号店员身份添加时间操作
    -

    -
    - - - - - -
    暂无记录
    -
    -
    -
    render(); ?>
    -
    -
    总记录:total(); ?>
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/5ba392d1c9e1e74ec22aae78b0af9092.php b/runtime/store/temp/5ba392d1c9e1e74ec22aae78b0af9092.php deleted file mode 100755 index 5ba30cf..0000000 --- a/runtime/store/temp/5ba392d1c9e1e74ec22aae78b0af9092.php +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    -
    微信小程序订阅消息设置
    小程序添加“商业服务-软件/建站/技术开发”服务类目后,直接点击下列按钮同步即可
    -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/5eecfbdd931a94d55dafc8f38d15c9ab.php b/runtime/store/temp/5eecfbdd931a94d55dafc8f38d15c9ab.php deleted file mode 100755 index 2cd1f12..0000000 --- a/runtime/store/temp/5eecfbdd931a94d55dafc8f38d15c9ab.php +++ /dev/null @@ -1,349 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    门店列表
    -
    -
    - - -
    -
    -
    - -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - $item): ?> - - - - - - - - - - - - - - - - - - - - -
    门店ID门店LOGO门店名称营业时间联系人联系电话门店码买单码WIFI码门店状态创建时间操作
    - 门店图片 - -

    -
    - - - - - - - - - - - - - - - - - -
    暂无记录
    -
    -
    -
    render(); ?>
    -
    -
    总记录:total(); ?>
    -
    -
    -
    -
    -
    -
    -
    - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/6da5e1cd8c29396c8903d1413abd1e55.php b/runtime/store/temp/6da5e1cd8c29396c8903d1413abd1e55.php deleted file mode 100755 index e386406..0000000 --- a/runtime/store/temp/6da5e1cd8c29396c8903d1413abd1e55.php +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    -
    微信公众号模板消息配置
    -
    -
    -
    -

    模板消息类目设置为“餐饮/餐饮”和“IT科技/互联网|电子商务”,去设置获取模板ID

    -
    -
    -
    -
    -
    - -
    - - 模板编号:OPENTM417875155 -
    -
    -
    - -
    - - 模板编号:OPENTM414769250 -
    -
    -
    - -
    - - 模板编号:OPENTM415437052 -
    -
    -
    - -
    - - 模板编号:OPENTM416620550 -
    -
    -
    - -
    - - 模板编号:OPENTM414769357 -
    -
    -
    - -
    - - 模板编号:OPENTM406071616 -
    -
    - -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/8e50fcdf9dfa90740feb9f2ee72e8a28.php b/runtime/store/temp/8e50fcdf9dfa90740feb9f2ee72e8a28.php deleted file mode 100755 index 1967679..0000000 --- a/runtime/store/temp/8e50fcdf9dfa90740feb9f2ee72e8a28.php +++ /dev/null @@ -1,311 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    帮助中心
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - - - - - - - - - - - - isEmpty()): foreach($list as $item): ?> - - - - - - - - - - - - - -
    标题内容排序添加时间操作
    -

    -
    -

    -
    - -
    暂无记录
    -
    -
    -
    -
    -
    -
    - - - - - - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/988feca942d491d8bbd9f5550fca01cf.php b/runtime/store/temp/988feca942d491d8bbd9f5550fca01cf.php deleted file mode 100755 index 8f21c35..0000000 --- a/runtime/store/temp/988feca942d491d8bbd9f5550fca01cf.php +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    门店经营数据统计
    -
    - -
    - -
    - -
    -
    - -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/acbc153a7dd97ab50d0d10d18165b7bc.php b/runtime/store/temp/acbc153a7dd97ab50d0d10d18165b7bc.php deleted file mode 100755 index df264fa..0000000 --- a/runtime/store/temp/acbc153a7dd97ab50d0d10d18165b7bc.php +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    -
    -
    后付费设置
    -
    -
    -
    - -
    - - -
    - 是否可以餐后付款 -
    -
    -
    -
    - -
    - - -
    - 是否可以骑手代收款 -
    -
    -
    -
    - -
    - - -
    - 是否可以取餐时付款 -
    -
    -
    -
    -
    -
    商品设置
    -
    -
    -
    - -
    - - -
    - 开启后对库存数量进行检测,库存为零时无法销售 -
    -
    -
    -
    - -
    - - -
    - 用户下单是否显示售罄商品。(库存开启有效) -
    -
    -
    -
    - -
    - - -
    - 用户下单是否显示下架商品。 -
    -
    -
    -
    -
    -
    其它设置
    -
    -
    -
    - -
    - - -
    - 首次打开小程序点单页,是否弹出门店选择列表,关闭后默认选择最近的门店 -
    -
    -
    -
    - -
    - - -
    - 是否开启叫号服务,需对接叫号器,堂食扫码有效 -
    -
    -
    -
    - -
    - - -
    - 用户在小程序进行登录操作时是否强制绑定手机号 -
    -
    -
    -
    - -
    - - -
    - 扫买单码是否支持余额付款 -
    -
    -
    -
    - -
    - - -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/ae9927b8c2651c650d93812e8343c6e9.php b/runtime/store/temp/ae9927b8c2651c650d93812e8343c6e9.php deleted file mode 100755 index 716129e..0000000 --- a/runtime/store/temp/ae9927b8c2651c650d93812e8343c6e9.php +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    -
    用户列表
    isEmpty()): foreach($list as $item): ?>
    编号 头像 昵称 性别 手机 消费 余额 积分 省份 城市 平台 操作
    暂无记录
    render(); ?>
    总记录:total(); ?>
    - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/b309110cddd7c2715b4a38353ff0bb36.php b/runtime/store/temp/b309110cddd7c2715b4a38353ff0bb36.php deleted file mode 100755 index 8307d5a..0000000 --- a/runtime/store/temp/b309110cddd7c2715b4a38353ff0bb36.php +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    -
    页面链接
    -
    - -
    -
    -
    -
    -
    - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/b7355a86bf291b1b080d4bff48d89329.php b/runtime/store/temp/b7355a86bf291b1b080d4bff48d89329.php deleted file mode 100755 index b4b6c24..0000000 --- a/runtime/store/temp/b7355a86bf291b1b080d4bff48d89329.php +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - 腾讯地图开放API - 轻快小巧,简单易用! - - - - - - - - - -
    -
    -
    -
    当前坐标:
    - -
    当前地址:
    - -
    -
    -
    -
    -
    - - 当前缩放等级:15 -
    -
    -
    -
    -
    -
    -
    - - - diff --git a/runtime/store/temp/c496503fb310b9f0807d3690b9becaa7.php b/runtime/store/temp/c496503fb310b9f0807d3690b9becaa7.php deleted file mode 100755 index dcb2b18..0000000 --- a/runtime/store/temp/c496503fb310b9f0807d3690b9becaa7.php +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    -
    商品列表 -
    isEmpty()): foreach($list as $item): ?>
    编号 图片 名称 分类 销量 库存 规格 状态 排序 时间 操作
    商品图片

    暂无记录
    render(); ?>
    总记录:total(); ?>
    -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/c778416e005d01626bafe09f7eec06d2.php b/runtime/store/temp/c778416e005d01626bafe09f7eec06d2.php deleted file mode 100755 index e52f438..0000000 --- a/runtime/store/temp/c778416e005d01626bafe09f7eec06d2.php +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    -
    会员卡设置
    开通会员卡是否要购买,单位元,设置0则不需要支付费用。
    {{model.vip[index].name}}设置
    尺寸650x300像素以上,大小2M以下
    设置该等级所需要的成长值,消费1元=1积分
    取值10-100,设置100无折扣,设置85为85折
    {{item.name}}
    - - - - - - - - - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/ca970d4ab4bd1237b6f93eb72cba4306.php b/runtime/store/temp/ca970d4ab4bd1237b6f93eb72cba4306.php deleted file mode 100755 index b9ed009..0000000 --- a/runtime/store/temp/ca970d4ab4bd1237b6f93eb72cba4306.php +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    商品分类 -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    分类ID分类名称分类排序添加时间操作
    - -
    暂无记录
    -
    -
    -
    -
    -
    -
    - - - - - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/d6e8468d5e2899d8e0a2a06666a55b1e.php b/runtime/store/temp/d6e8468d5e2899d8e0a2a06666a55b1e.php deleted file mode 100755 index ecf8927..0000000 --- a/runtime/store/temp/d6e8468d5e2899d8e0a2a06666a55b1e.php +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - -
    - -
    - -
    - -
    -
    - -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - -
    - -
    -
    - -
    - -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - isEmpty()): foreach($list as $order): ?> - - - - - - - - - - - - - - - - - - - - - - - - -
    商品信息单价/数量实付款买家交易状态操作
    - - # 堂食 # - - 取餐号: - - 餐桌: - - 起菜时间: - - # 外卖 # - 取餐号: - 外送时间: - - # 外带 # - 取餐号: - 取餐时间: - - # 外带 # - 取餐号: - 外带时间: - - 门店: - 来源: - 订单号: - 下单时间: -
    -
    - -
    -
    -

    - -
    -
    -

    ×

    - -

    退 ×

    - -
    -

    - - 0): ?> - - 0): ?> - - -

    退款:-¥

    - -
    -

    - -
    -

    付款状态: - - -

    -

    接单状态: - - -

    -

    配送状态: - - -

    -

    收货状态: - - -

    -

    订单状态: - - - -

    -
    -
    - - 重打订单 - - 订单详情 - 10 AND $order['shop_status']['value'] == 10 AND $order['order_status']['value'] == 10): ?> - - 确认接单 - - - - - - 指派骑手 - - - 骑手到店 - - - 外卖配送 - - - 外卖送达 - - - 确认收款 - - - 确认退款 - -
    -
    暂无记录
    -
    -
    -
    render(); ?>
    -
    -
    总记录:total(); ?>
    -
    -
    -
    -
    -
    -
    -
    - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/d7390d1714e1d942ac842975d838ebd7.php b/runtime/store/temp/d7390d1714e1d942ac842975d838ebd7.php deleted file mode 100755 index c61fa7d..0000000 --- a/runtime/store/temp/d7390d1714e1d942ac842975d838ebd7.php +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    -
    -
    -
    -
    -
    -
    订桌设置
    -
    -
    -
    -
    - -
    - - -
    -
    -
    - -
    - - -
    -
    -
    - -
    - - 单位天,设置0只可当天,设置5,则5天内都可预约。 -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/f2a615aee8ef64e5e71245bee61efdcc.php b/runtime/store/temp/f2a615aee8ef64e5e71245bee61efdcc.php deleted file mode 100755 index f0980f7..0000000 --- a/runtime/store/temp/f2a615aee8ef64e5e71245bee61efdcc.php +++ /dev/null @@ -1,618 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - - -
    -
    -
    -
    -
    -
    编辑门店
    -
    -
    -
    -
    -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    - - - -
    -
    -
    -
    -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - - 不用填写省、市、区/县 -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    -
    -
    - -
    - - - -
    -
    -
    - -
    - - - -
    - 自动适配:根据用户是否扫桌码确定是否为扫码下单或排号下单 -
    -
    -
    -
    - -
    - - -
    -
    -
    - -
    - - -
    - 作用于堂食扫码点单 -
    -
    -
    -
    - -
    - - 就餐人数开启有效,单位元。按照每一人收取费用,0=不收取 -
    -
    -
    - -
    - - -
    - 用户下单后是否自动接受订单 -
    -
    -
    -
    - -
    - - -
    -
    -
    - -
    - - - - -
    - 选择外卖配送第三方服务商,外卖订单有效 -
    -
    -
    -
    - -
    - - 使用顺丰配送必须配置该项 -
    -
    -
    - -
    - - 使用达达配送必须配置该项 -
    -
    -
    - -
    - - 使用码科配送必须配置该项 -
    -
    -
    -
    -
    - -
    - - -
    -
    -
    - -
    - - 数字越小越靠前 -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/f2d764740df911d8d11f8c0d29ea314f.php b/runtime/store/temp/f2d764740df911d8d11f8c0d29ea314f.php deleted file mode 100755 index 3f4a178..0000000 --- a/runtime/store/temp/f2d764740df911d8d11f8c0d29ea314f.php +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    -
    用户中心设置
    编号 图标 标题 链接 排序 操作
    {{index+1}} 菜单图标 {{item.title}} {{item.path}} {{item.sort}}
    - - - - - - - - - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/store/temp/f5a702ff70f080324a5f05ce3e1cc418.php b/runtime/store/temp/f5a702ff70f080324a5f05ce3e1cc418.php deleted file mode 100755 index c07a6de..0000000 --- a/runtime/store/temp/f5a702ff70f080324a5f05ce3e1cc418.php +++ /dev/null @@ -1,470 +0,0 @@ - - - - - - - <?php echo htmlentities($app_name); ?>管理后台 - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    - -
    -
    -
    - - - -
    - -
    - -
    -
    -
    -
    -
    门店统计
    - -
    - -
    -
    - -
    -
    -
    - -
    -
    -
    -
    -
    商品总量
    -
    -
    -
    当前商品总数量
    - -
    -
    -
    -
    -
    -
    用户总量
    -
    -
    -
    当前用户总数量
    - -
    -
    -
    -
    -
    -
    订单总量
    -
    -
    -
    付款订单总数量
    - -
    -
    -
    -
    -
    -
    评价总量
    -
    -
    -
    订单评价总数量
    - -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    待处理统计
    -
    -
    -
    -
    -
    -
    待退款数量
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    订单统计
    -
    -
    -
    -
    -
    -
    今日堂食订单数量
    -
    -
    - 昨日:
    -
    本月堂食订单数量
    -
    -
    - 上月:
    -
    -
    -
    -
    -
    -
    -
    今日自取订单数量
    -
    -
    - 昨日:
    -
    本月自取订单数量
    -
    -
    - 上月:
    -
    -
    -
    -
    -
    -
    -
    今日外卖订单数量
    -
    -
    - 昨日:
    -
    本月外卖订单数量
    -
    -
    - 上月:
    -
    -
    -
    -
    -
    -
    -
    今日退单数量
    -
    -
    - 昨日:
    -
    本月退单数量
    -
    -
    - 上月:
    -
    -
    -
    -
    -
    -
    -
    今日预约订桌数量
    -
    -
    - 昨日:
    -
    本月预约订桌数量
    -
    -
    - 上月:
    -
    -
    -
    -
    -
    -
    交易统计
    -
    -
    -
    -
    -
    -
    今日订单金额
    -
    -
    - 昨日:
    -
    本月订单金额
    -
    -
    - 上月:
    -
    -
    -
    -
    -
    -
    -
    今日退款金额
    -
    -
    - 昨日:
    -
    本月退款金额
    -
    -
    - 上月:
    -
    -
    -
    -
    -
    -
    -
    今日优惠金额
    -
    -
    - 昨日:
    -
    本月优惠金额
    -
    -
    - 上月:
    -
    -
    -
    -
    -
    -
    -
    今日充值金额
    -
    -
    - 昨日:
    -
    本月充值金额
    -
    -
    - 上月:
    -
    -
    -
    -
    -
    -
    -
    今日赠送金额
    -
    -
    - 昨日:
    -
    本月赠送金额
    -
    -
    - 上月:
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    近七日走势
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -   版权所有 -
    -
    -
    -
    - - - -
    - - -
    - - - - - - - - - - diff --git a/runtime/user/log/202311/21_error.log b/runtime/user/log/202311/21_error.log deleted file mode 100755 index 6e759b1..0000000 --- a/runtime/user/log/202311/21_error.log +++ /dev/null @@ -1,2 +0,0 @@ -[2023-11-21T18:41:05+08:00][error] [8]Trying to access array offset on value of type null -[2023-11-21T18:45:54+08:00][error] [8]Trying to access array offset on value of type null diff --git a/runtime/user/temp/2d3218e5f4e26e3b8b658949082baf1f.php b/runtime/user/temp/2d3218e5f4e26e3b8b658949082baf1f.php deleted file mode 100755 index be8ae55..0000000 --- a/runtime/user/temp/2d3218e5f4e26e3b8b658949082baf1f.php +++ /dev/null @@ -1,14 +0,0 @@ - - 用户中心 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    Welcome To HemaPHP System
    -
    -

    用户中心

    -
    -
    -
    -
    -
    \ No newline at end of file diff --git a/runtime/user/temp/7ed378d2e688fc3af98e70c4fc2797ba.php b/runtime/user/temp/7ed378d2e688fc3af98e70c4fc2797ba.php deleted file mode 100755 index 94d5e23..0000000 --- a/runtime/user/temp/7ed378d2e688fc3af98e70c4fc2797ba.php +++ /dev/null @@ -1,67 +0,0 @@ - - 用户中心 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    认证申请列表
    -
    -
    -
    - - - - - - - - - - - - - isEmpty()): foreach($list as $item): ?> - - - - - - - - - - - - - - -
    申请编号认证类型认证费用审核状态创建时间操作
    -

    -
    - - - - - - - - - -
    暂无记录
    -
    -
    -
    render(); ?>
    -
    -
    总记录:total(); ?>
    -
    -
    -
    -
    -
    -
    -
    -
    \ No newline at end of file diff --git a/runtime/user/temp/7eddf9dad1c49a6d7f1c63d22923ff77.php b/runtime/user/temp/7eddf9dad1c49a6d7f1c63d22923ff77.php deleted file mode 100755 index aedea84..0000000 --- a/runtime/user/temp/7eddf9dad1c49a6d7f1c63d22923ff77.php +++ /dev/null @@ -1,268 +0,0 @@ - - 用户中心 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    账号信息
    -
    -
    -
    -
    - -
    -
    - - 修改 -
    -
    -
    -
    -
    -
    - -
    -
    - 未认证 -
    -
    -
    -
    -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    登录方式
    -
    -
    -
    -
    - -
    - -
    -
    -
    -
    - -
    - -
    -
    - - 未关联 - - - - -
    -
    -
    - -
    -
    - -
    - -
    -
    - - 未关联 - - - - -
    -
    -
    - -
    -
    -
    -
    -
    -
    - - - - -
    \ No newline at end of file diff --git a/runtime/user/temp/874e2d7a5be2959b9dc4ef7ce6faa47b.php b/runtime/user/temp/874e2d7a5be2959b9dc4ef7ce6faa47b.php deleted file mode 100755 index 813b5df..0000000 --- a/runtime/user/temp/874e2d7a5be2959b9dc4ef7ce6faa47b.php +++ /dev/null @@ -1,179 +0,0 @@ - - 用户中心 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    小程序管理
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - - - - - - - - - - - - - - - - isEmpty()): foreach($list as $index => $item): ?> - - - - - - - - - - - - - - - - - -
    Applet_Id图标名称模板上线平台小程序码到期时间创建时间管理操作
    - 小程序图片 - -

    -
    - 0): ?> - - - - - - - - - - - - - - - - - - - - - - - 0): ?> - - -- - - - -
    暂无记录
    -
    -
    -
    render(); ?>
    -
    -
    总记录:total(); ?>
    -
    -
    -
    -
    -
    -
    -
    - -
    \ No newline at end of file diff --git a/runtime/user/temp/93ed04fe573c38439d4a42fb7d368b2f.php b/runtime/user/temp/93ed04fe573c38439d4a42fb7d368b2f.php deleted file mode 100755 index f5e14ab..0000000 --- a/runtime/user/temp/93ed04fe573c38439d4a42fb7d368b2f.php +++ /dev/null @@ -1,155 +0,0 @@ - - 用户中心 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    -
    -
    -
    创建小程序管理端
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    - - -
    - - 单门店:1个小程序小程序仅可1个店面使用
    - 多门店:(连锁经营)1个小程序小程序可配置N个店面使用 -
    -
    -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - - - - - - -
    -
    -
    - -
    - ¥{{list[selected-1].buy_single[year]}}元 - ¥{{list[selected-1].buy_many[year]}}元 -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -
    \ No newline at end of file diff --git a/runtime/user/temp/afec97ae6c4cbf0aeb5fe21866576881.php b/runtime/user/temp/afec97ae6c4cbf0aeb5fe21866576881.php deleted file mode 100755 index 6075fee..0000000 --- a/runtime/user/temp/afec97ae6c4cbf0aeb5fe21866576881.php +++ /dev/null @@ -1,90 +0,0 @@ - - 用户中心 - <?php echo htmlentities($web['name']); ?>
    -
    -
    -
    -
    -
    -
    我的钱包
    -
    -
    -
    - -
    -
    -
    - -
    - -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - - -
    \ No newline at end of file