線上書籍

Home

GAS+購物車開發

用教學專案示範 程式碼.gs

在 doGet(e)

// 取得 session //(v6.0.3) session = getSession(e.parameter.userId);

訪客路由

Route.path("login", login);// 官方登入 路由 Route.path("logout", logout);// 官方登出 路由(v6.0.3)   function.gs

大約在266行左右

/*============================================ 存儲與當前用戶會話關聯的任何數據 {login: true|flase , user:{}} (v6.0.3) ============================================*/ function setSession(session={}) { let sId = Session.getTemporaryActiveUserKey();//臨時活動用戶的唯一識別密鑰 if(!sId && session.login === true && session.user.userId){ sId = session.user.userId; } if(sId){ let uProp = PropertiesService.getUserProperties(); uProp.setProperty(sId, JSON.stringify(session)); } } /*============================================ 獲取當前用戶的識別密鑰 (v6.0.3) ============================================*/ function getSession(userId='') { let sId = Session.getTemporaryActiveUserKey();//臨時活動用戶的唯一識別密鑰 if(!sId && userId){ sId = userId; } if(!sId)return { login: false, user:{}}; //無法取值,可能在無痕模式 let uProp = PropertiesService.getUserProperties(); let sData = uProp.getProperty(sId); return sData ? JSON.parse(sData) : { login: false, user:{}}; } prog_line_bot.gs

大約在 126行

// ------------------------------------------ 官方 @管理=>好友登入 uri = global.url + `?op=login&userId=${userData.userId}&replyToken=${userData.replyToken}`; contents.push( { "type": "button", "style": "primary", "margin": "md", "height": "sm", "action": { "type": "uri", "label": "好友登入", "uri": uri } });

 

為連結加上 userId

在所有檔案上,搜尋 href、url

  1. 在樣版接首頁的後面:?userId=<?= session.user.userId ?>
  2. 在樣版接其他參數的後面:&userId=<?= session.user.userId ?>
  3. 在程式接首頁的後面(須用 `` ):  ?userId=${session.user.userId}
  4. 在程式接其他參數的後面(須用 `` ):  &userId=${session.user.userId}