request->domain(true) . '/api/wxserver/redirect'; $jumUrl = $obj->jumpH5Url($url); $savePath = root_path() . "public/wxserve"; !is_dir($savePath) && mkdir($savePath, 0755, true); $savePath .= '/auth_qrcode.png'; QRcode::png($jumUrl, $savePath, 'L', 8, 1); return $this->renderSuccess(['img_url' => $this->request->domain(true) . '/wxserve/auth_qrcode.png?time=' . time()]); } /** * @notes:授权列表 * @return Json * @throws DbException * @author: wanghousheng */ public function authList(): Json { $store_ids = []; $where = []; $store_id = intval($this->request->get('store_id')); if ($store_id) { $where[] = ['store_id', '=', $store_id]; } $nick_name = $this->request->get('nick_name'); if ($nick_name) { $where[] = ['nick_name', 'like', "%$nick_name%"]; } $appid = $this->request->get('appid'); if ($appid) { $where[] = ['nick_name', '=', "%$appid%"]; } $result = Db::table('yoshop_wxserver_account') ->where($where) ->paginate(15); $list = $result->items(); $total = $result->total(); if ($total) { foreach ($list as &$item) { $store_ids[] = $item['store_id']; $item['create_time'] = date('Y-m-d H:i:s', $item['create_time']); if ($item['exp_info']) { $item['exp_info'] = json_decode($item['exp_info'], true); } if ($item['release_info']) { $item['release_info'] = json_decode($item['release_info'], true); } if (!empty($item['experience_code'])) { $item['experience_code'] = $this->request->domain(true) . $item['experience_code'] . '?time=' . time(); } unset($item['access_token']); unset($item['refresh_token']); unset($item['signature']); } $store_list = Db::table('yoshop_store') ->whereIn('store_id', $store_ids) ->column('store_name', 'store_id'); foreach ($list as &$item) { $item['store_name'] = $store_list[$item['store_id']] ?? ''; } } return $this->renderSuccess(['list' => $list, 'total' => $total]); } /** * @notes:草稿箱列表 * @return Json * @author: wanghousheng */ public function templatedraftlist(): Json { $type = intval($this->request->get('type', 0)); $obj = new Server(); $list = $obj->getTemplateDraftList($type); return $this->renderSuccess($list); } /** * @notes:添加草稿到模板中 * @return Json * @author: wanghousheng */ public function addTotemplate(): Json { $draft_id = $this->request->get('draft_id'); if ($draft_id) { $obj = new Server(); $res = $obj->addTotemplate($draft_id); if ($res) { return $this->renderSuccess('success'); } } return $this->renderError('操作失败'); } /** * @notes:获取模板列表 * @return Json * @author: wanghousheng */ public function templatelist(): Json { $type = intval($this->request->get('type', 0)); $obj = new Server(); $list = $obj->getTemplatelist($type); return $this->renderSuccess($list); } /** * @notes:删除模板 * @return Json * @author: wanghousheng */ public function delTemplatelist(): Json { $template_id = $this->request->get('template_id'); if ($template_id) { $obj = new Server(); $res = $obj->deleTetemplate($template_id); if ($res) { return $this->renderSuccess('success'); } } return $this->renderError('操作失败'); } /** * @notes:提交体验版 * @return Json * @throws BaseException * @author: wanghousheng */ public function commit(): Json { $appid = $this->request->get('appid'); $template_id = $this->request->get('template_id'); if ($template_id && $appid) { $obj = new Server(); $res = $obj->commit($appid, $template_id); if ($res) { return $this->renderSuccess('success'); } } return $this->renderError('操作失败'); } /** * @notes:获取版本信息 * @return Json * @author: wanghousheng */ public function getVersion(): Json { $appid = $this->request->get('appid'); if ($appid) { $obj = new Server(); if ($obj->getVersioninfo()) { return $this->renderSuccess('success'); } } return $this->renderError('操作失败'); } }