漫談程序員(七)公司真實上線項目開發日志--你懂得(寫代碼做項目)
公司項目開發日志
整個暑假都在忙公司的事情,論文還沒有著落。自己本身就有寫日記的習慣,從以前的紙質到現在的電子版,總喜歡將自己的生活軌跡記錄下來,希望將來某一天自己一個人無聊的時候可以翻看一下自已曾經的生活軌跡。以下是自己在參與公司項目開發中所做的開發日志。想要強調的是做事情要循序漸進,穩抓穩打,步步推進。
2015年7月17日 星期五 17:12:37 晴
人員、需求均已確定,下面就要開始干活了。一個月必須完成。
服務端采用servlet,沒有使用到別的框架。下面回顧一下servlet的概念:
Servlet是在服務區上運行的小程序。一個Servlet就是一個java類,并且可以通過“請求-響應”編程模型來訪問的這個駐留在服務器內存里的Servlet程序。
2015年7月18日 星期六 8:14:00 陰
開始干活。
根據要求,自己需要把數據庫的端口號、用戶名、密碼更改掉。但更改時遇到了問題。
很簡單的一個問題,自己卻搞了半天。只需要刪除原來的服務實例,自己新建一個就可以了。
2015年7月19日 星期日 21:48:37 陰
把數據庫部分已做好,下面就是完成數據的寫入,從用戶注冊開始著手。
2015年7月20日 星期一 8:00:44 陰
熟悉一下代碼。完成數據的寫入,從用戶注冊開始著手。
2015年7月21日 星期二 15:13:17 陰
PS:難道自己走彎路了,沒有啊!小石給我說的那個方法只是針對lm_pay_type表的啊。明天得打電話問問他,今天就不打擾他了。
數據的寫入已經沒有問題了。前后臺已打通穴位。
2015年7月22日 星期三 8:02:27 陰
PS:果然是自己的方向出現了問題。對于每張數據表都有一個自動生成的類進行管理,應該屬于反向工程。
表的操作涉及到for?update,也就是鎖表。
游標的操作,把自己搞蒙了。
注意事項:
1.?采用了java的反射機制,應該做到客戶端傳輸的數據字段名與服務端字段屬性名稱一致。
2.?應用一啟動,在首頁位置通過像服務端發送DoQuery請求,實現廣告
圖片輪播,每張廣告圖片對應一個URL鏈接地址。
3.?導入文件時,路徑中一定不要包含中文字符或者數字等特殊符號,否則會造成意想不到的后果。
4.?由于編碼的多樣化,代碼注釋時務必使用英文進行注釋。
5.?游標的使用
/**關注/取消關注**/
public static boolean do_1001(RequestMessage request,ResponseMessage response){
Bx_gzlist bx_gzlist=new Bx_gzlist();
String optype=request.json.getString("optype");
if(!bx_gzlist.dec_upd("uid1='"+request.uid+"' and uid2='"+request.json.getString("ouid")+"'")){
response.result=MyConst.ERR_FORMAT;
response.errtext="更新粉絲表失敗";
logger.error("Query bx_gzlist error:"+bx_gzlist.errtext);
return(false);
}
bx_gzlist.fet_upd();
Bx_user me=new Bx_user();
Bx_user him=new Bx_user();
if(!me.dec_upd("uid='"+request.uid+"'")){
response.result=MyConst.ERR_FORMAT;
response.errtext="訪問用戶表失敗";
logger.error("Query bx_user error:"+me.errtext );
return(false);
}
me.fet_upd();
if(me.eof){
response.result=MyConst.ERR_FORMAT;
response.errtext="訪問用戶表失敗";
logger.error("Query bx_user error:"+request.uid );
return(false);
}
if(!him.dec_upd("uid='"+request.json.getString("ouid")+"'")){
response.result=MyConst.ERR_FORMAT;
response.errtext="訪問用戶表失敗";
logger.error("Query bx_user error:"+him.errtext );
return(false);
}
him.fet_upd();
if(him.eof){
response.result=MyConst.ERR_FORMAT;
response.errtext="訪問用戶表失敗";
logger.error("Query bx_user error:"+request.json.getString("ouid") );
return(false);
}
if(bx_gzlist.eof){
//尚未建立關注列表
bx_gzlist.clo_upd();
if(optype==null ||optype.equals("")||optype.equals("0")){
//取消關注
bx_gzlist.set_uid1(request.uid);
bx_gzlist.set_uid2(request.json.getString("ouid"));
bx_gzlist.set_stat("0");
}else{
//關注
bx_gzlist.set_uid1(request.uid);
bx_gzlist.set_uid2(request.json.getString("ouid"));
bx_gzlist.set_stat("1");
me.set_gzcnt(me.get_gzcnt()+1);
logger.error("現在的關注個數:"+me.get_gzcnt());
him.set_fscnt(him.get_fscnt()+1);
logger.error("現在的粉絲個數:"+him.get_fscnt());
}
bx_gzlist.set_gztime(Functions.getNow19());
if(!bx_gzlist.ins()){
response.result=MyConst.ERR_FORMAT;
response.errtext="更新粉絲表失敗";
logger.error("Insert bx_gzlist error:"+bx_gzlist.errtext);
return(false);
}
if(!me.upd_upd()){
response.result=MyConst.ERR_FORMAT;
response.errtext="更新粉絲表失敗";
logger.error("Update bx_user error:"+me.errtext);
return(false);
}
if(!him.upd_upd()){
response.result=MyConst.ERR_FORMAT;
response.errtext="更新粉絲表失敗";
logger.error("Update bx_user error:"+him.errtext);
return(false);
}
}else{
if(optype==null ||optype.equals("")||optype.equals("0")){
//取消關注
if(bx_gzlist.get_stat().equals("1")){
bx_gzlist.set_stat("0");
me.set_gzcnt(me.get_gzcnt()-1);
him.set_fscnt(him.get_fscnt()-1);
}else{
bx_gzlist.set_stat("0");
}
}else{
//關注
if(!bx_gzlist.get_stat().equals("1")){
bx_gzlist.set_stat("1");
me.set_gzcnt(me.get_gzcnt()+1);
him.set_fscnt(him.get_fscnt()+1);
}else{
bx_gzlist.set_stat("1");
}
}
bx_gzlist.set_gztime(Functions.getNow19());
if(!bx_gzlist.upd_upd()){
response.result=MyConst.ERR_FORMAT;
response.errtext="更新粉絲表失敗";
return(false);
}
bx_gzlist.clo_upd();
if(!me.upd_upd()){
response.result=MyConst.ERR_FORMAT;
response.errtext="更新粉絲表失敗";
logger.error("Update bx_user error:"+me.errtext);
return(false);
}
if(!him.upd_upd()){
response.result=MyConst.ERR_FORMAT;
response.errtext="更新粉絲表失敗";
logger.error("Update bx_user error:"+him.errtext);
return(false);
}
}
return(true);
}
2015年7月23日 星期四 7:58:58 陰
嗯,服務端肯定有方法傳數據給客戶端的,前面的Demo中就有實現。
1)完成用戶登錄,注冊。
2)完成藥品分類(默認、價格、銷量)查詢。
詳情:
1.?點擊“銷量“或者”價格“,即可按他們進行排序,第一次點擊為升序排列,第二次點擊變為”降序“排列,依次類推。
2.?排序區最右邊有兩個小箭頭,向上為深色,向下為淺色表示升序排列劈裂,反之表示降序排列,“默認“的排序方式不分升降序,兩個箭頭都顯示為淺色
修改排序方式,會造成重新查詢。
3.?每一次顯示X條記錄(X為參數,暫定為10),當滾動屏幕到最后一條記錄時,如果再向上滾動,會自動發一次查詢,查詢下X條記錄(可操作叮當體驗)。
3)完成刷新操作。
2015年7月24日 星期五 7:46:10 陰
將昨天的工作完成。
其插入的設計思想為:首先通過dec_upd()定義打開游標,然后通過fet_upd()抽取數據,查找待插入的數據記錄是否存在,通過定義變量eof來驗證待插入數據是否存在。若不存在,則執行clo_upd()關閉游標,并執行ins()方法插入待插入數據;若待插入數據存在,則執行upd_upd()等新數據方法,并執行clo_upd()關閉游標方法。(PS:那么數據的插入與查詢操作則可以放在同一個方法中執行!)
2015年7月25日 星期六 7:55:24 晴
上面的模塊做的差不多了,今天要安排新的模塊。
1)按關鍵字查詢藥品(可按關鍵字查詢歷史進行)
2)定位地址(藥店地址完成,客戶地址未完成)
3)二維碼掃描
4)優化刷新操作
待做:
1)過場動畫
2015年7月26日 星期日 7:55:57 晴
今日工作安排:
1)二維碼掃描
2)過場動畫
3)3003交易
碰到了棘手的問題,藥店選擇的策略是什么?全部遍歷計算一遍,比較出最小值,再進行后續操作?顯然這是效率最低的方式!
Q:用戶基本信息表中存放的是基本用戶與商戶的信息。是否應該拆成兩張表?
medprice=localRs.getDouble("medprice");
getDouble()不獲取無意義的0。
2015年7月27日 星期一 8:45:48 晴
昨天的工作沒有完成,今日繼續做。
今日工作安排:
4)二維碼掃描
5)過場動畫
6)3003交易
多表查詢實現藥店選擇:
select?lm_addr.uid?from?lm_addr,lm_user?where?lm_addr.uid=lm_user.uid?and?lm_addr.stat=lm_user.stat?and?lm_user.stat='0'?and?lm_user.utype=1
and?lm_user.addr_x=lm_addr.addr_x?and?lm_user.addr_y=lm_addr.addr_y?and?lm_user.addr_x?between?116.95985193713561
and?116.99949806286439?and?lm_user.addr_y?between?36.63210778394081?and?36.65009421605919;
給出的模版中是不能進行多表查詢的,使數據查詢變得較為復雜。
補一下地理知識
經度0°——180°(東行,標注E)0°——180°(西行,標注W)
緯度0°——90°N、0°——90°S
3003交易總算完成了。
2015年7月28日 星期二 8:02:39 晴
抓緊進度。
昨天的工作沒有完成,今日繼續做。
今日工作安排:
1)二維碼掃描
2)過場動畫
3)放入購物車
2015年7月29日 星期三 8:04:42 晴
今日工作安排:
1)二維碼掃描
2)過場動畫
3)交易3004
Ps:等到業務交易實現的差不多的時候,要設計數據表的,包括主外鍵、查詢效率等。
2015年7月30日 星期四 9:09:58 陰
今日工作安排:
1)二維碼掃描
2)過場動畫
3)交易3004
4)用戶地址操作:CRUD80038004
進行到這里感覺遇到了瓶頸,前進一小步都很困難,關鍵是業務邏輯上欠缺了一點。
2015年7月31日 星期五 8:00:53 陰
還有3周的時間,感覺進步慢了下來。要抓緊進度。
今日工作安排:
1)二維碼掃描
2)過場動畫
3)優化UI(用戶地址編輯)
4)購物車界面
5)優惠券交易?1005
2015年8月1日 星期六 8:25:05 陰
今日工作安排:
1)二維碼掃描(L)
2)過場動畫
3)優化UI(用戶地址編輯)(L)
4)購物車界面(J)
5)用戶注冊驗證碼發送(J)
6)實現退出確定(J)
7)實現撥打電話(L)
8)優化價錢顯示方式(J)
9)全部訂單(訂單詳情)(LJ)
2015年8月2日 星期日 8:45:45 晴
今日工作安排:
1)二維碼掃描(J)
2)過場動畫
3)優化UI(用戶地址編輯)(L)
4)購物車界面(J)
5)用戶注冊驗證碼發送(J)
6)實現退出確定(J)
7)實現撥打電話(L)
8)優化價錢顯示方式(J)
9)全部訂單(訂單詳情)(LJ)
10)優惠
獲取優惠券業務邏輯好復雜。
用戶注冊時使用的公鑰貌似與登陸時使用的公鑰在一定時間之后,會變得不同。需要了解密鑰生成方式。
解決方法:往數據庫中存放時,調用了數據的數據加密方式。但存在一個
疑惑:公鑰是不是變的?怎么變?
注:返回給客戶端的公鑰(是隨時間變化的)只是對客戶端數據進行加密,加密后的數據傳至服務端,經過相應私鑰解密,便可取得原始數據。寫入數據庫的數據由dbEncode()方法進行專門操作。
2015年8月3日 星期一 8:30:54 晴
今日工作安排:
1)二維碼掃描(J)
2)過場動畫
3)優化UI(用戶地址編輯)(L)
4)購物車界面(J)
5)用戶注冊驗證碼發送(J)
6)實現退出確定(J)
7)優化價錢顯示方式(J)
8)全部訂單(訂單詳情)(LJ)
9)優惠
優惠模塊完成后,必須設計測試用例。
2015年8月4日 星期二 8:44:09 陰
今日工作安排:
1)二維碼掃描(J)
2)過場動畫
3)優化UI(用戶地址編輯)(L)
4)購物車界面(加入購物車,動畫效果)(J)
5)用戶注冊驗證碼發送(J)
6)實現退出確定(L)
7)優化價錢顯示方式(J)
8)全部訂單(訂單詳情)(LJ)
9)優惠券選擇(J)
10)登出清空localstorage(L)
11)提交訂單
2015年8月5日 星期三 8:32:25 晴
今日工作安排:
1)二維碼掃描(J)
2)過場動畫
3)優化UI(用戶地址編輯)(L)
4)購物車界面(加入購物車,動畫效果)(J)
5)用戶注冊驗證碼發送(L)
6)實現退出確定(L)
7)優化價錢顯示方式(J)
8)全部訂單(訂單詳情)(LJ)
9)優惠券選擇(J)
10)登出清空localstorage(L)
11)提交訂單
2015年8月6日 星期四 8:35:30 雨
今日工作安排:
1)二維碼掃描(J)
2)過場動畫
3)優化UI(用戶地址編輯)(L)
4)購物車界面(加入購物車,動畫效果)(J)
5)用戶注冊驗證碼發送(L)
6)全部訂單(訂單詳情)(LJ)
7)優惠券選擇(J)
8)重置密碼
9)慢性病自動提醒9013
10)查詢藥師電話9102(L)
11)維護家庭藥箱(L)
2015年8月7日 星期五 8:32:00 晴
今日工作安排:
1)二維碼掃描(J)
2)過場動畫
3)優化UI(用戶地址編輯)(L)
4)用戶注冊驗證碼發送(L)
5)全部訂單(訂單詳情)(J)??9010
6)優惠券選擇(J)
7)重置密碼(L)
8)慢性病自動提醒?9013(L)
9)查詢藥師電話?9102(L)
10)維護家庭藥箱?3008(L)
11)按藥箱查詢藥品?9012(J)
12)上傳處方?9008
13)訂單狀態修改?3006(J)
14)訂單回顯
15)用藥提醒維護(J)?9013?9011
2015年8月8日 星期六 8:51:16 晴
今日工作安排:
1)二維碼掃描(L)
2)過場動畫
3)優化UI(用戶地址操作顯示方式)(L)
4)用戶注冊驗證碼發送(L)
5)優惠券選擇(J)
6)慢性病自動提醒?9013(L)
7)查詢藥師電話?9102(L)
8)上傳處方?9008
9)訂單狀態修改?3006(J)
10)訂單回顯(訂單詳情)(J)
11)用藥提醒維護(J)??9013?9011
12)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
明天必須得跟小石哥交流一下,還有好多疑問沒有解決呢。
2015年8月9日 星期日 8:47:41 晴
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)優惠券選擇(J)
5)慢性病自動提醒?9013(L)
6)查詢藥師電話?9102(L)
7)上傳處方?9008
8)訂單狀態修改?3006(J)
9)訂單回顯(訂單詳情)(J)
10)用藥提醒維護(J)??9013?9011
11)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
12)取消訂單?3006(J)
13)發表評論?1005(J)
14)分享有券(L)
15)查看評論?9005(J)
2015年8月10日 星期一 8:32:01 晴
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)優惠券選擇(L)
5)慢性病自動提醒?9013(L)
6)查詢藥師電話?9102(L)
7)上傳處方?9008
8)用藥提醒維護(J)??9013?9011
9)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
10)發表評論?1005(J)
11)分享有券(L)
12)查看評論?9005(J)
13)優化藥店選擇(J)
閑來無事,把優惠券的選擇模塊利用程序流程圖梳理一下業務邏輯,檢查自己的邏輯是否正確。
整合文檔
程序實現了莫名的錯誤,o(︶︿︶)o?唉,虛驚一場。(忘記截圖了!)在執行生成數據表對應的方法時出現java.io.FileNotFoundException:?C:\SHQ(文件名、目錄名或卷標語法不正確。)。最后還是自己重新導入項目才將問題解決了。
2015年8月11日 星期二 8:49:23 晴
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)優惠券選擇(L)
5)慢性病自動提醒?9013(L)
6)查詢藥師電話?9102(J)
7)上傳處方?9008
8)用藥提醒維護(J)??9013?9011
9)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
10)藥品圖片處理
11)藥品按銷量排序
12)用戶基本信息表(上次登陸時間-以秒計)
13)更正優惠券提醒方式
注:多家藥店提供藥品、積分消費、慢性病提醒模塊要保留位置
注:jdk1.7之前的版本不支持switch-case
2015年8月12日 星期三 8:54:58 晴
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)上傳處方?9008
5)用藥提醒維護(L)??9013?9011
6)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
7)藥品圖片處理
8)藥品按銷量排序(J)
9)用戶基本信息表(上次登陸時間-以秒計)
10)更正優惠券提醒方式
注:更改數據訪問數據表時必須采用加鎖的形式,只有查詢數據時才可以不加鎖的形式訪問。
2015年8月13日 星期四 9:01:55 晴
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)上傳處方?9008(J)
5)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
6)藥品圖片處理
7)藥品按銷量排序
8)用戶基本信息表(上次登陸時間-以秒計)
9)更正優惠券提醒方式
10)用藥提醒
11)附近藥店?9006(L)
2015年8月14日 星期五 9:06:33 陰
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)上傳處方?9008(J)
5)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
6)藥品圖片處理
7)藥品按銷量排序
8)用戶基本信息表(上次登陸時間-以秒計)
9)用藥提醒(L)
10)廣告圖片(L)
注:
1.有關java的定時器、-自己還是要好好學習的,不會就會變被動,被動就要挨打!
2.定時器很奇妙啊,設置好時間點后自動執行,而且只執行一個小時。神奇!
2015年8月15日 星期六 9:00:23 陰
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)上傳處方?9008(J)
5)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
6)藥品圖片處理
7)藥品按銷量排序
8)用戶基本信息表(上次登陸時間-以秒計)
9)用藥提醒(L)
10)廣告圖片(L)(不明白地址到底怎么搞的)
注:jdk1.6在switch語句中變量不能為String類型,可以為int類型。Jdk1.7兼容兩種類型格式。
藥店選擇30003交易較復雜,待做。
APP運行時占用內存達到200M,原因?
2015年8月16日 星期日 9:28:43 晴
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)上傳處方?9008(J)
5)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
6)藥品按銷量排序
7)用戶基本信息表(上次登陸時間-以秒計)
8)用藥提醒(J)?1012?1013
8+)用藥提醒維護(L)?1009
9)地址回顯(L)
9+)增加詳細地址(L)
10)我的通知(L)
2015年8月17日 星期一 8:37:59 晴
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)上傳處方?9008(J)
5)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
6)藥品按銷量排序
7)用戶基本信息表(上次登陸時間-以秒計)
8)用藥提醒(J)?1012?1013
2015年8月18日 星期二 8:10:35 晴
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
5)藥品按銷量排序
6)用戶基本信息表(上次登陸時間-以秒計)
7)用藥提醒日期校驗(L)
2015年8月19日 星期三 8:29:15 陰
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
5)藥品按銷量排序
6)用戶基本信息表(上次登陸時間-以秒計)
7)用藥提醒日期校驗(L)
2015年8月20日 星期四 8:20:17 陰
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
5)藥品按銷量排序
6)用戶基本信息表(上次登陸時間-以秒計)
7)用藥提醒日期校驗(L)
回過頭來看看數據庫的生成過程,我表示沒有看懂到底是如何實現的。
2015年8月21日 星期五 8:28:51 晴
今日工作安排:
1)過場動畫
2)優化UI(用戶地址操作顯示方式)(L)
3)用戶注冊驗證碼發送(L)
4)單選框、多選框(用戶注冊、購物車結算)?(L)(BUG)
5)藥品按銷量排序
6)用戶基本信息表(上次登陸時間-以秒計)
7)用藥提醒日期校驗(L)
2015年8月29日 星期六 20:09:58 晴
2015年8月30日 星期日 8:17:05 晴
源碼修改部分:
1.藥師電話查詢
2.附近藥店
3.優惠券狀態顯示
2015年8月31日 星期一 20:54:11 雨
本地測試與部署在遠程服務器上的結果不一致,懷疑是不是因為database部分代碼的原因。
明天與小石再溝通一下吧,在本地運行的沒有問題,放到服務器上有問題。
2015年9月1日 星期二 8:18:49 陰
把database部分替換掉,果然很明顯的BUG去掉了。但是說明書、圖片這些靜態資源的絕對路徑還是不對,是因為tomcat配置的路徑問題。
接著把前臺完成。加油!
不知道怎么搞的,前臺就是出不來效果,狗血。
擦,原來是因為自己把angular.min.js、jquery.js文件刪除的原因,。
2015年9月2日 星期三 17:02:52 雨
今日工作安排:
1)不同視圖間的路由
2)新增藥店
PS:前臺使用angularJS不好搞啊。自己需要靜下來思考。
現在自己遇到的問題在于angularjs的路由部分自己還沒有搞懂。看書看得我迷迷糊糊的。
自己靜下心來,今天一定要攻克下這一山頭!
2015年9月3日 星期四 8:06:37 晴
今日工作安排:
1)不同視圖間的路由
2)新增藥店
3)搞清楚$stateProvider與$routeProvider的區別與聯系?
4)web前端開發可否使用ionic框架,還是只能使用在移動app開發中?
5)在angularjs中,一個應用可以有幾個np-app?
釋疑:
3.?one.After?a?very?long?time?we?decided?to?bite?the?bullet?and?migrate?from?1.1.1?to?1.2.?At?the?same?time?we?realized?how?limited?$routerProvider?really
is?so?we?went?with?ui-router.?So?far,?we?love?it,?it?allows?you?to?do?some?complex?nesting?in?the?views?plus?add?a?bit?more?structure?to?your?app,?for?example,
in?$stateProvider?you?can?define?onEnter?and?onExit?which?allows?you?to?modify?your?data?and?restore?it?upon?exiting,?you?can?also?transitionTo?state
which?is?extremely?powerful.?I?would?vote?for?ui-router?to?be?part?of?Angular?core?and?even?replace?$routeProvider.?I?hope?this?helps?you?made?up?your?mind.?$routeProvider?still?works,
if?you?have?a?basic?app?or?demo?page.
two.We?started?with?$routeProvider?and?moved?to?$stateProvider?to?leverage?some?of?the?features?that?ui-router?provides.?When?we?moved?the?migration?was?absolutely?trivial.?Having?said?that,?ui-router?is?still?very?early?(from?their?GitHub?page):
Warning:?UI-Router?is?pre-beta?and?under?active?development.?As?such,?while?this?library?is?well-tested,?the?API?is?subject?to?change.?Using?it?in?a?project?that?requires?guaranteed?stability?is?not?recommended.
Stick?with?$routeProvider?until?you?decide?you?need?something?else.?Until?then,?make?sure?you?are?getting?good?test?coverage?so?that?shifts?like
that?aren't?too?big?of?a?concern.
原來:$stateProvider與$routeProvider是使用在兩個js文件中的,$stateProvider包含在angular-ui-router.js中,$routeProvide包含在angular-router.js中,
看你引入的是哪一個js文件了。網上說,$routeProvider更穩定一些,如果沒有特殊的需求,還是應該使用$routeProvider。
4.?ionic框架是應用在移動app開發中的ui框架,應用在web前端開發中并不合適。
2015年9月4日 星期五 7:48:50 晴
今日工作安排:
1)不同視圖間的路由
2)新增藥店
3)在angularjs中,一個應用可以有幾個np-app?
4)將項目架構重新設計一下,記得及時保存版本
看著看著自己就慢慢體會到angularjs其實是一種MVC設計模式的含義了。而Bootstrap僅僅是頁面設計工具類而已,可以為angularjs所用。
居然被瀏覽器給耍了,瀏覽器可能有緩存,才導致出現莫名其妙的錯誤,。一定要汲取這一教訓。
2015年9月5日 星期六 8:00:21 晴
今日工作安排:
1)不同視圖間的路由
2)新增藥店
3)在angularjs中,一個應用可以有幾個np-app?
4)將項目架構重新設計一下,記得及時保存版本
敗給頁面間傳值了!
2015年9月6日 星期日 8:44:55 陰
今日工作安排:
1)不同視圖間的路由
2)新增藥店
3)在angularjs中,一個應用可以有幾個np-app?
4)其他頁面路由
PS:悲劇了,不知怎么的,電腦出問題了,數據庫中的數據出現了異常,項目中js文件夾中全部js文件消失了,一定要及時備份啊。
2015年9月7日 星期一 8:02:59 晴
今日工作安排:
1)不同視圖間的路由
2)新增藥店
3)在angularjs中,一個應用可以有幾個np-app?
4)其他頁面路由
5)看懂appCallServer()方法
PS:數據庫的讀操作沒有問題,接下來就是數據庫的寫操作了。
2015年9月8日 星期二 7:51:13 晴
今日工作安排:
1)在angularjs中,一個應用可以有幾個np-app?
2)完成藥店信息查詢、刪除
2015年9月9日 星期三 7:14:04 陰
今日工作安排:
1)在angularjs中,一個應用可以有幾個np-app?
2)完成藥店信息查詢、刪除
PS:千辛萬苦終于把頁面間傳值問題解決了。
2015年9月10日 星期四 9:23:48 陰
今日工作安排:
1)在angularjs中,一個應用可以有幾個np-app?
2)完成藥店信息查詢
3)完成藥店刪除(保留)
4)完成新增優惠
5)實現下拉列表、復選框
2015年9月11日 星期五 8:24:40 小雨
今日工作安排:
1)在angularjs中,一個應用可以有幾個np-app?
2)完成藥店刪除(保留)
3)實現下拉列表、復選框
4)實現服務端藥店管理前臺
2015年9月13日 星期日 19:15:44 晴
今日工作安排:
1)在angularjs中,一個應用可以有幾個np-app?
2)完成藥店刪除(保留)
3)實現服務端藥店管理前臺
2015年9月14日 星期一 8:19:27 晴
今日工作安排:
1)在angularjs中,一個應用可以有幾個np-app?
2)完成藥店刪除(保留)
3)實現服務端藥店管理前臺
2015年9月15日 星期二 7:27:34 晴
今日工作安排:
1)在angularjs中,一個應用可以有幾個np-app?
2)完成藥店刪除(保留)
3)實現服務端藥店管理前臺
2015年9月16日 星期三 7:18:58 晴
今日工作安排:
1)在angularjs中,一個應用可以有幾個np-app?
2)完成藥店刪除(保留)
3)實現服務端藥店管理前臺
PS:有時間自己一定要學學版本控制管理工具的。
注:
路由時url必須保證唯一性,否則會出現頁面覆蓋情況。
存在的問題:
1.修改完優惠信息后,點擊左側列表回到首頁。路由出現問題。
原因:與前面遇到的問題相同,原因亦相同,都是存在網頁覆蓋,重定向一下url,問題迎刃而解。
Servlet 開發者
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。