正式商业旗舰版Modoer点评系统3.5(Modoer 3.5)手机WEB端加微信公
点评系统一如既往的好用,功能细化到令人发指的地步,值得推荐,本资源不像论坛那样购买会员然后要回复或者积分等级才能下载,下载了未必能用,本资源立即下载即用,减少了论坛的繁琐流程,没有任何限制,不限制任何域名。 正式版更新内容: 手机版变化如下:
点评系统一如既往的好用,功能细化到令人发指的地步,值得推荐,本资源不像论坛那样购买会员然后要回复或者积分等级才能下载,下载了未必能用,本资源立即下载即用,减少了论坛的繁琐流程,没有任何限制,不限制任何域名。
正式版更新内容:
手机版变化如下:
1.在测试版中增加的手机版评论模块推翻进行了全部的重写,重写后的效果参考了一些流行的手机app的ui和流程,使用起来用户体验更好
2.对手机版本的全部css和大多数的javascript代码进行了重构,css代码参考了Bootstrap的部分代码
3.针对小组的回帖功能,增加了图片上传功能
4.比较重要的功能,Modoer的在线充值支付模块在手机web版中增加了支付宝的手机网站支付功能,这样,我们下面就可以开发商城,团购等需要在线支付的功能。
5.对于支付宝手机网站支付功能,我们先坐上了手机在线充值现金的功能
6.主题的相册浏览部分改进为划屏浏览,并增加了评论功能
7.新增加了ajax分页加载插件,很多之前需要进行翻页的列表页面都进行了改进,都实现了ajax无刷新加载下一页内容的效果,也符合手机里查看数据的习惯
8.主题筛选进行了改进,这次终于可以进行三级分类和地区的筛选了。
9.其他一些修改多半都是改进页面的UI效果和使用新开发的js插件,这里就不一一细说了
正式版(20150205):
增加 微信模块商户主题绑定微信公众平台(可设置绑定权限,可单独开关)
增加 微信模块商家自定义指令添加(支持文字和图文类型)
增加 微信模块商家微站引导页(管理导航,轮换图片)
增加 微信模块商家微站引导页模板系统
增加 微信模块微信自定义菜单新类型(扫描,上传图片等新类型)
增加 榜单模块会员组添加榜单权限
增加 榜单模块会员组添加榜单数量限制的权限
增加 主题模块内容页添加到榜单的功能
增加 主题模块自定义字段里单行文本图形化来防采集(显示模版内些{display:modoer:createimg})
增加 会员模块手机web里允许添加支付密码的功能
增加 会员模块Facebook帐号登录绑定功能
增加 点评模块点评内容同步Facebook功能
增加 在线充值模块Paypal提现功能(可自由选择,个人设置里需填写PayPal帐号)
增加 手机Web模块首页菜单管理集成到后台
增加 个人空间模块空间可上传背景图片
重构 微信模块所有代码以支持多用户绑定
改进 Modoer框架代码使用PHP5.3新特性
改进 微信模块内置指令管理
改进 文件(图片)上传功能
改进 后台模板添加模式
增加 后台内容管理加入内联管理功能
增加 新闻模块增加内联功能
增加 个人空间我的文章列表
增加 会员每日登录积分策略
增加 主题模块浏览地图增加搜索功能
增加 系统工具箱增加系统文件夹权限检测
增加 框架内分站类接管当前城市信息读取
改进 分站以及URL解析代码
改进 所有现金支取必须进行双表验证
改进 后台广告列表改进



