| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?php
- namespace app\cmgadm\controller\general;
- use app\cmgadm\model\Admin;
- use app\common\controller\Backend;
- use app\common\model\Config;
- /**
- * 谷歌验证码
- *
- * @icon fa fa-user
- */
- class Googlecode extends Backend
- {
- /**
- * @return string|\think\response\Json
- * @throws \think\Exception
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\ModelNotFoundException
- * @throws \think\exception\DbException
- */
- public function index(){
- $google = new \PHPGangsta_GoogleAuthenticator();
- $admin = Admin::where(['id'=> $this->auth->id])->field('id,username,nickname,google_key,google_bind')->find();
- $googleKey = isset($admin['google_key'])? $admin['google_key'] : '';
- if(empty($googleKey)){
- $secret = $google->createSecret();
- Admin::where(['id'=> $this->auth->id])->update(['google_key'=> $secret,'updatetime'=>time()]);
- }
- $config = Config::getConfigByGroup('basic');
- $siteName = isset($config['name'])? $config['name']['value'] : '茶马古道';
- $qrcode = $google->getQRCodeGoogleUrl($admin['username'],$googleKey,$siteName);
- $this->view->assign('admin', $admin);
- $this->view->assign('qrcode', $qrcode);
- return $this->view->fetch();
- }
- /**
- * 绑定
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\ModelNotFoundException
- * @throws \think\exception\DbException
- */
- public function bind()
- {
- if(Admin::where(['id'=> $this->auth->id])->update(['google_bind'=>1,'updatetime'=>time()])){
- $this->success('绑定成功');
- }else{
- $this->error('绑定失败');
- }
- }
- }
|