張星慧 穆翠霞
摘要:基于法律服務(wù)市場(chǎng)的信息需求,為普通用戶和律師提供一個(gè)資訊、服務(wù)和溝通平臺(tái),采用SSM框架、Java語(yǔ)言和MySQL數(shù)據(jù)庫(kù),設(shè)計(jì)和開(kāi)發(fā)了基于Android的法律通APP,實(shí)現(xiàn)了手機(jī)端的法律信息查詢(律師、公證處、司法鑒定機(jī)構(gòu)、法律援助機(jī)構(gòu)、法律法規(guī)、法律圖文案例、辦事指南等)、訴訟小助手、機(jī)器人應(yīng)答服務(wù)、法律咨詢、話題分享等功能,還有Web后臺(tái)管理功能。該系統(tǒng)滿足了普通用戶和律師進(jìn)行法律事務(wù)相關(guān)信息檢索以及在線溝通的實(shí)際需要,功能簡(jiǎn)潔實(shí)用,界面友好,運(yùn)行穩(wěn)定。
關(guān)鍵詞:APP;法律事務(wù);Android;Web設(shè)計(jì)
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)19-0116-04
Abstract: Based on the information demand of legal services market, in order to provide an information, service and communication platform for ordinary users and lawyers, it used SSM framework, the Java language and MySQL database to design and develop Legal Affairs APP based on Android system. The platform realized such functions as the legal affairs information retrieval (lawyers, public notaries, legal aid agencies, judicial authentication institutions, laws and regulations, Legal Cases and services guide), the helper of litigation, the robot response services, legal consulting, topics sharing and other Web management functions. This system meets the practical needs of ordinary users and lawyers in legal affairs information retrieval and online communication, with simple and practical functions, friendly interface and stable operation.
Key words: APP; Legal affairs; Android; Web designing
1 背景
黨的十八屆四中全會(huì)確立了依法治國(guó)的基本方略,法律成為事關(guān)人民幸福安康和國(guó)家長(zhǎng)治久安的基本保障。人民群眾對(duì)于法律的了解和運(yùn)用變得更為重要,律師作為人民群眾與法律之間的橋梁,發(fā)揮著至關(guān)重要的作用。然而,當(dāng)前中國(guó)法律服務(wù)市場(chǎng)存在著明顯的“二八”問(wèn)題,即20%的律師創(chuàng)造了整個(gè)行業(yè)80%的收入,另外80%(尤其是剛從業(yè)的年輕律師)缺乏案源,律師和當(dāng)事人兩個(gè)群體之間的信息不對(duì)稱(chēng)[1]。
隨著法律意識(shí)增強(qiáng),人們也希望能夠以更方便快捷的方式了解法律信息,提高自己的法制素養(yǎng)。同時(shí),移動(dòng)互聯(lián)網(wǎng)的普及大大改變了人們的生活和學(xué)習(xí)方式,碎片化移動(dòng)端學(xué)習(xí)的特征日漸明顯[2]。針對(duì)法律服務(wù)市場(chǎng)的信息需求,設(shè)計(jì)開(kāi)發(fā)法律通APP,為普通用戶和律師提供一個(gè)溝通與服務(wù)平臺(tái),來(lái)實(shí)現(xiàn)當(dāng)事人與律師的及時(shí)溝通、法律法規(guī)以及各種辦事服務(wù)機(jī)構(gòu)等信息查詢。下文將從系統(tǒng)需求分析、設(shè)計(jì)和實(shí)現(xiàn)等幾個(gè)方面對(duì)法律通APP進(jìn)行闡述。
2 系統(tǒng)需求分析
法律通APP,主要滿足用戶通過(guò)移動(dòng)端方便地在網(wǎng)絡(luò)上獲取法律法規(guī)、司法公證、法律圖文案例等信息,尋求或者提供合適的法律咨詢和援助服務(wù)[3]。系統(tǒng)用戶主要包括三類(lèi):普通用戶、律師以及管理員。
1)普通用戶,可以查詢律師、公證處、司法鑒定機(jī)構(gòu)、法律援助機(jī)構(gòu)等信息;可以查詢法律法規(guī)、法律圖書(shū)與案例、辦事指南等;可以使用訴訟小助手;可以使用智能機(jī)器人進(jìn)行問(wèn)題咨詢。查找到合適的律師后,可以進(jìn)行咨詢。
2)律師,可以查詢法律法規(guī)、法律圖書(shū)與案例、辦事指南等;可以使用訴訟小助手;可以使用智能機(jī)器人進(jìn)行問(wèn)題咨詢;可以查看、發(fā)布或評(píng)論感興趣的話題,實(shí)現(xiàn)在線交流。
3)系統(tǒng)管理員,負(fù)責(zé)管理普通用戶和律師;管理法律法規(guī)以及圖文案例等。
三類(lèi)用戶用例圖如下圖1所示。
3 系統(tǒng)設(shè)計(jì)
依據(jù)三類(lèi)用戶角色的功能需求分析,該系統(tǒng)功能模塊主要包括:注冊(cè)/登錄、熱門(mén)資訊管理、服務(wù)推薦管理、后臺(tái)管理等,如下圖2所示。
1)注冊(cè)/登錄:普通用戶和律師用戶可以進(jìn)行注冊(cè)、登錄、注銷(xiāo)、退出等。
2)熱門(mén)資訊管理:普通用戶和律師用戶可以進(jìn)行公證處、法律援助、司法鑒定等查詢以及法律咨詢;普通用戶還可以進(jìn)行律師查詢,律師用戶還可以進(jìn)行話題分享。
3)服務(wù)推薦管理:普通用戶和律師用戶都可以進(jìn)行法律法規(guī)、圖文案例和辦事指南等查詢,可以使用訴訟小助手和機(jī)器人應(yīng)答服務(wù)。
4)后臺(tái)管理:系統(tǒng)管理員可以進(jìn)行普通用戶管理、律師用戶管理、法律法規(guī)管理和圖文案例的管理。
5)個(gè)人中心:可以管理個(gè)人基本信息和業(yè)務(wù)相關(guān)信息等。
在需求分析和總體功能模塊劃分的基礎(chǔ)上,給出數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì),包含以下9個(gè)數(shù)據(jù)庫(kù)表:
1)用戶(用戶ID,用戶名,密碼,用戶姓名,用戶性別,聯(lián)系電話,地址,用戶照片,用戶狀態(tài));
2)律師(律師ID,用戶名,密碼,律師姓名,律師性別,聯(lián)系電話,所在律所,律師年齡,地址,律師執(zhí)業(yè)證件號(hào),擅長(zhǎng)領(lǐng)域,律師照片,律師狀態(tài));
3)公證處(公證處ID,公證處名,聯(lián)系電話,地址,公證處照片,公證處介紹);
4)司法鑒定(鑒定ID,鑒定名,聯(lián)系電話,地址,鑒定處照片,鑒定處介紹);
5)法律援助(法援ID,法援名,聯(lián)系電話,地址,法援照片,法援介紹);
6)法律法規(guī)(法律ID,法律名,法律類(lèi)型,出臺(tái)時(shí)間,發(fā)布機(jī)關(guān),法條內(nèi)容);
7)圖文案例(圖文ID,標(biāo)題,圖片,發(fā)布時(shí)間,發(fā)布內(nèi)容);
8)話題(話題ID,話題內(nèi)容,話題發(fā)布者用戶名,話題標(biāo)題,話題發(fā)布時(shí)間);
9)評(píng)論(評(píng)論ID,評(píng)論內(nèi)容,評(píng)論者用戶名,話題ID)。
4 系統(tǒng)功能實(shí)現(xiàn)
下面從開(kāi)發(fā)技術(shù)與軟硬件環(huán)境配置、主界面設(shè)計(jì)效果以及關(guān)鍵功能的設(shè)計(jì)與實(shí)現(xiàn)等方面闡述法律通APP的系統(tǒng)實(shí)現(xiàn)。
4.1 開(kāi)發(fā)技術(shù)與環(huán)境
法律通APP的開(kāi)發(fā),選擇Eclipse開(kāi)發(fā)手機(jī)用戶端和MyEclipse開(kāi)發(fā)Web后臺(tái)管理端,采用JDK 1.7集成開(kāi)發(fā)環(huán)境和Tomcat7服務(wù)器。選擇開(kāi)源MySQL數(shù)據(jù)庫(kù)及當(dāng)前流行且兼容性較好的JAVA語(yǔ)言,手機(jī)系統(tǒng)Android4.3。
采用MVC(Model-View-Controller)模式,將數(shù)據(jù)、業(yè)務(wù)邏輯、界面顯示相分離。采用JavaScript實(shí)現(xiàn)Web頁(yè)面的交互效果,采用jQuery框架簡(jiǎn)化了JavaScript編程,而且jQuery框架直接支持AJAX編程。采用了SSM(SpringMVC-Spring-Mybatis)框架實(shí)現(xiàn)Web后端業(yè)務(wù)[4]。在前端和后端的請(qǐng)求和數(shù)據(jù)的傳輸采用了JSON(JavaScript Object Notation)存儲(chǔ)。
4.2 主界面設(shè)計(jì)
普通用戶主界面和律師用戶主界面如下圖3、圖4所示[5]。
4.3 關(guān)鍵功能的設(shè)計(jì)與實(shí)現(xiàn)
1)前后端數(shù)據(jù)庫(kù)連接與共享[6]
因?yàn)橄到y(tǒng)移動(dòng)前端和后臺(tái)需要共享數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)連接時(shí)采用了JSON方法傳送數(shù)據(jù)。下面以普通用戶的登錄為例說(shuō)明具體技術(shù)實(shí)現(xiàn)。
打開(kāi)法律通APP,用戶選擇角色后進(jìn)入到普通用戶的登錄界面,輸入已經(jīng)注冊(cè)過(guò)的用戶名和密碼,若與MySQL數(shù)據(jù)庫(kù)中的用戶名、密碼相符,則可以進(jìn)入到主頁(yè)面。Eclipse端與MyEclipse端的項(xiàng)目在連接同一個(gè)MySQL數(shù)據(jù)庫(kù)上的操作,具體過(guò)程:首先,用戶點(diǎn)擊“登錄”,Eclipse端調(diào)用onClick事件,因需要與外面的數(shù)據(jù)庫(kù)鏈接,所以建立一個(gè)線程,將所輸入的用戶名、密碼使用json方法傳輸?shù)組yEclipse端;然后,在MyEclipse端實(shí)現(xiàn)與MySQL數(shù)據(jù)庫(kù)的比對(duì),并用status記錄下數(shù)據(jù)是否符合,并傳回Eclipse端;接著,在Eclipse端進(jìn)行解析,若status=1,則數(shù)據(jù)符合,登錄成功,若status=0,則說(shuō)明數(shù)據(jù)存在問(wèn)題,提醒用戶重新填寫(xiě)。
2)信息檢索功能實(shí)現(xiàn)[7]
各種信息檢索,包括公證處、法律援助、司法鑒定、律師、法律法規(guī)、圖文案例和辦事指南等,技術(shù)實(shí)現(xiàn)方法是類(lèi)似的,僅以法律法規(guī)查詢?yōu)槔U述,實(shí)現(xiàn)關(guān)鍵代碼如下:
LawSelectActivity.java
case R.id.btn_select://點(diǎn)擊查詢
String et_lawname1=et_lawname.getText().toString().trim();
String actv_lawtype1=actv_lawtype.getText().toString().trim();
String et_lawplace1=et_lawplace.getText().toString().trim();
Intent intent = new Intent();
intent.putExtra("et_lawname", et_lawname1);//將數(shù)據(jù)存儲(chǔ)在intent中
intent.putExtra("actv_lawtype", actv_lawtype1);
intent.putExtra("et_lawplace", et_lawplace1);
intent.setClass(LawSelectActivity.this,LawDetailActivity.class);
startActivity(intent);//實(shí)現(xiàn)跳轉(zhuǎn)
String[] cuisines = { "法律", "行政法規(guī)", "部門(mén)規(guī)章", "地方政府規(guī)章"};
ArrayAdapter
android.R.layout.simple_dropdown_item_1line, cuisines);
actv_lawtype.setAdapter(adapter);
3)訴訟小助手功能[7]
進(jìn)入到訴訟費(fèi)用計(jì)算界面,選擇訴訟類(lèi)型和標(biāo)的額后,點(diǎn)擊計(jì)算即可查看到參考價(jià)格。實(shí)現(xiàn)關(guān)鍵代碼如下:
JisuanActivity.java
case R.id.btn_jisuan:
int et_biaodi1=Integer.parseInt(et_biaodi.getText().toString().trim());
//將從ExitText中獲取的String型內(nèi)容轉(zhuǎn)為整形int
String actv_sutype1=actv_sutype.getText().toString().trim();
4)機(jī)器人應(yīng)答功能實(shí)現(xiàn)[7]
機(jī)器人的應(yīng)答功能實(shí)現(xiàn),主要借助圖靈機(jī)器人第三方平臺(tái)。在官方網(wǎng)站上,借助其服務(wù)器創(chuàng)建自己的個(gè)人機(jī)器人“小小律師”,然后對(duì)其私有語(yǔ)料庫(kù)進(jìn)行添加。例如,輸入標(biāo)題“刑法第411條”,輸入答案“【放縱走私罪】海關(guān)工作人員徇私舞弊,放縱走私,情節(jié)嚴(yán)重的,處五年以下有期徒刑或者拘役;情節(jié)特別嚴(yán)重的,處五年以上有期徒刑”,點(diǎn)擊提交即可產(chǎn)生一條語(yǔ)料。此時(shí)還需設(shè)置其問(wèn)答匹配度,才能使用戶輸入問(wèn)題與語(yǔ)料庫(kù)實(shí)現(xiàn)有效匹配,使機(jī)器人能夠盡量做出精準(zhǔn)回答。然后在Eclipse開(kāi)發(fā)環(huán)境中,配置好創(chuàng)建過(guò)程中的API接口和apikey的對(duì)應(yīng)信息,并根據(jù)線程傳輸來(lái)的信息,設(shè)置對(duì)話的布局,實(shí)現(xiàn)雙方的交流。功能實(shí)現(xiàn)關(guān)鍵代碼如下:
private static final String URL = "http://www.tuling123.com/openapi/api";
private static final String API_KEY = "b5b73ec2413445469812913cb1cd4128";
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ChatMessage chatMessage = mDatas.get(position);
ViewHolder viewHolder = null;
if (convertView == null)
{ // 通過(guò)ItemType設(shè)置不同的布局
if (getItemViewType(position) == 0){
convertView = mInflater.inflate(R.layout.item_from_msg, parent,false);
viewHolder = new ViewHolder();
viewHolder.mDate = (TextView) convertView.findViewById(R.id.id_form_msg_date);
viewHolder.mMsg = (TextView) convertView.findViewById(R.id.id_from_msg_info);
} else{
convertView = mInflater.inflate(R.layout.item_to_msg, parent,false);
viewHolder = new ViewHolder();
viewHolder.mDate = (TextView) convertView.findViewById(R.id.id_to_msg_date);
viewHolder.mMsg = (TextView) convertView.findViewById(R.id.id_to_msg_info);
}
convertView.setTag(viewHolder);
} else{
viewHolder = (ViewHolder) convertView.getTag();
}
// 設(shè)置數(shù)據(jù)
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
viewHolder.mDate.setText(df.format(chatMessage.getDate()));
viewHolder.mMsg.setText(chatMessage.getMsg());
return convertView
}
后臺(tái)管理主要實(shí)現(xiàn)了系統(tǒng)管理員的用戶管理、律師管理、法律法規(guī)管理和圖文案例管理的增、刪、改、查等基本操作功能,具體實(shí)現(xiàn)不再贅述。
5 結(jié)束語(yǔ)
法律通APP系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),為普通用戶和律師提供了法律相關(guān)信息檢索和法律事務(wù)咨詢服務(wù)的交流平臺(tái),實(shí)現(xiàn)了熱門(mén)資訊管理、服務(wù)推薦管理、后臺(tái)管理以及個(gè)人中心等功能模塊,還可以使用智能機(jī)器人應(yīng)答服務(wù),滿足了不同用戶的多樣化法律需求。今后,還需要研究完善的方面,比如優(yōu)化界面設(shè)計(jì),手機(jī)端增加舉報(bào)用戶功能以及嵌入語(yǔ)音視頻實(shí)時(shí)聊天交流功能等。
參考文獻(xiàn):
[1] 嚴(yán)林. 法律服務(wù)APP的現(xiàn)狀與發(fā)展前景[C]. 第一屆全國(guó)法學(xué)本科生學(xué)術(shù)論壇論文集, 2015: 441-452.
[2] 王春苗. 全省首款法律援助APP在溫州上線[N]. 浙江法制報(bào), 2016-07-05: 2.
[3] 胡利敏, 崔祥云. 法律咨詢APP交互設(shè)計(jì)研究[J]. 電腦知識(shí)與技術(shù), 2018(3): 98-100, 107.
[4] 楊開(kāi)振. Java EE互聯(lián)網(wǎng)輕量級(jí)框架整合開(kāi)發(fā)—SSM框架和Redis實(shí)現(xiàn)[M]. 北京: 電子工業(yè)出版社, 2017.
[5] 唐亮, 杜秋陽(yáng). Android開(kāi)發(fā)基礎(chǔ)[M]. 北京: 高等教育出版社, 2016.
[6] 王慶喜, 趙浩婕. MySQL數(shù)據(jù)庫(kù)應(yīng)用教程[M]. 北京: 中國(guó)鐵道出版社, 2016.
[7] 唐亮, 王洋. Java開(kāi)發(fā)基礎(chǔ)[M]. 北京: 高等教育出版社, 2016.