<?php /** * 通用函数库 * @author moufer<moufer@163.com> * @copyright (C)2001-2007 Moufersoft */ !defined('IN_MUDDER') && exit('Access Denied'); define('MF_INT_KEY', '_int_keyid'); define('MF_INT', 'intval'); define('MF_FLOAT', 'floatval'); define('MF_HTML', '_HTML'); define('MF_TEXT', '_T'); //取得$_GET里的变量 function _get($var, $default = null, $convert_fun='') { if(isset($_GET[$var])) { if($convert_fun) return $convert_fun($_GET[$var]); return $_GET[$var]; } return $default; } //取得$_GET里的变量 function _post($var, $default = null, $convert_fun='') { if(isset($_POST[$var])) { if($convert_fun) return $convert_fun($_POST[$var]); return $_POST[$var]; } return $default; } //取得$_COOKIE里的变量 function _cookie($var, $default = null, $prefix = 1) { global $_G; if($prefix) { return isset($_G['cookie'][$var]) ? $_G['cookie'][$var] : $default; } else { return isset($_COOKIE[$var]) ? $_COOKIE[$var] : $default; } } //取得一个输入变量 function _input($var, $default = null, $convert_fun='', $sx='pg') { $r = $default; $c = strlen($sx); $funs = array('p'=>'_post','g'=>'_get'); for($i=0;$i<$c;$i++) { $x = $sx{$i}; $f = isset($funs[$x]) ? $funs[$x] : ''; if(!$f) continue; $r = $f($var, $default, $convert_fun); if(!empty($r) && $r != $default) return $r; } if(!$r) $r = $default; return $r; } //设置$_POST里的变量 function set_post($var, $value = '') { $_POST[$var] = $value; } //设置$_POST里的变量 function set_get($var, $value = '') { $_GET[$var] = $value; } //设置cookie function set_cookie($var, $value, $life = 0, $prefix = 1) { $life = $life ? _G('timestamp') + $life : 0; $secure = $_SERVER['SERVER_PORT'] == '443' ? 1 : 0; $var = ($prefix ? _G('cookiepre') : '') . $var; return setcookie($var, $value, $life, _G('cookiepath'), _G('cookiedomain'), $secure); } //删除cookie function del_cookie($var, $prefix = 1) { if(is_array($var)) { foreach($var as $val) set_cookie($val, '', -360000, $prefix); } else { set_cookie($var, '', -360000, $prefix); } } // Get Global value function &_G() { global $_G; $max_level = 5; $result = ''; $args_num = func_num_args(); if($args_num > $max_level) return $result; $args = func_get_args(); $val =& $_G; foreach ($args as $v) { if(!isset($val[$v])) return $result; $val =& $val[$v]; } return $val; } /** * 获取公共配置文件夹(APP_ROOT/config/)文件数据 * @static var array $config * @param string $key 支持二维,三维数组查询,如:aa.bbb,表示: 二维数组['aaa']['bbb'];参数为"@all":表示获取指定文件的全部数据; * @param string $config_file_name 需要获取数据的文件(不写.php),默认获取global.php里的 * @return array|null */ function config($key, $module = 'modoer') { static $config = array(); if(!$module) $module = 'modoer'; if(!isset($config[$module])) { $config[$module] = _G('loader')->variable('config', $module); } if($key == '@all') return $config[$module]; if(strpos($key, '.')) { $keys = explode('.', $key); $tmp =& $config[$module]; foreach ($keys as $k) { if(!is_array($tmp) || !isset($tmp[$k])) return null; $tmp =& $tmp[$k]; } return $tmp; } else { if(isset($config[$module][$key])) return $config[$module][$key]; } return null; } //获取一个数字型的数据库主键id值 function _int_keyid($string) { if(is_array($string)) { foreach($string as $key => $val) $string[$key] = _int_keyid($val); return $string; } else { return abs((int)$string); } } //过滤HTML,用于Text function _T($string) { if(is_array($string)) { foreach($string as $key => $val) $string[$key] = _T($val); return $string; } else { $string = is_string($string) ? preg_replace("/&(#[0-9]+|[a-z]+);/i", "&$1;", htmlspecialchars($string, ENT_QUOTES)) : $string; return str_replace($wu, $rp, trim($string)); } } //过滤HTML,用于TextArea function _TA($string) { return preg_replace("/(\r\n|\n\r|\n|\r)/", "\r\n", _T($string)); } //支持HTML格式,过滤可能引起安全问题的HTML标记 function _HTML($string) { $search_arr = array("/(javascript|jscript|js|vbscript|vbs|about):/i","/on(mouse|exit|error|click|dblclick|key|load|unload|change|move|submit|reset|cut|copy|select|start|stop)/i","/<script([^>]*)>/i","/<iframe([^>]*)>/i","/<frame([^>]*)>/i","/<link([^>]*)>/i","/@import/i"); $replace_arr = array("\\1\n:","on\n\\1","<script\\1>","<iframe\\1>","<frame\\1>","<link\\1>","@\nimport"); $string = preg_replace($search_arr, $replace_arr, $string); //$string = str_replace("&#", "&\n#", $string); return $string; } //格式化换行符号 function _NL($string) { return trim(preg_replace("/\s*(\r\n|\n\r|\n|\r)\s*/", "\r\n", $string)); } //把字符串转化为JS的字符变量 function _JStr($string) { return str_replace(array('"', "\r\n", "\n"), array('\"', '', ''), $string); } //把一维数组转换为字符串 function _ArrayToStr($array, $split=',') { if(empty($array)) return ''; if(!is_array($array)) return $array; return implode($split, $array); } //简单加密 function authcode($string, $operation = 'DECODE') { $string = $operation == 'DECODE' ? base64_decode($string) : base64_encode($string); return $string; } //数组格式化 function arrayeval($array, $level = 0) { if(!is_array($array)) { return "'".$array."'"; } if(is_array($array) && function_exists('var_export')) { return var_export($array, true); } $space = ''; for($i = 0; $i <= $level; $i++) { $space .= "\t"; } $evaluate = "array (\n\r"; $comma = $space; if(is_array($array)) { foreach($array as $key => $val) { $key = is_string($key) ? '\''.add_cs_lashes($key).'\'' : $key; $val = !is_array($val) && (!preg_match("/^\-?[0-9]\d*$/", $val) || strlen($val) > 12) ? '\''.add_cs_lashes($val, '\'\\').'\'' : $val; if(is_array($val)) { $evaluate .= "$comma$key => ".arrayeval($val, $level + 1); } else { $evaluate .= "$comma$key => $val"; } $comma = ",\n\r$space"; } } $evaluate .= "\n\r$space)"; return $evaluate; } //以 C 语言风格使用反斜线转义字符串中的字符 function add_cs_lashes($string) { return $string ? addcslashes($string, '\'\\') : ''; } //转换数组里的全部数值 function new_intval($number) { if(is_array($number)) foreach($number as $key => $val) $number[$key] = new_intval($val); else return intval($number); return $number; } //Un-quotes a quoted string function strip_slashes($string, $filter_line=false) { if(is_array($string)) foreach($string as $key => $val) $string[$key] = strip_slashes($val); else $string = is_string($string) ? stripslashes($string) : $string; if($filter_line) $string = str_replace(array("\r\n","\n"),'', $string); return $string; } //过滤SQL function strip_sql($string) { $pattern_arr = array("/ union /i", "/ select /i", "/ update /i", "/ outfile /i", "/ or /i"); $replace_arr = array(' union ', ' select ', ' update ',' outfile ', ' or '); return is_array($string) ? array_map('strip_sql', $string) : preg_replace($pattern_arr, $replace_arr, $string); } //过滤orderby function strip_order($string) { $string = preg_replace('/.?select.+from.+/i', '', $string); $string = preg_replace("/.?delete.+from.+/i", '', $string); $string = preg_replace("/.?update.+set.+/i", '', $string); $string = preg_replace("/.?select.+union.+/i", '', $string); return $string; } //转换浮点数 function cfloat($float) { $num = (float)$float; return $num; } //从开端截取 function trimmed_title($text, $limit=12, $ext='') { if ($limit) { $val = csubstr($text, 0, $limit); return $val[1] ? $val[0].$ext : $val[0]; } else { return $text; } } //截取 function csubstr($text, $start=0, $limit=12) { $charset = _G('charset'); if (function_exists('mb_substr')) { $more = (mb_strlen($text, $charset) > $limit) ? true : false; $text = mb_substr($text, $start, $limit, $charset); return array($text, $more); } elseif (function_exists('iconv_substr')) { $more = (iconv_strlen($text) > $limit) ? true : false; $text = iconv_substr($text, $start, $limit, $charset); return array($text, $more); } elseif (strtolower($charset) == "utf-8") { preg_match_all("/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/", $text, $ar); if(func_num_args() >= 3) { if (count($ar[0])>$limit) { $more = true; $text = join("",array_slice($ar[0],$start,$limit))."..."; } else { $more = false; $text = join("",array_slice($ar[0],$start,$limit)); } } else { $more = false; $text = join("",array_slice($ar[0],$start)); } return array($text, $more); } else { $fStart = 0; $fStart = $fStart * 2; $limit = $limit * 2; $strlen = strlen($text); for ( $i = 0; $i < $strlen; $i++ ) { if ($i >= $fStart && $i < ($fStart + $limit ) ) { if (ord(substr($text, $i, 1)) > 129) $tmpstr .= substr($text, $i, 2); else $tmpstr .= substr($text, $i, 1); } if (ord(substr($text, $i, 1)) > 129 ) $i++; } $more = strlen($tmpstr) < $strlen; return array($tmpstr, $more); } } //计算字符数量,非占用字节 function strlen_ex($str) { $charset = _G('charset'); if(function_exists('mb_strlen')) { return mb_strlen($str, $charset); } elseif(function_exists('iconv_strlen')) { return iconv_strlen($str, $charset); } elseif($charset == 'utf-8') { preg_match_all("/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/", $str, $ar); return count($ar[0]); } else { $len = 0; $strlen = strlen($str); for( $i = 0; $i < $strlen; $i++ ) { $len++; if (ord(substr($str, $i, 1)) > 129 ) $i++; } return $len; } } //截取,按字节数量截取 function substr_ex($text, $start=0, $limit=255) { $charset = _G('charset'); list($s,) = csubstr($text, $start, $limit); $len = strlen($s); if($len <= $limit) return $s; $i = $l =0; $mo = $charset == 'utf-8' ? 3 : 2; $str = ''; while($l < $limit) { $z = floor(($limit - $l) / $mo); !$z && $z = 1; $y = csubstr($s, $i, $z); $i += $z; $l = strlen($str) + strlen($y[0]); if($l <= $limit) { $str .= $y[0]; } else { break; } } return $str; } //转换unix时间戳 function newdate($date, $format='Y-m-d H:i', $dnum=2, $dunit='月') { $timestamp = _G('timestamp'); $date == 'NOW' ? $timestamp : $date; if(!$date) return ''; $date = is_numeric($date) ? $date : (!$date ? $timestamp : strtotime($date)); $date = ($date == -1 || !$date) ? $timestamp : $date; if($format != 'w2style') { return date($format, $date); } else { $tm = $timestamp - $date; $num = 0; if($tm < 60) { $num = $tm; $unit = 'second'; } elseif($tm < 3600) { $num = floor($tm / 60); $unit = 'minute'; } elseif($tm < 3600 * 24) { $num = floor($tm / 3600); $unit = 'hour'; } elseif($tm < 3600 * 24 * 30) { $num = floor($tm / (3600 * 24)); $unit = 'day'; } elseif($tm < 3600 * 24 * 30 * 365) { $num = floor($tm / (3600 * 24 * 30)); $unit = 'month'; } if($dnum <= $num && $dunit == $unit) { return date('Y-m-d H:i', $date); } return $num > 0 ? (lang('global_time_format', array($num, lang('global_time_'.$unit)))) : date('Y-m-d', $date); } } //判断电子邮件 function isemail($email) { return strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $email); } //判断是不是图片 function is_image($imgfile) { if(!$imgfile) return; $ext = strtolower(pathinfo($imgfile, PATHINFO_EXTENSION)); $exts = array('png','jpeg','jpg','gif'); if(!in_array($ext, $exts)) return false; if(!function_exists('getimagesize')) return false; if(!is_file($imgfile)) return false; return @getimagesize($imgfile); } //判断字符串是否被序列化 function is_serialized( $data ) { // if it isn't a string, it isn't serialized if ( !is_string( $data ) ) return false; $data = trim( $data ); if ( 'N;' == $data ) return true; if ( !preg_match( '/^([adObis]):/', $data, $badions ) ) return false; switch ( $badions[1] ) { case 'a' : case 'O' : case 's' : if ( preg_match( "/^{$badions[1]}:[0-9]+:.*[;}]\$/s", $data ) ) return true; break; case 'b' : case 'i' : case 'd' : if ( preg_match( "/^{$badions[1]}:[0-9.E-]+;\$/", $data ) ) return true; break; } return false; } //判断文件是否可写 function is__writable($path) { if ($path{strlen($path)-1}=='/') return is__writable($path.uniqid(mt_rand()).'.tmp'); else if (is_dir($path)) return is__writable($path.'/'.uniqid(mt_rand()).'.tmp'); $rm = file_exists($path); $f = @fopen($path, 'a'); if ($f===false) return false; fclose($f); if (!$rm) unlink($path); return true; } //获取随机数 ALL(数字或字母),NUM(数字),WORD(字母) function random($length=8, $idtype='ALL') { PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000); $hash = ''; for ($i = 0; $i < $length; $i++) { if ( 'NUM' == $idtype ) { if (0==$i) { $hash .= chr(rand(49, 57)); } else { $hash .= chr(rand(48, 57)); } } else if ( 'WORD' == $idtype ){ $hash .= chr(rand(65, 90)); } else { if ( 0==$i ) { $hash .= chr(rand(65, 90)); } else { $hash .= (0==rand(0,1))?chr(rand(65, 90)):chr(rand(48,57)); } } } return $hash; } //生成参数序列 function create_identifier($params) { return substr(md5(serialize($params)),0,8); } //生成表单序列 function create_formhash($p1, $p2, $p3) { $authkey = _G('cfg','authkey'); return substr(md5($authkey . $p1 . $p2 . $p3), 8, 8); } //替换全角数字 function cdc2dbc($number) { $search_arr = array('0','1','2','3','4','5','6','7','8','9'); $replace_arr = array('0','1','2','3','4','5','6','7','8','9'); return str_replace($search_arr, $replace_arr, $number); } //判断字串长度范围 function string_length($string, $min, $max) { return strlen($string) >= $min && strlen($string) <= $max;

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











