接着后面的第一篇,往下面写,这个是国内外多语言版盲盒网站零碎开发建设 第二篇,间接进入正题了。
退出登录
public function logout()
{ //退出本站 $this->auth->logout(); $this->success(__('Logout successful'), url('user/index')); }
/**
* 个人信息
*/
public function profile()
{
$this->view->assign(‘title’, __(‘Profile’));
return $this->view->fetch();
}
批改明码
public function changepwd()
{ if ($this->request->isPost()) { $oldpassword = $this->request->post("oldpassword"); $newpassword = $this->request->post("newpassword"); $renewpassword = $this->request->post("renewpassword"); $token = $this->request->post('__token__'); $rule = [ 'oldpassword' => 'require|length:6,30', 'newpassword' => 'require|length:6,30', 'renewpassword' => 'require|length:6,30|confirm:newpassword', '__token__' => 'token', ]; $msg = [ 'renewpassword.confirm' => __('Password and confirm password don\'t match') ]; $data = [ 'oldpassword' => $oldpassword, 'newpassword' => $newpassword, 'renewpassword' => $renewpassword, '__token__' => $token, ]; $field = [ 'oldpassword' => __('Old password'), 'newpassword' => __('New password'), 'renewpassword' => __('Renew password') ]; $validate = new Validate($rule, $msg, $field); $result = $validate->check($data); if (!$result) { $this->error(__($validate->getError()), null, ['token' => $this->request->token()]); return false; } $ret = $this->auth->changepwd($newpassword, $oldpassword); if ($ret) { $this->success(__('Reset password successful'), url('user/login')); } else { $this->error($this->auth->getError(), null, ['token' => $this->request->token()]); } } $this->view->assign('title', __('Change password')); return $this->view->fetch(); }
设置过滤办法
public function attachment()
{ //设置过滤办法 $this->request->filter(['strip_tags']); if ($this->request->isAjax()) { $mimetypeQuery = []; $where = []; $filter = $this->request->request('filter'); $filterArr = (array)json_decode($filter, true); if (isset($filterArr['mimetype']) && preg_match("/[]\,|\*]/", $filterArr['mimetype'])) { $this->request->get(['filter' => json_encode(array_diff_key($filterArr, ['mimetype' => '']))]); $mimetypeQuery = function ($query) use ($filterArr) { $mimetypeArr = explode(',', $filterArr['mimetype']); foreach ($mimetypeArr as $index => $item) { if (stripos($item, "/*") !== false) { $query->whereOr('mimetype', 'like', str_replace("/*", "/", $item) . '%'); } else { $query->whereOr('mimetype', 'like', '%' . $item . '%'); } } }; } elseif (isset($filterArr['mimetype'])) { $where['mimetype'] = ['like', '%' . $filterArr['mimetype'] . '%']; } if (isset($filterArr['filename'])) { $where['filename'] = ['like', '%' . $filterArr['filename'] . '%']; } if (isset($filterArr['createtime'])) { $timeArr = explode(' - ', $filterArr['createtime']); $where['createtime'] = ['between', [strtotime($timeArr[0]), strtotime($timeArr[1])]]; } $model = new Attachment(); $offset = $this->request->get("offset", 0); $limit = $this->request->get("limit", 0); $total = $model ->where($where) ->where($mimetypeQuery) ->where('user_id', $this->auth->id) ->order("id", "DESC") ->count(); $list = $model ->where($where) ->where($mimetypeQuery) ->where('user_id', $this->auth->id) ->order("id", "DESC") ->limit($offset, $limit) ->select(); $cdnurl = preg_replace("/\/(\w+)\.php$/i", '', $this->request->root()); foreach ($list as $k => &$v) { $v['fullurl'] = ($v['storage'] == 'local' ? $cdnurl : $this->view->config['upload']['cdnurl']) . $v['url']; } unset($v); $result = array("total" => $total, "rows" => $list); return json($result); } $this->view->assign("mimetypeList", \app\common\model\Attachment::getMimetypeList()); return $this->view->fetch(); }
}
Ajax异步申请接口
class Ajax extends Frontend
{
protected $noNeedLogin = ['lang', 'upload']; protected $noNeedRight = ['*']; protected $layout = '';
加载语言包
public function lang()
{ header('Content-Type: application/javascript'); header("Cache-Control: public"); header("Pragma: cache"); $offset = 30 * 60 * 60 * 24; // 缓存一个月 header("Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"); $controllername = input("controllername"); $this->loadlang($controllername); //强制输入JSON Object $result = jsonp(Lang::get(), 200, [], ['json_encode_param' => JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE]); return $result; }
上传文件
public function upload()
{
return action(‘api/common/upload’);
}
}