| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | angular.module('kityminderEditor')    .controller('image.ctrl', ['$http', '$scope', '$modalInstance', 'image', 'server', function($http, $scope, $modalInstance, image, server) {        $scope.data = {            list: [],            url: image.url || '',            title: image.title || '',            R_URL: /^https?\:\/\/\w+/        };        setTimeout(function() {            var $imageUrl = $('#image-url');            $imageUrl.focus();            $imageUrl[0].setSelectionRange(0, $scope.data.url.length);        }, 300);        // 搜索图片按钮点击事件        $scope.searchImage = function() {            $scope.list = [];            getImageData()                .success(function(json) {                    if(json && json.data) {                        for(var i = 0; i < json.data.length; i++) {                            if(json.data[i].objURL) {                                $scope.list.push({                                    title: json.data[i].fromPageTitleEnc,                                    src: json.data[i].middleURL,                                    url: json.data[i].middleURL                                });                            }                        }                    }                })                .error(function() {                });        };        // 选择图片的鼠标点击事件        $scope.selectImage = function($event) {            var targetItem = $('#img-item'+ (this.$index));            var targetImg = $('#img-'+ (this.$index));            targetItem.siblings('.selected').removeClass('selected');            targetItem.addClass('selected');            $scope.data.url = targetImg.attr('src');            $scope.data.title = targetImg.attr('alt');        };        // 自动上传图片,后端需要直接返回图片 URL        $scope.uploadImage = function() {            var fileInput = $('#upload-image');            if (!fileInput.val()) {                return;            }            if (/^.*\.(jpg|JPG|jpeg|JPEG|gif|GIF|png|PNG)$/.test(fileInput.val())) {                var file = fileInput[0].files[0];                return server.uploadImage(file).then(function (json) {                    var resp = json.data;                    if (resp.errno === 0) {                        $scope.data.url = resp.data.url;                    }                });            } else {                alert("后缀只能是 jpg、gif 及 png");            }        };        $scope.shortCut = function(e) {            e.stopPropagation();            if (e.keyCode == 13) {                $scope.ok();            } else if (e.keyCode == 27) {                $scope.cancel();            }        };        $scope.ok = function () {            if($scope.data.R_URL.test($scope.data.url)) {                $modalInstance.close({                    url: $scope.data.url,                    title: $scope.data.title                });            } else {                $scope.urlPassed = false;                var $imageUrl = $('#image-url');                if ($imageUrl) {                    $imageUrl.focus();                    $imageUrl[0].setSelectionRange(0, $scope.data.url.length);                }            }            editor.receiver.selectAll();        };        $scope.cancel = function () {            $modalInstance.dismiss('cancel');            editor.receiver.selectAll();        };        function getImageData() {            var key = $scope.data.searchKeyword2;            var currentTime = new Date();            var url = 'http://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&fp=result&queryWord='+ key +'&cl=2&lm=-1&ie=utf-8&oe=utf-8&st=-1&ic=0&word='+ key +'&face=0&istype=2&nc=1&pn=60&rn=60&gsm=3c&'+ currentTime.getTime() +'=&callback=JSON_CALLBACK';            return $http.jsonp(url);        }    }]);
 |