開發共同注意事項

有加入bitbucket專案的同仁:

  • 請在Lemon專案下,建立自己分支開發
  • 勿在GoGoApp裡放入其他不相關檔案,會同步到雲端
  • 將固定變數寫在GlobalVarSet.cs檔案裡

資料夾縮寫代表:

Cal -> 行事曆 Msg -> 訊息中心 Tui -> 註冊繳費 AcaAff -> 教務 StuAff -> 學務 Per -> 人事 Acc -> 會計 Act -> 活動 Sys -> 系統 Lib -> 圖書館

建立方式請按照此,不然會出錯! (圖示資料夾中文還沒改為英文啦..)

1.在view下新增類別或項目,命名方式[資料夾縮寫][檔名],原則是不可以有同樣的檔名! ex.圖書館內的MainPage請用LibMainPage命名,教務的MainPage請用AcaAffMainPage

以最常用的content page做例子,請在view資料夾按下加入,到Prism項目新增

新增完成會自動增加viewmodel,再將檔案拖拉至資料夾下

固定循環步驟

commit and push

變更及推送

確認自己的分支

直接認可加推送,不需要再進到同步頁面按推送了

成功推送的畫面

update master

更新master

create branch

以下示範切新的分支

merge branch to branch

以下示範合併到自己的分支

create a pull request

示範發pull request

先確認更變是否有認可(commit)完成

常遇bug

不支援Debug Type 新拉下的專案要清除 重建 重開vs 可解決~

Git push to wrong branch

推錯的分支

推到master

Resetting remote to a certain commit

登入檢查

app登入之後,會寫入token到165資料庫,api將client傳來的token到165去檢查ok的話(如下sqlcmd),就允許取得api資料 所以每個api都必須傳token資料,除非是不必登入portal就可以run的功能除外

public string CheckToken(string Token)
        {
            string account = "";
            try
            {
                DataTable dt = new DataTable();
                String sql;
                sql = @" 
select * from AppAccessToken where Token=@Token and DeadLine>=getdate()
";
                SqlDataAdapter sda = new SqlDataAdapter(sql, GetSQLConn("NewPortalDB"));
                sda.SelectCommand.Parameters.AddWithValue("@Token", Token);
                sda.Fill(dt);

                if (dt.Rows.Count > 0)
                {
                    account = dt.Rows[0]["account"].ToString().Trim();
                }

            }
            catch (Exception e)
            {
                string err = e.Message;
            }

            return account;

        }

Login的事項

各位如果希望登入後導航至指定頁面,而不是預設的MainPage 可在導航至LoginPage時,如下圖設定: PassPage是你要指定導航的頁面名稱,PassPara是你要傳到指定導航頁面的字串。

整理 1.漢堡Menu的登入/登出按鈕取消,改在首頁增加一個登入/登出按鈕。以減少使用者隨時要登入/登出的情況。

2.當需要登入的情況發生時(如活動報名、館藏預約時),導到 LoginPage :

a. 只需要將必要的參數帶過去就好,不需要將 Page 的名稱也帶過去。 b. _navigationService.NavigateAsync的第三個參數要加 true ,鎖住 LoginPage 以防止使用者按畫面左上方的「上一頁」的箭頭。

            if (PCLGlobal.Token == "")
            {
                NavigationParameters fooPara = new NavigationParameters();
                 fooPara.Add("PassPara", RegActivityID);
                _navigationService.NavigateAsync("LoginPage",fooPara, true);
            }
  1. 在 LoginPage 中,完成 Login 後,利用 _navigationService.GoBackAsync 導回到上一頁就好,不需要特別指定到哪一頁。
NavigationParameters fooPara = new NavigationParameters();
fooPara.Add("PassPara", LoginPassPara);
await _navigationService.GoBackAsync(fooPara);

色碼統一

#5B5B5B\#FDEBCC\#D96E59\#F4F4F4\#5DC6BB\#6A91B0
以及取代超黑black屬性的#333333

UserInfo的UserType

public class UserInfo
    {
        //Allow:Y  有效的Token
        //Allow:N  無效的Token
        public string Allow { get; set; }

        //UserAccount 此Token的對應帳號
        public string UserAccount { get; set; }

        //UserType:E 預設是E
        //UserType:S 學生(Lea_std_basic或dat_std_basic有資料)
        //UserType:T 老師(vStaffBasic的TeacherGroup=1 or staffParttimeTeacherFlag=1)
        //UserType:A 職員(vStaffBasic的GeneralGroup=1)
        //UserType:T&A 是老師也是職員(兼任教師可能有此狀況)
        public string UserType { get; set; }
    }

results matching ""

    No results matching ""