# Android & iOS 實作細節討論 ###### tags: `國光客運` :::warning ### [問題] 修改密碼後,需要幫使用者用新的密碼重新登入,更新 `access token` 嗎? ::: ## 「訂票服務選擇起訖站頁面」實作細節 - 起訖站交換按鈕。若查詢結果未有該站時,顯示警告視窗並且不套用 ## 「個人資料」實作細節 非會員的個人資料,在登入帳號登出帳號後,不要清除 非會員資料保存後,登入帳號不清除手機內的非會員資料,因此在登出帳號後仍可看見非會員資料 ## 推播設定 與會員登入帳號無關,需記憶在 user preference 內 - 優惠提醒:預設「開」 - 好康快報:預設「開」 - 緊急訊息:預設「開」 ## 「註冊表單」實作細節 - 有選擇器的欄位,都預填第一可選擇項目 - 性別預填為 **男性** - 生日預填為 **今天** - 註冊會員的密碼規則: - 英文大小寫和十個阿拉伯數字,特殊字元可接受底線 "_" - 長度介於 8 ~ 16(含) - 電話號碼規則:(不分本國人與外國人) - 只接受數字 - 長度介於 6 ~ 15(含) - 外國人護照字串限制 - 接受英文大小寫與十個阿拉伯數字 - 長度介於 3 ~ 20(含) - 本國人身分證號限制 - 參考 http://www2.lssh.tp.edu.tw/~hlf/class-1/lang-c/id/index.htm - 不檢查是否為居留證號碼 - 信箱: - 長度限制512 - 姓名: - 判斷限制最多50個字(一個中文字或一個英文字母,代表一個長度) ## 票種代號對應關係 票種代號對應關係可以 Hard Code 寫死在程式內(2020.03.23 17:20 已與 Joy 確認) - "1" = 全票 - "2" = 孩童票 - "3" = 來回票 - "4" = 敬老票 - "5" = 愛心票 --- ## [問題][已解決] iOS 的時間選擇器能否顯示年份? #### Q: 「訂票服務選擇起訖站頁面」需要顯示時間選擇器選擇去程與返程時間。iOS 的時間選擇器能否顯示年份? #### A: 原生的元件無法同時顯示 又有年份又有時間 的時間選擇器 ## [問題][已解決] 居住地交換格式? #### Q: 與 `居住地` 相關的 api 有 api013, api014, api015,app要傳什麼樣的格式給伺服器? #### A: 居住地字串是以地點代碼的方式交換。地點對應表參照下方附錄。 ## 附錄:訂單狀態 TradingStatus|可取消訂票|可付款|可更改班次|可取票|備註 :----:|:----:|:----:|:----:|:----:|:----:| 00 |✅ |✅ |❌ |❌ |未付 01 |❌ |❌ |❌ |❌ |未付(已在實體通路取票) 10 |✅ |❌ |✅ |✅ |已付未取 11 |❌ |❌ |❌ |❌ |已付未取(回數票) 66 |❌ |❌ |❌ |❌ |票務系統顯示此訂單已取消 77 |❌ |❌ |❌ |❌ |票務系統查無此訂單 88 |❌ |❌ |❌ |❌ |票務系統顯示此訂單違約 ## 附錄:地點代碼 cityID | CityName :-----:|:----------: 00 | 基隆市 01 | 台北市 02 | 新北市 03 | 桃園市 04 | 新竹市 05 | 新竹縣 06 | 苗栗縣 07 | 台中市 08 | 彰化縣 09 | 南投縣 10 | 雲林縣 11 | 嘉義市 12 | 嘉義縣 13 | 台南市 14 | 高雄市 15 | 屏東縣 16 | 台東縣 17 | 花蓮縣 18 | 宜蘭縣 19 | 澎湖縣 20 | 金門縣 21 | 連江縣 ## 金流規則 - 進入信用卡付款頁面 http://ip位置/KuoKuang/KKBus_GFlow.aspx?kktoken=xxxxx&OInfo=xxxxxx - kktoken => app token - OInfo => 請依下面規則組成OInfo - 0到5位為金額(000150) - 6位為刷卡類型(1:一般信用卡 2:國民旅遊卡) - 7與8位為旅遊地區(若為一般信用卡請代入99) - 9位後為訂單編號14碼(20200330_90134) - 資料處理完畢後會導向 `TicketList.aspx?listtype=x` - listtype: - 0:使用者取消交易,導向未付款頁籤。 - 提示視窗訊息:「交易取消」 - 1:代表授權失敗,導向未付款頁籤。 - 提示視窗訊息:「信用卡授權失敗,請洽發卡銀行」 - 2:則是授權成功,導向已付款待取票頁。 - 提示視窗訊息:「信用卡付款成功」 - 3:代表當前授權失敗,請於15分鐘後再次確認是否有付款成功。 - 提示視窗訊息:「信用卡授權失敗,請於15分鐘後再次確認是否有付款成功!」 以上在網頁處理資料的過程中若有擷取到轉跳 `Error.aspx` 的頁面,請在畫面跳出視窗顯示「此筆訂單資料處理時發生系統錯誤,請盡速洽國光客服人員!」,當使用者點下確認後,轉跳到未付款的頁籤 ## PTX車輛動態 https://ptx.transportdata.tw/MOTC#/ - 車輛動態 /v2/Bus/RealTimeByFrequency/InterCity/{RouteName} 用車牌過濾(OData, ex: "PlateNumb eq 299"),沒有車牌就全部顯示 OData: https://ptxmotc.gitbooks.io/ptx-api-documentation/content/api-te-se/odata.html ``` https://ptx.transportdata.tw/MOTC/v2/Bus/RealTimeByFrequency/InterCity/123?$format=JSON&filter=PlateNumb eq '299' ``` ## Token失效 - 已登入 1. 顯示dialog並導向登入頁且清空view stack 2. 呼叫API04 - 未登入 1. 呼叫API04