/**
* 知心天气(适配 Seniverse Weather Widget v2)
* @return void
*/
function io_get_weather_widget($html = '') {
// 设置语言映射
$locale = 'zh-Hans'; // 默认简体中文
switch (get_locale()) {
case 'zh':
case 'zh_CN':
$locale = 'zh-Hans'; // 简体中文
break;
case 'zh_TW':
case 'zh_HK':
$locale = 'zh-Hant'; // 繁体中文
break;
case 'pt_PT':
case 'pt_BR':
case 'pt_AO':
$locale = 'pt'; // 葡萄牙语
break;
case 'ja':
$locale = 'ja'; // 日语
break;
case 'en_AU':
case 'en_GB':
case 'en_US':
default:
$locale = 'en'; // 英语
break;
}
// 输出 HTML 容器
echo '<div id="tp-weather-widget">'.$html.'</div>';
// 加载 Seniverse 天气插件 JS
echo '
<script>
(function(a,h,g,f,e,d,c,b){
b=function(){
d=h.createElement(g);
c=h.getElementsByTagName(g)[0];
d.src=e;d.charset="utf-8";d.async=1;
c.parentNode.insertBefore(d,c);
};
a["SeniverseWeatherWidgetObject"]=f;
a[f]||(a[f]=function(){(a[f].q=a[f].q||[]).push(arguments)});
a[f].l=+new Date();
if(a.attachEvent){a.attachEvent("onload",b)}else{a.addEventListener("load",b,false)}
})(window,document,"script","SeniverseWeatherWidget","//cdn.sencdn.com/widget2/static/js/bundle.js?t="+parseInt((new Date().getTime() / 100000000).toString(),10));
</script>';
// 下列代码建议做js代码加密,不做加密前端会获取到用户token,切记!
// 初始化并展示天气插件
echo "
<script>
window.SeniverseWeatherWidget('show', {
flavor: 'slim',
location: 'WX4FBXXFKE4F',
geolocation: true,
language: '{$locale}',
unit: 'c',
theme: 'auto',
token: '替换为你自己的TOKEN',
hover: 'enabled',
container: 'tp-weather-widget'
});
</script>";
}