8월 17일 뉴스에 따르면, 출처 @ibinguniverse는 오늘 웨이보에 글을 올려, 애플 아이폰 16 프로 맥스의 정확한 크기는 6.88인치, 갤럭시 S25 울트라의 정확한 크기는 6.86인치로 둘 다 6.9인치로 간주할 수 있다고 밝혔습니다. . 소식통에 따르면 Samsung Galaxy S25 Ultra는 S24 Ultra보다 본체가 더 좁고 화면이 더 넓으며, 본체에 대한 가로 화면 비율이 94.1%인 반면, S24 Ultra의 본체에 대한 가로 화면 비율은 91.5%입니다. Fenye는 해당 소식통의 Weibo를 확인하면서 새로 노출된 iPhone 16 Pro Max 사진에 대해 댓글을 달았고, 휴대폰이 실제로는 직선 화면 + 2.5D 유리에 가깝다고 생각했습니다.

애플은 최근 몇 년간 혁신이 부족하다는 비판을 받아왔지만, 애플이 늘 가만히 있던 것은 아니다. 적어도 하드웨어 설계 측면에서는 Apple 제품의 높은 단가 덕분에 엔지니어들은 비용 문제를 크게 고려하지 않고도 몇 가지 새로운 기술을 쉽게 시험해 볼 수 있습니다. 예를 들어 아이패드 프로는 애플이 가장 선호하는 '디스플레이 기술' 테스트 분야로, 아이패드 프로는 2021년 미니LED부터 2024년 탠덤 OLED까지 휴대용 스마트 기기용 디스플레이 기술의 선두에 섰다. iPad Pro가 miniLED 스크린을 탑재한 최초의 휴대용 스마트 기기는 아니지만(MSI는 Apple보다 1년 먼저 miniLED 노트북을 출시했습니다), 두 제품의 매개변수를 비교해 보면 동일하지 않다는 것을 금방 깨닫게 될 것입니다.

