ming-demo1
Version:
mdf metaui web
235 lines (195 loc) • 8.04 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _react = _interopRequireWildcard(require("react"));
var _baseui = require("@mdf/baseui");
var _row = _interopRequireDefault(require("../../../basic/row"));
var _col = _interopRequireDefault(require("../../../basic/col"));
var eChartCommon = _interopRequireWildcard(require("../../eChartCommon"));
var eChartProxy = _interopRequireWildcard(require("../../eChartProxy"));
var _util = require("@mdf/cube/lib/helpers/util");
var eChartWeather = function (_React$Component) {
(0, _inherits2["default"])(eChartWeather, _React$Component);
function eChartWeather(props) {
var _this;
(0, _classCallCheck2["default"])(this, eChartWeather);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(eChartWeather).call(this, props));
_this.serieNum = Math.random();
_this.state = {
panelType: props.panelType ? props.panelType : 1,
componentConfig: props.componentConfig,
weatherConfig: {},
localCity: "",
baiduAK: "Da2GUB3raZGa2XnLnmYT1KUwvaT9FYPw"
};
_this.getLocalCity();
return _this;
}
(0, _createClass2["default"])(eChartWeather, [{
key: "render",
value: function render() {
var self = this;
var config = this.state.weatherConfig;
var arr1 = [];
var arr2 = [];
if (_.isEmpty(config)) {
arr1.push(_react["default"].createElement("div", null));
} else {
var pm25 = config.pm25;
var chuanyi = _.find(config.index, function (o) {
return o.title == "穿衣";
});
var ziwaixian = _.find(config.index, function (o) {
return o.title == "紫外线强度";
});
var xiche = _.find(config.index, function (o) {
return o.title == "洗车";
});
var ganmao = _.find(config.index, function (o) {
return o.title == "感冒";
});
var yundong = _.find(config.index, function (o) {
return o.title == "运动";
});
var tianqi = config.weather_data[0];
var pm25desc = "优";
if (pm25 > 35) pm25desc = "良";
if (pm25 > 75) pm25desc = "轻度";
if (pm25 > 115) pm25desc = "中度";
if (pm25 > 150) pm25desc = "重度";
if (pm25 > 250) pm25desc = "严重";
if (new Date().getHours() >= 6 && new Date().getHours() < 18) {
arr1.push(_react["default"].createElement("span", {
className: self.getClassNamePrifx("eChartWeather") + "-img"
}, _react["default"].createElement("img", {
src: tianqi.dayPictureUrl
})));
} else {
arr1.push(_react["default"].createElement(_col["default"], {
className: self.getClassNamePrifx("eChartWeather") + "-img"
}, _react["default"].createElement("img", {
src: tianqi.nightPictureUrl
})));
}
arr1.push(_react["default"].createElement("span", {
className: self.getClassNamePrifx("eChartWeather") + "-temperature"
}, tianqi.temperature));
arr1.push(_react["default"].createElement("span", {
className: self.getClassNamePrifx("eChartWeather") + "-temperature-title"
}, tianqi.weather));
arr2.push(_react["default"].createElement("span", {
className: self.getClassNamePrifx("eChartWeather") + "-address"
}, this.state.localCity));
arr2.push(_react["default"].createElement("span", {
className: self.getClassNamePrifx("eChartWeather") + "-pm"
}, pm25));
arr2.push(_react["default"].createElement("span", {
className: self.getClassNamePrifx("eChartWeather") + "-pm-degree"
}, pm25desc));
}
var style = {};
if (this.props.skinConfig) style.color = this.props.skinConfig.displaySkin.textColor;
return _react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartWeather") + "",
style: style
}, _react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartWeather") + "-1"
}, " ", arr1, " "), _react["default"].createElement("div", {
className: self.getClassNamePrifx("eChartWeather") + "-2"
}, " ", arr2, " "));
}
}, {
key: "getClassNamePrifx",
value: function getClassNamePrifx(className) {
if (this.state.panelType == 2) className = className + "2";
return className;
}
}, {
key: "getLocalCity",
value: function getLocalCity() {
var _this2 = this;
eChartCommon.LogChartInfo("eChartWeather 获取当前所在城市 getLocalCity this.serieNum =" + this.serieNum + " Begin ", "", 6);
var self = this;
var url = "https://api.map.baidu.com/location/ip";
var params = {};
params.output = "json";
params.ak = self.state.baiduAK;
params.coor = "bd09ll";
var config = {
url: url,
method: 'GET',
params: params,
options: {
jsonp: true
}
};
var callback = function callback(data) {
if (data.status == "0" || data.status == "success") {
eChartCommon.LogChartInfo("eChartWeather 获取当前所在城市 getLocalCity this.serieNum =" + _this2.serieNum + " return data ", JSON.stringify(data), 6);
self.state.localCity = data.content.address;
self.getWeather();
eChartCommon.LogChartInfo("eChartWeather 获取当前所在城市 getLocalCity this.serieNum =" + _this2.serieNum + " End ", "", 6);
} else {
eChartCommon.LogChartInfo("eChartWeather 获取当前所在城市:调用服务出错 params=" + JSON.stringify(params) + " data ", JSON.stringify(data), 999);
}
};
(0, _util.proxy)(config).then(function (json) {
callback(json);
});
}
}, {
key: "getWeather",
value: function getWeather() {
var self = this;
var params = {};
params.location = self.state.localCity;
if (params.location) {
params.output = "json";
params.ak = self.state.baiduAK;
var url = "getWeather";
var callback = function callback(data) {
if (data.code == 200 && data.data.status == "success") {
self.setState({
weatherConfig: data.data.results[0]
});
} else {
eChartCommon.LogChartInfo("获取天气:调用服务出错 params=" + JSON.stringify(params) + " return ", JSON.stringify(data), 999);
}
};
eChartProxy.doProxy(url, 'GET', params, callback);
}
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
var self = this;
if (self._timer) {
clearInterval(self._timer);
self._timer = null;
}
;
self._unmount = true;
}
}, {
key: "componentDidMount",
value: function componentDidMount() {
var self = this;
var refreshInterval = 1000 * 60 * 10;
self._timer = setInterval(function () {
self.getWeather();
}, refreshInterval);
}
}]);
return eChartWeather;
}(_react["default"].Component);
exports["default"] = eChartWeather;
//# sourceMappingURL=eChartWeather.js.map