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":"2025-02-05 04:39:36"};
self.admin_member = {"now":"2025-02-05 04:39:36"};
/**
* 解析格式
*/
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