9일 뉴스에 따르면 SK하이닉스는 FMS2024 서밋에서 아직 공식 사양이 공개되지 않은 UFS4.1 유니버설 플래시 메모리 등 최신 스토리지 제품을 시연했다. JEDEC 솔리드 스테이트 기술 협회(Solid State Technology Association) 공식 웹사이트에 따르면 현재 발표된 최신 UFS 사양은 2022년 8월 UFS4.0입니다. 이론적 인터페이스 속도는 46.4Gbps에 달합니다. UFS4.1이 전송 성능을 더욱 향상시킬 것으로 예상됩니다. 비율. 1. 하이닉스는 321단 V91TbTLCNAND 플래시 메모리를 기반으로 한 512GB 및 1TBUFS4.1 범용 플래시 메모리 제품을 시연했습니다. SK하이닉스도 3.2GbpsV92TbQLC와 3.6GbpsV9H1TbTLC 입자를 전시했다. 하이닉스, V7 기반 선보여

Smartprix의 보고서에 따르면 Xiaomi는 "Suzaku"라는 코드명 버튼 없는 휴대폰을 개발하고 있습니다. 이 소식에 따르면 코드명 Zhuque라는 이 휴대폰은 통합 컨셉으로 설계되고 언더스크린 카메라를 사용하며 계획이 변경되지 않으면 2025년에 출시될 것으로 보입니다. . 이 뉴스를 보고 2019년으로 돌아간 줄 알았어요. 당시 샤오미가 Mi MIX Alpha 컨셉폰을 출시했는데, 서라운드 스크린 버튼이 없는 디자인이 꽤 놀라웠어요. 버튼이 없는 휴대폰의 매력을 처음 본 것 같아요. "마법의 유리"를 원한다면 먼저 버튼을 죽여야 합니다. "스티브 잡스 전기"에서 잡스는 휴대폰이 "마법의 유리"처럼 되기를 희망한다고 말한 적이 있습니다.

