|
|
(2 intermediate revisions by the same user not shown) |
Line 6: |
Line 6: |
| // |_________________________________________________________________________________________| | | // |_________________________________________________________________________________________| |
| // | | // |
− |
| |
− | function translate(texts, func, direction) {
| |
− | direction = direction || 'en2zh';
| |
− |
| |
− | var url = "https://api.interpreter.caiyunai.com/v1/translator";
| |
− |
| |
− | var headers = {
| |
− | "content-type": "application/json",
| |
− | "X-Authorization": "token o4msd3dw3q6rh3bcdrm1",
| |
− | };
| |
− |
| |
− | var replaced_config = {
| |
− | "per": {"replaced": true, "replaced_before_rnn": false},
| |
− | "num": {"replaced": false, "replaced_before_rnn": false},
| |
− | "loc": {"replaced": false, "replaced_before_rnn": false},
| |
− | "noun": {"replaced": false, "replaced_before_rnn": false},
| |
− | "addition": {"replaced": true, "replaced_before_rnn": false}
| |
− | };
| |
− |
| |
− | var payload = {
| |
− | "source": texts,
| |
− | "trans_type": direction, "cached": false,
| |
− | "replaced_config": replaced_config,
| |
− | "request_id": "web-translate",
| |
− | "url": 'https://apidocs.caiyunapp.com'
| |
− | };
| |
− |
| |
− | $.post({
| |
− | "url": url,
| |
− | "headers": headers,
| |
− | "data": JSON.stringify(payload),
| |
− | "dataType": "json",
| |
− | "success": function (data, textStatus, jqXHR) {
| |
− | var translations = data["target"];
| |
− | try {
| |
− | func(translations);
| |
− | } catch (e) {
| |
− | console.log(e);
| |
− | //throw e; // intentionally re-throw (caught by window.onerror)
| |
− | }
| |
− | },
| |
− | });
| |
− | }
| |
− |
| |
− | var skyconword = {
| |
− | 'RAIN': 'rain',
| |
− | 'SNOW': 'snow',
| |
− | 'HAZE': 'fog',
| |
− | 'WIND': 'wind',
| |
− | 'CLOUDY': 'cloudy',
| |
− | 'PARTLY_CLOUDY_DAY': 'partly cloudy',
| |
− | 'PARTLY_CLOUDY_NIGHT': 'partly cloudy',
| |
− | 'CLEAR_DAY': 'clear',
| |
− | 'CLEAR_NIGHT': 'clear',
| |
− | };
| |
− |
| |
− | function buildTianqi(placename, skycon, temp) {
| |
− | var desc = skyconword[skycon];
| |
− | return "<link href='https://fonts.googleapis.com/css?family=Roboto:400,300' rel='stylesheet' type='text/css'><div class='card'><div class='city'>" + placename + "</div><div class='temp'>" + temp + "°C</div><div class='skycon'>" + desc + "</div></div>";
| |
− | }
| |
− |
| |
− | function poetryBuilder(lines) {
| |
− | return function(translations) {
| |
− | var result = "<link href='https://fonts.googleapis.com/css?family=Roboto:400,300' rel='stylesheet' type='text/css'><div class='card'>";
| |
− | for(var idx in translations) {
| |
− | var o = lines[idx];
| |
− | var t = translations[idx];
| |
− | result = result + "<div>" + o + "</div>" + "<div>" + t + "</div>";
| |
− | }
| |
− | result = result + "</div>";
| |
− | return result;
| |
− | }
| |
− | }
| |
− |
| |
− | var latlng = $('.tianqi').text();
| |
− | var pair = latlng.split(',');
| |
− | var lat = pair[0], lng = pair[1];
| |
− |
| |
− | var url = 'https://api.caiyunapp.com/v2/5AoOwKgLgmqmy=2i/' + lng + ',' + lat + '/weather.jsonp';
| |
− |
| |
− | $.ajax({
| |
− | "url": url,
| |
− | "jsonp": "callback",
| |
− | "dataType": "jsonp",
| |
− | "data": {
| |
− | "getplacename": "True",
| |
− | "lang": "en"
| |
− | },
| |
− | "success": function( response ) {
| |
− | $('.tianqi').html(buildTianqi(response.placename, response.result.realtime.skycon, response.result.realtime.temperature));
| |
− | }
| |
− | });
| |
− |
| |
− |
| |
− | var url = 'http://apidocs.caiyunapp.com/poetry';
| |
− | $.ajax({
| |
− | "url": url,
| |
− | "dataType": "json",
| |
− | "success": function( response ) {
| |
− | translate(response, poetryBuilder(response));
| |
− | }
| |
− | });
| |