$conf, $time;
$_uid = user_token_get_do();
empty($_uid) and user_token_clear(); // 退出登录
return $_uid;
}
// 用户
function user_token_get_do()
{
global $conf, $time, $ip, $useragent;
$token = param($conf['cookie_pre'] . 'token');
if (empty($token)) return FALSE;
$tokenkey = md5(xn_key());
$s = xn_decrypt($token, $tokenkey);
if (empty($s)) return FALSE;
$arr = explode("\t", $s);
if (count($arr) != 5) return FALSE;
list($_ip, $_time, $_uid, $_pwd, $ua_md5) = $arr;
if (array_value($conf, 'login_ip') && $ip != $_ip) return FALSE;
if (array_value($conf, 'login_ua') && md5($useragent) != $ua_md5) return FALSE;
$_user = user_read($_uid);
if (empty($_user)) return FALSE;
if (array_value($conf, 'login_only') && $_user['login_date'] != $_time) return FALSE;
// 密码是否被修改
if (md5($_user['password']) != $_pwd) return FALSE;
return $_uid;
}
// 设置 token,防止 sid 过期后被删除
function user_token_set($uid)
{
global $conf, $time;
if (empty($uid)) return '';
$token = user_token_gen($uid);
setcookie($conf['cookie_pre'] . 'token', $token, $time + 86400000, $conf['cookie_path'], $conf['cookie_domain'], '', TRUE);
return $token;
}
function user_token_clear()
{
global $conf, $time;
setcookie($conf['cookie_pre'] . 'token', '', $time - 8640000, $conf['cookie_path'], $conf['cookie_domain'], '', TRUE);
}
function user_token_gen($uid)
{
global $conf, $time, $ip, $useragent;
$key = 'user_token' . $uid;
static $cache = array();
if (isset($cache[$key])) return $cache[$key];
$user = user_read($uid);
$pwd = md5($user['password']);
$ua_md5 = md5($useragent);
$tokenkey = md5(xn_key());
$cache[$key] = xn_encrypt("$ip $time $uid $pwd $ua_md5", $tokenkey);
return $cache[$key];
}
// 前台登录验证
function user_login_check()
{
global $user;
empty($user) and http_location(url('user-login'));
}
// 获取用户来路
function user_http_referer()
{
global $conf;
$referer = param('referer'); // 优先从参数获取 | GET is priority
empty($referer) and $referer = array_value($_SERVER, 'HTTP_REFERER', '');
$referer = str_replace(array('\"', '"', '<', '>', ' ', '*', "\t", "\r", "\n"), '', $referer); // 干掉特殊字符 strip special chars
if (
!preg_match('#^(http|https)://[\w\-=/\.]+/[\w\-=.%\#?]*$#is', $referer)
|| FALSE !== strpos($referer, url('user-login'))
|| FALSE !== strpos($referer, url('user-logout'))
|| FALSE !== strpos($referer, url('user-create'))
|| FALSE !== strpos($referer, url('user-setpw'))
|| FALSE !== strpos($referer, url('user-resetpw_complete'))
) {
$referer = $conf['path'];
}
return $referer;
}
function user_auth_check($token)
{
global $time, $ip;
$auth = param(2);
$s = xn_decrypt($auth);
empty($s) and message(-1, lang('decrypt_failed'));
$arr = explode('-', $s);
count($arr) != 4 and message(-1, lang('encrypt_failed'));
list($_ip, $_time, $_uid, $_pwd) = $arr;
$_user = user_read($_uid);
empty($_user) and message(-1, lang('user_not_exists'));
$time - $_time > 3600 and message(-1, lang('link_has_expired'));
return $_user;
}
?>
目前最流畅的android手机,最流畅安卓手机排名!第一堪比iOS 跟手度极佳-阿南达文事网
目前最流畅的android手机,最流畅安卓手机排名!第一堪比iOS 跟手度极佳
编程日记20
更新时间:2025-05-10 18:49:17
目前最流畅的android手机,最流畅安卓手机排名!第一堪比iOS 跟手度极佳
日前,鲁大师发布2020年度手机报告。在流畅度排行榜中,小米10至尊纪念版以202.72分的成绩排名第一,成为2020年度“最流畅手机”。
Redmi K30S至尊纪念版以201.69分的得分位列第二,OPPO Find X2 Pro第三,成绩为198.88分。
此外,努比亚红魔5S、OPPO Ace2、华为Mate 40 Pro、努比亚红魔5G、荣耀30 Pro+、华为P40 Pro+、iQOO Neo3上榜前十。
鲁大师表示,小米10至尊纪念版手机是本次流畅榜的冠军,均分高达202.72分,它也是首款均分超过200分的机型。
该机预装的是小米MIUI12系统,官方称从底层技术开始重构,搭配120Hz的高刷屏幕和LPDDR5+UFS3.1内存组合,动画流畅、过渡自然、出色的交互设计、跟手度极佳,流畅度堪比iOS。
排在第二的是与小米一脉相承的Redmi K30S至尊纪念版,表现同样不俗。第三名OPPO Find X2 Pro还曾经是2020年Q1季度的流畅榜冠军,从设计、功能、安全、场景应用等多个方面进行了系统性的升级,配合120Hz屏幕。
通常我们所说的某款手机好,除了要有过硬的配置外,还要看厂商对UI的优化,整体配置、屏幕刷新率也会影响到流畅度。
纵观年度流畅榜TOP10,均为拥有高刷屏幕的产品。比较意外的是,华为最新旗舰华为Mate40 Pro+和华为P40 Pro+排名并不理想,华为一直没能在自己旗舰上用超过90Hz的屏幕,这一点还是比较吃亏。
虽然高刷新率肉眼不是那么好分辨,但是对手机的流畅度提升有很大助力。
以下为详细榜单:
本文发布于:2023-12-06,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:目前最流畅的android手机最流畅安卓手机排名!第一堪比iOS 跟手度极佳
发布评论