8월 19일 뉴스에 따르면 누비아는 Z50 울트라 출시 이후 진정한 풀스크린 디자인을 고수해 왔으며, 고화소 화면에서 능동적인 사진 촬영 분야를 지속적으로 탐구해 왔다. 오늘 디지털 블로거 위즈덤 피카츄는 올 하반기 출시 예정인 누비아 Z70 울트라가 업계 최고 해상도 UDC 솔루션인 1.5K 언더스크린 카메라 기술을 탑재해 데뷔한다는 소식을 전했다. 멀리. ZTE의 언더스크린 프로액티브 솔루션이 6세대로 발전한 것으로 알려졌습니다. 최신 언더스크린 사전 대응 솔루션은 Nubia Z60 Ultra 및 Red Magic 9S Pro 시리즈에서 사용할 수 있습니다. 화면 해상도는 2480x1116으로 1080P에서 1.5K 해상도 사이입니다. 이번에 Nubia는 기존 해상도의 한계를 뛰어넘고 업계의 새로운 기준을 세울 것입니다.

최근 화웨이는 Xuanji 감지 시스템을 탑재한 새로운 스마트 웨어러블 제품을 9월에 출시할 예정이라고 발표했는데, 이는 화웨이의 최신 스마트 워치가 될 것으로 예상됩니다. 이 신제품은 고급 감정 건강 모니터링 기능을 통합하여 사용자에게 정확성, 포괄성, 속도, 유연성, 개방성 및 확장성의 6가지 특성을 갖춘 포괄적인 건강 평가를 제공합니다. 이 시스템은 슈퍼 센싱 모듈을 사용하고 다중 채널 광학 경로 아키텍처 기술을 최적화하여 심박수, 혈중 산소 및 호흡수와 같은 기본 지표의 모니터링 정확도를 크게 향상시킵니다. 또한 Xuanji Sensing System은 심박수 데이터를 기반으로 감정 상태에 대한 연구를 확장했으며, 생리적 지표에 국한되지 않고 사용자의 감정 상태와 스트레스 수준도 평가할 수 있습니다. 60개 이상의 스포츠에 대한 모니터링을 지원합니다. 심혈관, 호흡기, 신경, 내분비,

