Title1
Title2
Title3
Login
Link
Search
教學頻道
中信金融管理學院
點二下資訊社
新化社區大學
GAS+購物車開發
GAS專案
GAS+購物車開發
Google表單實戰電商購物車
GAS+LineBot開發
外帶內用管理
購物車管理
線上打卡系統管理
萬用表單5
LineBot 線上書籍
PHP專案
網站程式設計-PHP(10502)
網站程式設計-PHP
PHP SMARTY 樣板引擎
SMARTY樣板
課程教材
雲端工具入門
行動應用企劃人員養成班
萬用表單5
GAS+LineBot開發
研習
萬用表單5
鐵人賽-Google Apps Script整合運用
GAS+LineBot開發
樂齡3C學習不斷電
臺東專科學校
GAS 開發 LineBot 自動接單系統
德鍵
112行動應用企劃人員養成班
111網頁前端設計工程師培訓班
110網頁前端設計工程師培訓班
網頁前端設計工程師培訓班
old
網頁前端設計與開發運用培訓班
Javascript & JQUERY
免費釋出專案
萬用表單
自動資料查詢
台南社大
113-01-雲端工具入門
112-02-AI自動管理
112-01-用QRCODE打造自動化環境
110-01-用雲端打造自動化環境
用雲端打造自動化環境
Google雲端智慧王
讓雲端工具提昇工作效率
Google 速學工作術
台南市總圖
教你如何使用LINE Bot機器人增加工作效率
Google雲端工具基礎應用
Google雲端工具進階應用
工作自動化與行銷(台南社大)
全部教材
台南市人力發展中心
Google工具應用實務班
企業課程
鐳達實業有限公司
GAS研習-20200726
中正大學-GAS研習
將軍圖書館
Google雲端工具基礎應用
Google雲端工具進階應用
南方創客
GitHub 衍伸應用
Google 應用工作術
永康社大
用雲端打造自動化環境(110-春季班)
用雲端打造自動化環境
南關社大
電腦、手機生活應用
遠端桌面
公司業務
傳送檔案
adwcleaner
W10 更新
客戶網站
最近完工
深雋設計有限公司
新化社大校務系統
靚品科技有限公司
5C Precision Co., Ltd.
BALANCE 1
RWD網站
東北關廟麵
曼馱有限公司
永宸昕有限公司
昌美實業社
形象網站
勇信機械有限公司
GAS專案
聯絡我們&案件委託
所有書籍
「鐵人賽-Google Apps Script整合運用」目錄
MarkDown
9. 建立路由與請求
1. Google Apps Script介紹
2. 在試算表儲存資料(一)
3. 在試算表儲存資料(二)
4. 在試算表儲存資料(三)
5. 專案授權&在試算表撈出資料
6. Web 服務&API 服務
7. GAS樣版引擎
8. 建立共用函式
9. 建立路由與請求
10. 全域變數&權限
11. Bootstrap Table(一)
12. Bootstrap Table(二)
13. 表單頁面(一)
14. 表單頁面(二)
15. 表單結構
11. Bootstrap Table(一)
鐵人賽-Google Apps Script整合運用 ========================== 全域變數 ---- 1. 指令碼:prog\_global.gs 2. 函式:get\_global() 3. 將全局的變數,利用指令碼屬性儲存,但它無法儲存物件,故我們將這個物件變數轉成JSON,要撈出時再轉成物件 4. 物件變 JSON: ```javascript JSON.stringify() ``` 5. JSON 變物件: ```javascript JSON.parse() ``` 6. 常用指令 ```javascript // 指令碼屬性:設定 SCRIPT_PROP.setProperty(屬性,值); // 指令碼屬性:取值 SCRIPT_PROP.getProperty(屬性); // Session: 取得當前使用者email(只限部署人) Session.getActiveUser().getEmail(); // 網頁應用程式網址 ScriptApp.getService().getUrl() ``` 7. 目前需要用到的「全域變數」:isAdmin、url、webTitle isAdmin、url是動態資料,不需儲存 webTitle 則是可以事先儲存,這裡先用變數,後面再來做一個界面用表單操作 8. 宣告 前台的樣版語法,可以直接調後台的函式,故 global是不用傳值進入 render(),也可以直接調用 ```javascript //------------------------------------- 3. 全域變數 var global = get_global(); //------------------------------------- 4. 選單 var menu = render('menu', {}); ``` 9. 取得全域變數 ```javascript /*===================================== 取得全域變數 =====================================*/ function get_global() { // 從指令碼屬性 取得 global global = SCRIPT_PROP.getProperty('global') ? JSON.parse(SCRIPT_PROP.getProperty('global')) : {}; // 管理員權限 global['isAdmin'] = SCRIPT_PROP.getProperty('adminEmail') === Session.getActiveUser().getEmail() ? true : false; // 網頁應用程式網址 global['url'] = ScriptApp.getService().getUrl(); return global; } ``` 10. 設定全域變數 ```javascript /*===================================== 安裝程式 =====================================*/ function setup() { //管理員email SCRIPT_PROP.setProperty("adminEmail", Session.getActiveUser().getEmail()); global = { webTitle : '育將電腦工作室' } SCRIPT_PROP.setProperty("global", JSON.stringify(global)); global = get_global(); } ``` 11. 確認 global 沒問題後,請更改樣版語法 menu.html ```javascript
= global.webTitle ?>
首頁
if(global.isAdmin){ ?>
管理員
客戶管理
} ?>
``` 12. 調整樣版 將index.html 改名 tmp.html ```javascript
!= menu ?>
資料處理中....
!= content ?>
``` 13. index(e) ```javascript /*===================================== 首頁 =====================================*/ function index(e) { let title = '首頁'; let content = ''; content = `
${title}
`; return render('tmp', {content: content}, title); } ``` 14. custom(e) ```javascript /*======================================== 客戶資料 查詢 =========================================*/ function custom(e){ let title = '客戶管理'; let content = ''; content = `
${title}
`; return render('tmp', {content: content}, title); } ``` 權限 -- 1. 種類:管理員、訪客 2. 在「建立路由與請求」單元,我們知道若要執行「客戶管理」,須透過「路由」Route.path("custom", custom),所以只將這個路由,放在 isAdmin 條件下,這樣訪客就沒有路由,也無法執行 ```javascript // ----------------------------------- 管理員 路由 if(global.isAdmin){ Route.path("custom", custom); } // ----------------------------------- 管理員 路由 END ```