var Site_Root = ''; var Admin_Root = '/ej03xu3'; var ADMIN_KEY = 'ej03xu3'; (function ($) { 'use strict'; var self = window.API = {}; self.$ = $(self); var API_PATH = '/Api/Javascript'.replace(/\/[^\/]+$/,"/"); var Member_PATH = API_PATH+"Member/"; var Data_PATH = API_PATH+"Data/"; var Absence_PATH = Data_PATH+"Absence/"; var Email_PATH = API_PATH+"Email/"; var Setting_PATH = API_PATH+"Setting/"; var Excel_PATH = API_PATH+"Excel/"; self.ROOT = Site_Root; self.ADMIN_ROOT = Admin_Root; self.member = {"now":"2024-05-05 01:02:58"}; self.admin_member = {"now":"2024-05-05 01:02:58"}; /** * 解析格式 */ self.format = function(jsf){ return new grenalJSONFormat(jsf); } /** 登入 @param 必須 username, passwd */ self.loginWithData = function(data){ return $.post(Member_PATH+"login", data); } /** 由串接頁面登入 @param 必須 username, passwd self.loginWithOauth = function(data){ return $.post(Member_PATH+"login-oauth", data); } */ /** 登出 */ self.logout = function(){ return $.get(Member_PATH+"logout"); } /** * 取得表單驗證碼 * @param string formID Form 表單的 id * @return string 表單驗證碼 * 會直接將表單驗證碼該表單的放入 中 */ self.getVerificationCode = function(formID){ $.post(Data_PATH+"getVerificationCode", {'form_id': formID},function(result){ //return result.result; $('#' + formID + '_vc').val(result.result); }); return true; } /** 取得該使用者的 Menu @param */ self.getMenu = function(){ return $.get(Data_PATH+"getMenu"); } self.test = function(data){ return $.post(Data_PATH+"test", data); } /** * 取得首頁必須資訊 * @param * */ self.getMyIndex = function(data){ return $.post(Data_PATH+"getMyIndex", data); } /** 後端登入 @param 必須 username, passwd */ self.loginWithAdmin = function(data){ return $.post(Member_PATH+"login?w=a", data); } /** 後端登出 */ self.logoutAdmin = function(){ return $.post(Member_PATH+"logout?w=a"); } // 職員資料 self.getStaffList = function(data){ return $.post(Data_PATH+"getStaff?m=list", data); } self.getStaff = function(data){ return $.post(Data_PATH+"getStaff?m=once", data); } self.editStaff = function(data){ return $.post(Setting_PATH+"editStaff", data); } //========================== // 首頁 self.getHomepageList = function(data){ return $.post(Data_PATH+"getHomepage?m=list", data); } self.getHomepage = function(data){ return $.post(Data_PATH+"getHomepage?m=once", data); } self.getHomepagePlace = function(data){ return $.post(Data_PATH+"getHomepage?m=place", data); } self.editHomepage = function(data){ return $.post(Setting_PATH+"editHomepage", data); } self.deleteHomepage = function(data){ return $.post(Setting_PATH+"deleteHomepage", data); } self.batchHomepageImage = function(file){ return $.ajax({ url : Setting_PATH+"batchHomepageImage", type : "POST", data : file, dataType : "JSON", cache : false, contentType : false, processData: false }); } // 最新消息 self.getNewsList = function(data){ return $.post(Data_PATH+"getNews?m=list", data); } self.getNews = function(data){ return $.post(Data_PATH+"getNews?m=once", data); } self.editNews = function(data){ return $.post(Setting_PATH+"editNews", data); } self.deleteNews = function(data){ return $.post(Setting_PATH+"deleteNews", data); } self.batchNewsImage = function(file){ return $.ajax({ url : Setting_PATH+"batchNewsImage", type : "POST", data : file, dataType : "JSON", cache : false, contentType : false, processData: false }); } // RMA self.getRMA = function(data){ return $.post(Data_PATH+"getRma?m=once", data); } self.editRMA = function(data){ return $.post(Setting_PATH+"editRma", data); } // 保修條款 self.getWarrantyPolicy = function(data){ return $.post(Data_PATH+"getWarrantyPolicy?m=once", data); } self.editWarrantyPolicy = function(data){ return $.post(Setting_PATH+"editWarrantyPolicy", data); } // 國家設定 self.getCountryList = function(data){ return $.post(Data_PATH+"getCountry?m=list", data); } self.getCountry = function(data){ return $.post(Data_PATH+"getCountry?m=once", data); } self.editCountry = function(data){ return $.post(Setting_PATH+"editCountry", data); } self.deleteCountry = function(data){ return $.post(Setting_PATH+"deleteCountry", data); } // 需求設定 self.getDemandList = function(data){ return $.post(Data_PATH+"getDemand?m=list", data); } self.getDemand = function(data){ return $.post(Data_PATH+"getDemand?m=once", data); } self.editDemand = function(data){ return $.post(Setting_PATH+"editDemand", data); } self.deleteDemand = function(data){ return $.post(Setting_PATH+"deleteDemand", data); } // 聯繫我們 self.getContactUsList = function(data){ return $.post(Data_PATH+"getContactUs?m=list", data); } self.getContactUs = function(data){ return $.post(Data_PATH+"getContactUs?m=once", data); } self.editContactUs = function(data){ return $.post(Setting_PATH+"editContactUs", data); } self.deleteContactUs = function(data){ return $.post(Setting_PATH+"deleteContactUs", data); } // 經銷據點 self.getDistributorList = function(data){ return $.post(Data_PATH+"getDistributor?m=list", data); } self.getDistributor = function(data){ return $.post(Data_PATH+"getDistributor?m=once", data); } self.editDistributor = function(data){ return $.post(Setting_PATH+"editDistributor", data); } self.deleteDistributor = function(data){ return $.post(Setting_PATH+"deleteDistributor", data); } self.batchDistributorImage = function(file){ return $.ajax({ url : Setting_PATH+"batchDistributorImage", type : "POST", data : file, dataType : "JSON", cache : false, contentType : false, processData: false }); } // 品牌故事 self.getBrandStoryList = function(data){ return $.post(Data_PATH+"getBrandStory?m=list", data); } self.getBrandStory = function(data){ return $.post(Data_PATH+"getBrandStory?m=once", data); } self.getBrandStoryTP = function(data){ return $.post(Data_PATH+"getBrandStory?m=text_position", data); } self.getBrandStoryOB = function(data){ return $.post(Data_PATH+"getBrandStory?m=order_by", data); } self.editBrandStory = function(data){ return $.post(Setting_PATH+"editBrandStory", data); } self.deleteBrandStory = function(data){ return $.post(Setting_PATH+"deleteBrandStory", data); } self.batchBrandStoryImage = function(file){ return $.ajax({ url : Setting_PATH+"batchBrandStoryImage", type : "POST", data : file, dataType : "JSON", cache : false, contentType : false, processData: false }); } // 檔案下載 self.getDownloadList = function(data){ return $.post(Data_PATH+"getDownload?m=list", data); } self.getDownload = function(data){ return $.post(Data_PATH+"getDownload?m=once", data); } self.editDownload = function(data){ return $.post(Setting_PATH+"editDownload", data); } self.deleteDownload = function(data){ return $.post(Setting_PATH+"deleteDownload", data); } self.batchDownloadFile = function(file){ return $.ajax({ url : Setting_PATH+"batchDownloadFile", type : "POST", data : file, dataType : "JSON", cache : false, contentType : false, processData: false }); } // 商品分類 self.getProductCategoryList = function(data){ return $.post(Data_PATH+"getProductCategory?m=list", data); } self.getProductCategory = function(data){ return $.post(Data_PATH+"getProductCategory?m=once", data); } self.editProductCategory = function(data){ return $.post(Setting_PATH+"editProductCategory", data); } self.deleteProductCategory = function(data){ return $.post(Setting_PATH+"deleteProductCategory", data); } self.batchProductCategoryImage = function(file){ return $.ajax({ url : Setting_PATH+"batchProductCategoryImage", type : "POST", data : file, dataType : "JSON", cache : false, contentType : false, processData: false }); } // 商品品項 self.getProductList = function(data){ return $.post(Data_PATH+"getProduct?m=list", data); } self.getProduct = function(data){ return $.post(Data_PATH+"getProduct?m=once", data); } self.editProduct = function(data){ return $.post(Setting_PATH+"editProduct", data); } self.deleteProduct = function(data){ return $.post(Setting_PATH+"deleteProduct", data); } self.batchProductImage = function(file){ return $.ajax({ url : Setting_PATH+"batchProductImage", type : "POST", data : file, dataType : "JSON", cache : false, contentType : false, processData: false }); } //====================== self.batchSummernoteImage = function(file){ console.log(file); return $.ajax({ url : Setting_PATH+"batchSummernoteImage", type : "POST", data : file, dataType : "JSON", cache : false, contentType : false, processData: false }); }/** * HEADER */ /* self.getFBLoginURL = function(data){ return $.post(Data_PATH+"getFBLoginURL", data); } */ self.getCategoryList = function(data){ return $.post(Data_PATH+"getProductCategory?m=ui", data); } // 最新消息 self.getOpenNewsList = function(data){ return $.post(Data_PATH+"getNews?m=open_list", data); } self.getOpenNews = function(data){ return $.post(Data_PATH+"getNews?m=open_once", data); } // RMA self.getRMA = function(data){ return $.post(Data_PATH+"getRma?m=once", data); } // 保修條款 self.getWarrantyPolicy = function(data){ return $.post(Data_PATH+"getWarrantyPolicy?m=once", data); } // 產品 self.getOpenProduct = function(data){ return $.post(Data_PATH+"getProduct?m=open", data); } self.getProductDownloadList = function(data){ return $.post(Data_PATH+"getDownload?m=open_list_pd", data); } // 品牌故事 self.getOpenBrandStoryList = function(data){ return $.post(Data_PATH+"getBrandStory?m=open_list", data); } // 聯絡我們 self.sendContactUs = function(data){ return $.post(Email_PATH+"sendContactUs", data); } // 檔案下載 self.downloadFile = function(data){ var str = '', ary=[]; for(var i in data){ ary.push(i+'='+data[i]); } str = ary.join('&'); return window.open(Data_PATH+"getDownload?m=download&"+str,'_blank'); } // 搜尋 self.getSearch = function(data){ return $.post(Data_PATH+"getSearch", data); } var code_array = '0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ/_-abcdefghijklmnopqrstuvwxyz'.split(''); var code_array_2 = 'D7jklYmIqJ034M/8Ncde_Wfg1GzHhiOUno-abPprQRSTs5KL6tXuAvwVxEy9@BFZC2'.split(''); var code_map={},code_map_2={}; var TemplateKey = self.ADMIN_ROOT+'/Template/'; var temp = localStorage.getItem('rv-template'); temp = temp? JSON.parse(temp) : {}; for(var i in code_array){ var loc = code_array[i]; var loc_2 = code_array_2[i]; code_map[loc] = loc_2; code_map_2[loc_2] = loc; } self.encode = function(code){ var ary = code.replace(TemplateKey,'').split(''); for(var i in ary){ var loc = ary[i]; ary[i] = code_map[loc]; } var result = ary.join(''); temp[result]=1; localStorage.setItem('rv-template',JSON.stringify(temp)); return result; } self.decode = function(code){ if(!temp[code]){return false;} var ary = code.replace(TemplateKey,'').split(''); for(var i in ary){ var loc = ary[i]; ary[i] = code_map_2[loc]; } return (ary.length>0) ? TemplateKey+ary.join('') : false; } self.getCode = function(){ var hash = location.hash.replace('#',''); var code = self.decode(hash); return code; } self.go = function(position,i){ if (!i) i = ''; if(i == 'ej03xu3'){ location.href = self.ADMIN_ROOT+''+position; }else{ location.href = self.ROOT+''+position; } } self.reload = function(){ if(location.hash.length<=1){ location.reload(); }else{ $(window).trigger('hashchange'); } } self.ajaxPassenger = []; self.clearPassenger = function(){ var ab = API.ajaxPassenger.length-1; while(ab>=0){ var ajax = API.ajaxPassenger.splice(ab,1)[0].a; // ajax.then(function(){}); ajax.abort() && ajax==null; ab--; } return self; } $.ajaxSetup({ beforeSend:function(a,set){ // console.log(a); // console.log(set); var stamp = set.url + (typeof set.data=='string'?set.data:''); for(var i in self.ajaxPassenger){ var loc = self.ajaxPassenger[i].u; if(stamp==loc){ a.abort();return console.log('The URL Not Over [ '+loc+' ]'); } } self.ajaxPassenger.push({u:stamp,a:a}); }, complete:function(a,set){ for(var i in self.ajaxPassenger){ var loc = self.ajaxPassenger[i].a; if(loc==a){ // console.log(a); self.ajaxPassenger.splice(i,1);break; } } } }); var hook_data = {}, hook_pointer; self.hook = function(name, fn){ if(typeof self[name]!='function'){return console.log('Fail Hook Name : '+name);} if(!hook_data[name]){ hook_data[name] = [self[name]]; self[name] = function(){ hook_pointer = hook_data[name].length; // console.log(hook_data); var ret, p=0; do{ ret = (hook_data[name][ p ].apply(ret, arguments)) || ret; p++; }while(p