8월 8일 뉴스에 따르면, 최근 Huawei Mate70 시리즈 휴대폰의 세부 구성 정보가 공개되었습니다. 이 휴대폰 시리즈는 2024년 4분기에 출시될 것으로 예상됩니다. 1. 보고서에 따르면 전체 Mate70 시리즈는 화면 선명도에 대한 사용자 요구 사항을 충족하기 위해 맞춤형 최고 수준의 1.5K 해상도 화면을 사용합니다. Huawei Mate70Pro와 초대형 컵 버전에는 4심도 스크린이 탑재될 것으로 예상되는 반면, 표준 Mate70은 약간 더 작은 직선 스크린 디자인을 채택할 수 있습니다. Huawei Mate70 시리즈에는 화면 업그레이드 외에도 새로운 기본 재료가 포함된 초대형 배터리가 장착되어 Huawei Mate 시리즈 휴대폰의 배터리 수명에 획기적인 발전을 예고합니다. 화웨이는 초음파 지문 잠금 해제 기술을 개발 중이지만 올해 Mate70 시리즈에는 이 기능이 탑재되지 않습니다. 이것

'검은 신화:오공'은 출시 이후 인기가 떨어지지 않았으며 주요 플랫폼에서 연일 뜨거운 검색어를 기록하고 있다. 불행히도 모바일 플레이어의 경우 PC 플레이어, 콘솔 플레이어 및 휴대용 플레이어에게만 즐거움이 있습니다. 휴대폰을 만드는 우리는 어떻게 그럴 수 있겠습니까? 우선, 100GB가 넘는 대용량 3A 게임인 만큼, 성능 요구사항이 매우 높고, 렌더링 기술도 다수 탑재되어 있다는 점에서 블랙몽키를 휴대폰에서 구동한다는 생각은 배제한다. PC하드웨어용으로 개발되어 휴대폰하드웨어에서 실행된다면 프레임레이트나 화질은 말할 것도 없고 게임에 진입하지 못할 수도 있습니다. 이 경우에는 인기 있는 클라우드 게임만 볼 수 있습니다. Tencent와 NetEase는 "Black Myth"에 대한 해당 활동을 시작했습니다. WeGame 플랫폼이 판매 플랫폼이기도하다는 장점을 활용하여 Tencent
