1Vue.config.devtools = "development"; 2var MyPlugin = {}; 3 4/** 5 * é误ç å¤çå®ä¹ 6 */ 7 8MyPlugin["filters"] = { 9 //å¼å¸¸ 10 "9999" : function(result) { 11 layer.msg(result.msg, {icon: 0,time:2000}); 12 }, 13 //é ç½®ç»ä¸æªç»å½é误ç å¤ç 14 "-1" : function(result) { 15 //æªç»å½ï¼è·³è½¬ç»é页 16 top.window.location.href = fsConfig["global"]["loginUrl"]; 17 } 18}; 19 20/** 21 * 项ç®ä¸éè¦è°ç¨å°ç常éãåéè¿éé ç½® 22 */ 23MyPlugin["global"] = { 24 "servletUrl":"", //使ç¨ç½å ³è¯·æ±å°å,æ¬å°å·¥ç¨å¯ä»¥ä¸å¡« 25 "port":18201, 26 "token": sessionStorage.getItem("token"),//åå°çtoken 27 "appId": sessionStorage.getItem("appId"), 28 "result" : { //ååºç»æé ç½® 29 "statusName": "code", //æ°æ®ç¶æçåæ®µåç§°ï¼é»è®¤ï¼errorNo 30 "msgName": "msg", //ç¶æä¿¡æ¯çåæ®µåç§°ï¼é»è®¤ï¼errorInfo 31 "successNo" : "0000", //æ§è¡æåé误ç ç»ä¸é ç½® 32 "dataName" : "data" //éè¡¨æ ¼æ°æ®çåæ®µåç§°ï¼é»è®¤ï¼results.data 33 }, 34 "page" : { //å页é ç½® 35 "request": {//请æ±é ç½® 36 "pageName": "current", //页ç çåæ°åç§°ï¼é»è®¤ï¼pageNum 37 "limitName": "size" //æ¯é¡µæ°æ®éçåæ°åï¼é»è®¤ï¼pageSize 38 }, 39 "response": {//ååºé ç½® 40 "countName": "data.total", //æ°æ®æ»æ°çåæ®µåç§°ï¼é»è®¤ï¼results.data.total 41 "dataNamePage": "data.records" //åé¡µæ°æ®å表çåæ®µåç§°ï¼é»è®¤ï¼results.data.list 42 }, 43 "limit":10,//æ¯é¡µå页æ°éãé»è®¤20 44 "limits":[10,20,30,50,100]//æ¯é¡µæ°æ®éæ©é¡¹ï¼é»è®¤[10,20,30,50,100] 45 } 46}; 47 48 49MyPlugin.install = function (Vue, options) { 50 // 1. æ·»å å ¨å±æ¹æ³æå±æ§ 51 Vue.myGlobalMethod = function () { 52 // é»è¾... 53 } 54 55 //éç©ºå¤æ 56 Vue.isEmpty=function(value) { 57 if (value === null || value == undefined || value === '') { 58 return true; 59 } 60 return false; 61 } 62 //è·å对象æ 63 Vue.result=function(object, path, defaultValue) { 64 var value = ""; 65 if(!$.isEmpty(object) && $.isObject(object) && !Vue.isEmpty(path)){ 66 var paths = path.split('.'); 67 var length = paths.length; 68 $.each(paths,function(i,v){ 69 object = object[v]; 70 if(length-1 == i){ 71 value = object; 72 } 73 if(!$.isObject(object)){ 74 return false; 75 } 76 }) 77 78 } 79 80 if(Vue.isEmpty(value) && !Vue.isEmpty(defaultValue)){ 81 value = defaultValue; 82 } 83 return value; 84 } 85 Vue.getQueryString= function (name) { 86 var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); 87 var r = window.location.search.substr(1).match(reg); 88 if (r != null) { 89 return unescape(r[2]); 90 } 91 return null; 92 } 93 Vue.formatDate=function(date,fmt){ 94 if(arguments.length<2){ 95 fmt = "yyyy-MM-dd HH:mm:ss"; 96 } 97 var _this = date; 98 var o = { 99 "M+" : _this.getMonth()+1, //æä»½ 100 "d+" : _this.getDate(), //æ¥ 101 "h+" : _this.getHours()%12 == 0 ? 12 : _this.getHours()%12, //å°æ¶ 102 "H+" : _this.getHours(), //å°æ¶ 103 "m+" : _this.getMinutes(), //å 104 "s+" : _this.getSeconds(), //ç§ 105 "q+" : Math.floor((_this.getMonth()+3)/3), //å£åº¦ 106 "S" : _this.getMilliseconds() //æ¯«ç§ 107 }; 108 if(/(y+)/.test(fmt)){ 109 fmt=fmt.replace(RegExp.$1, (_this.getFullYear()+"").substr(4 - RegExp.$1.length)); 110 } 111 for(var k in o){ 112 if(new RegExp("("+ k +")").test(fmt)){ 113 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); 114 } 115 } 116 return fmt; 117 } 118 // 2. æ·»å å ¨å±èµæº 119 Vue.directive('my-directive', { 120 // bind (el, binding, vnode, oldVnode) { 121 // é»è¾... 122 // } 123 }) 124 125 // 3. æ³¨å ¥ç»ä»¶ 126 Vue.mixin({ 127 created: function () { 128 // é»è¾... 129 } 130 }) 131 Vue.prototype.getQueryString = Vue.getQueryString; 132 Vue.prototype.formatDate = Vue.formatDate; 133 // 4. æ·»å äºä¾æ¹æ³ 134 Vue.prototype.invoke = function(url,param,callBackFunc,method,async){ 135 // é»è¾... 136 if(!Vue.isEmpty(url)){ 137 url = Vue.result(MyPlugin,"global.servletUrl")+ url; 138 } 139 if(Vue.isEmpty(async)){ 140 async = true; 141 }
142 if(Vue.isEmpty(method)){ 143 method = "post"; 144 } 145 var token = Vue.result(aliConfig,"global.token"); 146 var appId = Vue.result(aliConfig,"global.appId"); 147 $.ajaxSetup({ 148 beforeSend:function(request, settings) { 149 if (token) { 150 request.setRequestHeader("Authorization", token); 151 } 152 if (appId) { 153 request.setRequestHeader("appId", appId); 154 } 155 } 156 }); 157 $.ajax({ 158 url: url, 159 type: method, 160 async: async, 161 timeout: 10000, 162 data: param, 163 dataType : "json", 164 // contentType:'application/json;charset=utf-8', 165 success: function(result){ 166 if(result[statusName] != successNo){ 167 var filters = MyPlugin["filters"]; 168 if(!Vue.isEmpty(filters)){ 169 var otherFunction = filters[result[statusName]]; 170 if($.isFunction(otherFunction)){ 171 otherFunction(result); 172 return; 173 } 174 } 175 } 176 callBackFunc(result); 177 }, 178 error : function (XMLHttpRequest, textStatus, errorThrown) 179 { 180 var status = XMLHttpRequest.status; 181 if(status==404){ 182 fsCommon.errorMsg("请æ±å°ååºé!"); 183 }else if(status==302){ 184 fsCommon.errorMsg('è¿æ¥ç½é¡µåºé!'); 185 }else if(textStatus=="timeout"){ 186 fsCommon.errorMsg("请æ±è¶ æ¶!"); 187 }else{ 188 fsCommon.errorMsg('请æ±å¼å¸¸!'); 189 } 190 }, 191 complete : function(XMLHttpRequest, textStatus) 192 { 193 //å ³éå è½½å± 194 } 195 }); 196 }; 197 } 198 199// è°ç¨ `MyPlugin.install(Vue)` 200Vue.use(MyPlugin); 201 202 203// var appOwner = ${owner}; 204// var token =gettoken(${mode}); 205var owner = "1581564523"; 206var token ="preview"; 207$.ajaxSetup({ 208beforeSend:function(request, settings) { 209 request.setRequestHeader("Authorization", token); 210 request.setRequestHeader("owner", owner); 211} 212}); 213 214
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.