model = new \app\admin\model\Trainactive; $this->view->assign("statusList", $this->model->getStatusList()); $this->view->assign("userauthStatusList", $this->model->getUserauthStatusList()); } /** * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 */ /** * 查看 */ public function index() { //当前是否为关联查询 $this->relationSearch = true; //设置过滤方法 $this->request->filter(['strip_tags', 'trim']); if ($this->request->isAjax()) { //如果发送的来源是Selectpage,则转发到Selectpage if ($this->request->request('keyField')) { return $this->selectpage(); } list($where, $sort, $order, $offset, $limit) = $this->buildparams(); $list = $this->model ->with(['cate','level','type']) ->where($where) ->order($sort, $order) ->paginate($limit); foreach ($list as $row) { $row->getRelation('cate')->visible(['name']); $row->getRelation('level')->visible(['name']); $row->getRelation('type')->visible(['name']); } $result = array("total" => $list->total(), "rows" => $list->items()); return json($result); } return $this->view->fetch(); } /** * 二维码 */ public function qrcode(){ $id = input('id'); $info = Db::name('train_active')->where('id',$id)->find(); //二维码 $sign_data = [ 'type' => 'sign', 'name' => $info['name'], 'id' => $info['id'], ]; $pingjia_data = [ 'type' => 'pingjia', 'name' => $info['name'], 'id' => $info['id'], ]; $info['sign_qrcode'] = $this->introimage(json_encode($sign_data)); $info['pingjia_qrcode'] = $this->introimage(json_encode($pingjia_data)); $this->assign('row',$info); return $this->view->fetch(); } //生成邀请码二维码图片 private function introimage($data) { $params['text'] = $data; $qrcode_service = \addons\qrcode\library\Service::qrcode($params); $qrcodePath = ROOT_PATH . 'public/uploads/trainqrcode/'.date('Ymd'); if (!is_dir($qrcodePath)) { @mkdir($qrcodePath); } $filename = md5($data) . '.png'; if (is_really_writable($qrcodePath)) { $filePath = $qrcodePath .'/'. $filename; $qrcode_service->writeFile($filePath); } return request()->domain().'/uploads/trainqrcode/'.date('Ymd') .'/'. $filename; } }