新增命令行插件管理的uid和token参数

修复后台更新内容过长导致无法操作的BUG
修复后台插件管理查看插件信息错误的BUG
修复注册时验证码判断错误的BUG
移除User.php控制器中的third方法
pull/50/head
Karson 2018-03-10 21:08:23 +08:00
parent 45b84424e8
commit 97ee22dde6
6 changed files with 21 additions and 63 deletions

View File

@ -24,6 +24,8 @@ class Addon extends Command
->addOption('action', 'c', Option::VALUE_REQUIRED, 'action(create/enable/disable/install/uninstall/refresh/upgrade/package)', 'create') ->addOption('action', 'c', Option::VALUE_REQUIRED, 'action(create/enable/disable/install/uninstall/refresh/upgrade/package)', 'create')
->addOption('force', 'f', Option::VALUE_OPTIONAL, 'force override', null) ->addOption('force', 'f', Option::VALUE_OPTIONAL, 'force override', null)
->addOption('release', 'r', Option::VALUE_OPTIONAL, 'addon release version', null) ->addOption('release', 'r', Option::VALUE_OPTIONAL, 'addon release version', null)
->addOption('uid', 'u', Option::VALUE_OPTIONAL, 'fastadmin uid', null)
->addOption('token', 't', Option::VALUE_OPTIONAL, 'fastadmin token', null)
->setDescription('Addon manager'); ->setDescription('Addon manager');
} }
@ -35,6 +37,10 @@ class Addon extends Command
$force = $input->getOption('force'); $force = $input->getOption('force');
//版本 //版本
$release = $input->getOption('release') ?: ''; $release = $input->getOption('release') ?: '';
//uid
$uid = $input->getOption('uid') ?: '';
//token
$token = $input->getOption('token') ?: '';
include dirname(__DIR__) . DS . 'common.php'; include dirname(__DIR__) . DS . 'common.php';
@ -171,7 +177,7 @@ class Addon extends Command
{ {
throw new Exception("Operation is aborted!"); throw new Exception("Operation is aborted!");
} }
Service::install($name, 1, ['version' => $release]); Service::install($name, 1, ['version' => $release, 'uid' => $uid, 'token' => $token]);
} }
catch (Exception $e) catch (Exception $e)
{ {
@ -222,7 +228,7 @@ class Addon extends Command
$output->info("Refresh Successed!"); $output->info("Refresh Successed!");
break; break;
case 'upgrade': case 'upgrade':
Service::upgrade($name, ['version' => $release]); Service::upgrade($name, ['version' => $release, 'uid' => $uid, 'token' => $token]);
$output->info("Upgrade Successed!"); $output->info("Upgrade Successed!");
break; break;
case 'package': case 'package':

View File

@ -212,8 +212,8 @@
<span class="fa fa-caret-down"></span> <span class="fa fa-caret-down"></span>
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<% for(var i=0;i< item.releaselist.length;i++){ %> <% for(var j=0;j< item.releaselist.length;j++){ %>
<li><a href="javascript:;" class="btn-install" data-type="<%=item.price<=0?'free':'price';%>" data-donateimage="<%=item.donateimage%>" data-version="<%=item.releaselist[i].version%>"><%=item.releaselist[i].version%></a></li> <li><a href="javascript:;" class="btn-install" data-type="<%=item.price<=0?'free':'price';%>" data-donateimage="<%=item.donateimage%>" data-version="<%=item.releaselist[j].version%>"><%=item.releaselist[j].version%></a></li>
<% } %> <% } %>
</ul> </ul>
</span> </span>
@ -244,8 +244,8 @@
<span class="fa fa-caret-down"></span> <span class="fa fa-caret-down"></span>
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<% for(var i=0;i< item.releaselist.length;i++){ %> <% for(var j=0;j< item.releaselist.length;j++){ %>
<li><a href="javascript:;" class="btn-upgrade" data-version="<%=item.releaselist[i].version%>"><%=item.releaselist[i].version%></a></li> <li><a href="javascript:;" class="btn-upgrade" data-version="<%=item.releaselist[j].version%>"><%=item.releaselist[j].version%></a></li>
<% } %> <% } %>
</ul> </ul>
</span> </span>

View File

@ -128,7 +128,7 @@ class Auth
* @param string $password 密码 * @param string $password 密码
* @param string $email 邮箱 * @param string $email 邮箱
* @param string $mobile 手机号 * @param string $mobile 手机号
* @param string $extend 扩展参数 * @param array $extend 扩展参数
* @return boolean * @return boolean
*/ */
public function register($username, $password, $email = '', $mobile = '', $extend = []) public function register($username, $password, $email = '', $mobile = '', $extend = [])
@ -224,7 +224,7 @@ class Auth
* *
* @param string $account 账号,用户名、邮箱、手机号 * @param string $account 账号,用户名、邮箱、手机号
* @param string $password 密码 * @param string $password 密码
* @return array * @return boolean
*/ */
public function login($account, $password) public function login($account, $password)
{ {
@ -256,7 +256,7 @@ class Auth
/** /**
* 注销 * 注销
* *
* @return bool * @return boolean
*/ */
public function logout() public function logout()
{ {
@ -476,6 +476,7 @@ class Auth
/** /**
* 删除一个指定会员 * 删除一个指定会员
* @param int $user_id 会员ID * @param int $user_id 会员ID
* @return boolean
*/ */
public function delete($user_id) public function delete($user_id)
{ {
@ -528,6 +529,7 @@ class Auth
* 检测当前控制器和方法是否匹配传递的数组 * 检测当前控制器和方法是否匹配传递的数组
* *
* @param array $arr 需要验证权限的数组 * @param array $arr 需要验证权限的数组
* @return boolean
*/ */
public function match($arr = []) public function match($arr = [])
{ {
@ -600,6 +602,7 @@ class Auth
* 设置错误信息 * 设置错误信息
* *
* @param $error 错误信息 * @param $error 错误信息
* @return Auth
*/ */
public function setError($error) public function setError($error)
{ {

View File

@ -203,57 +203,6 @@ class User extends Frontend
$this->success(__('Logout successful') . $synchtml, url('user/index')); $this->success(__('Logout successful') . $synchtml, url('user/index'));
} }
/**
* 第三方登录跳转和回调处理
*/
public function third()
{
$url = url('user/index');
$action = $this->request->param('action');
$platform = $this->request->param('platform');
$config = get_addon_config('third');
if (!$config || !isset($config[$platform]))
{
$this->error(__('Invalid parameters'));
}
foreach ($config as $k => &$v)
{
$v['callback'] = url('user/third', ['action' => 'callback', 'platform' => $k], false, true);
}
unset($v);
$app = new \addons\third\library\Application($config);
if ($action == 'redirect')
{
// 跳转到登录授权页面
$this->redirect($app->{$platform}->getAuthorizeUrl());
}
else if ($action == 'callback')
{
// 授权成功后的回调
$result = $app->{$platform}->getUserInfo();
if ($result)
{
$loginret = \addons\third\library\Service::connect($platform, $result);
if ($loginret)
{
$synchtml = '';
////////////////同步到Ucenter////////////////
if (defined('UC_STATUS') && UC_STATUS)
{
$uc = new \addons\ucenter\library\client\Client();
$synchtml = $uc->uc_user_synlogin($this->auth->id);
}
$this->success(__('Logged in successful') . $synchtml, $url);
}
}
$this->error(__('Operation failed'), $url);
}
else
{
$this->error(__('Invalid parameters'));
}
}
/** /**
* 个人信息 * 个人信息
*/ */

View File

@ -36,7 +36,7 @@
<label class="control-label">{:__('Captcha')}</label> <label class="control-label">{:__('Captcha')}</label>
<div class="controls"> <div class="controls">
<div class="input-group input-group-lg"> <div class="input-group input-group-lg">
<input type="text" name="captcha" class="form-control" placeholder="{:__('Captcha')}" data-rule="required;length(4);integer[+]" style="border-radius: 0;" /> <input type="text" name="captcha" class="form-control" placeholder="{:__('Captcha')}" data-rule="required;length(4)" style="border-radius: 0;" />
<span class="input-group-addon" style="padding:0;border:none;"> <span class="input-group-addon" style="padding:0;border:none;">
<img src="{:captcha_src()}" width="140" height="42" onclick="this.src = '{:captcha_src()}?r=' + Math.random();"/> <img src="{:captcha_src()}" width="140" height="42" onclick="this.src = '{:captcha_src()}?r=' + Math.random();"/>
</span> </span>

View File

@ -90,7 +90,7 @@ define(['jquery', 'bootstrap', 'backend', 'addtabs', 'adminlte', 'form'], functi
if (ret.data && ignoreversion !== ret.data.newversion) { if (ret.data && ignoreversion !== ret.data.newversion) {
Layer.open({ Layer.open({
title: '发现新版本', title: '发现新版本',
area: ["500px", "auto"], maxHeight: 400,
content: '<h5 style="background-color:#f7f7f7; font-size:14px; padding: 10px;">你的版本是:' + ret.data.version + ',新版本:' + ret.data.newversion + '</h5><span class="label label-danger">更新说明</span><br/>' + ret.data.upgradetext, content: '<h5 style="background-color:#f7f7f7; font-size:14px; padding: 10px;">你的版本是:' + ret.data.version + ',新版本:' + ret.data.newversion + '</h5><span class="label label-danger">更新说明</span><br/>' + ret.data.upgradetext,
btn: ['去下载更新', '忽略此次更新', '不再提示'], btn: ['去下载更新', '忽略此次更新', '不再提示'],
btn2: function (index, layero) { btn2: function (index, layero) {