欧洲变态另类zozo,欧美xxxx做受欧美gaybdsm,欧洲熟妇色xxxx欧美老妇软件,免费人成视频xvideos入口 ,欧美.日韩.国产.中文字幕

歡迎光臨本站
我們一直在努力

微信小程序的火車票查詢的代碼

這篇文章主要介紹了微信小程序 火車票查詢實(shí)例講解的相關(guān)資料,這里提供了簡(jiǎn)單實(shí)例來(lái)說(shuō)明微信小程序的框架及如何開發(fā),需要的朋友可以參考下

          微信小程序 簡(jiǎn)單實(shí)例—火車票查詢應(yīng)用,學(xué)習(xí)掌握小程序框架,及開發(fā)步驟的實(shí)現(xiàn)。微信小程序體現(xiàn)了輕便,易用的特點(diǎn),并且上手快,前端知識(shí)好學(xué)易用。

1. 相關(guān)鏈接

本本項(xiàng)目代碼獲取地址

Github:https://github.com/VincentWYJ/WXAppTrain.git;

Blog file:http://files.cnblogs.com/files/tgyf/WXAppTrain.rar;

微信小程序開發(fā)學(xué)習(xí)資料

微信開發(fā)者平臺(tái):https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html?t=1475052055990,小程序開發(fā)工具可以在里面下載,值得高興的是新版本已經(jīng)不再需要借助安裝0.7版本進(jìn)行先登錄,而是可以直接登錄來(lái)開發(fā)與調(diào)試;

Flex css layout:http://www.w3cplus.com/css3/flexbox-basics.html,像我這樣的非前段開發(fā)者,對(duì)于Flex layout的使用得先花時(shí)間學(xué)習(xí)一番,不然連最基本的組件布局都比較困難,更不要說(shuō)設(shè)計(jì)出美觀、交互性強(qiáng)的界面;

小程序:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1474632113_xQVCl&token=&lang=zh_CN,點(diǎn)擊提示無(wú)法打開/回到首頁(yè)的話請(qǐng)復(fù)制粘貼到地址欄進(jìn)行打開,這里面的內(nèi)容可以說(shuō)是和第一個(gè)鏈接中的內(nèi)容相輔相成,邊學(xué)邊用吧;

2. 界面展示

 結(jié)合動(dòng)態(tài)圖描述一下目前實(shí)現(xiàn)的功能:

2.1 主頁(yè)上半部分顯示用戶頭像與用戶名(和微信中的信息一致,這部分組件是工具自帶的,我們可以修改這部分組件和內(nèi)容,稍候會(huì)提到);下半部分顯示一個(gè)經(jīng)典的問(wèn)候語(yǔ)“Hello World”,提供一個(gè)可點(diǎn)擊的按鈕“點(diǎn)擊獲取火車票”;

2.2 點(diǎn)擊按鈕后,通過(guò)事先指定的參數(shù)(調(diào)用了百度APIStore中去哪網(wǎng)火車票查詢接口,站-站查詢所需參數(shù)為始發(fā)地、目的地及時(shí)間)發(fā)送網(wǎng)絡(luò)請(qǐng)求,將獲取到的JSON數(shù)據(jù)按火車車次為節(jié)點(diǎn)進(jìn)行解析并在新頁(yè)面顯示基本信息(除了詳細(xì)座位信息),為每個(gè)車次提供一個(gè)可點(diǎn)擊的按鈕“點(diǎn)擊查看座位信息”;

2.3 點(diǎn)擊某車次中的座位查詢按鈕后,會(huì)將該車次對(duì)應(yīng)的所有座位信息顯示在新頁(yè)面中;

2.4 點(diǎn)擊后兩個(gè)頁(yè)面左上角的“返回”按鈕可回到上一頁(yè),這個(gè)功能也是工具自帶的;

順便提一下在博客園中插入動(dòng)畫,上面的演示過(guò)程是一張格式為gif的圖片,像添加普通圖片一樣操作即可。錄制工具使用的是靈者Gif錄制,可以指定開始、停止時(shí)所需操作與區(qū)域等錄制信息。

3. 要點(diǎn)分析

關(guān)于微信小程序工具的使用及初始項(xiàng)目的結(jié)構(gòu)說(shuō)明,網(wǎng)上資源已經(jīng)很豐富,這里不打算再啰嗦,有不了解的可以參考:

下面開始講講我個(gè)人在學(xué)習(xí)與開發(fā)過(guò)程中認(rèn)為值得分享與記錄的點(diǎn),歡迎大小神們一起討論與指正,特別是講得不對(duì)或有待改善的地方。下面只給出和講的點(diǎn)直接相關(guān)的代碼,整體代碼可以到項(xiàng)目工程中去查看,建議大家自己調(diào)試一遍。

3.1 index

index是項(xiàng)目新建時(shí)自動(dòng)生成的,作為小程序的啟動(dòng)頁(yè)面。

3.1.1 index.wxml

首頁(yè)的頭像與用戶名,從上圖的演示過(guò)程可以看出我將微信的名字“***”改成了“用戶名”:

1 <view bindtap="bindViewTap" class="userinfo">
2   <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>
3   <text class="userinfo-nickname">用戶名</text> <!-- {{userInfo.nickName}}直接寫成“用戶名” -->
4 </view>
登錄后復(fù)制

用戶名部分原本的內(nèi)容為{{userInfo.nickName}},{{key_name}}的作用是獲取關(guān)鍵字名為key_name對(duì)應(yīng)的值(數(shù)據(jù)一般以key_name:value的形式定義在wxml文件同目錄下js文件的data成員中,后面會(huì)講解),image顯示的頭像資源也是通過(guò)這種方式指定為src=”{{userInfo.avatarUrl}}”,程序中產(chǎn)生的數(shù)據(jù)可以在開發(fā)者工具頂部偏右的AppData欄中查看。

如果不需要從js文件中獲取數(shù)據(jù),那么可以像代碼中“用戶名”那樣直接寫入數(shù)據(jù)值,不過(guò)一般不推薦這樣做,因?yàn)橄馎ndroid等平臺(tái)App在開發(fā)時(shí)會(huì)將數(shù)據(jù)值放入strings.xml等文件,目的是為了將數(shù)據(jù)與布局分離,布局和功能實(shí)現(xiàn)代碼分離,方便開發(fā)與維護(hù)。

組件中的class項(xiàng)用來(lái)設(shè)置其樣式,屬性名對(duì)應(yīng)的樣式信息定義在wxss文件中,除了可以使用定義在本目錄wxss文件中的樣式,還可以使用app.wxss文件中定義的。如果樣式只是在某頁(yè)面中使用,那么建議定義在其目錄下的wxss文件中,即局部作用域內(nèi);如果是多個(gè)頁(yè)面共同使用,即全局樣式,那么一般定義在主程序app.wxss文件中。class樣式可以指定組件的寬高、背景顏色等屬性,本文不再進(jìn)行詳述。

在界面下方添加按鈕“點(diǎn)擊獲取火車票”組件:

1 <view class="gettrain-button" bindtap="getTrainInfo">
2   <text>點(diǎn)擊獲取火車票</text>
3 </view>
登錄后復(fù)制

按鈕的目標(biāo)是為了讓用戶可以點(diǎn)擊進(jìn)行交互,至于使用button、text或其他組件,視具體需求而定。這里是利用text組件,文本內(nèi)容直接寫入了字串“點(diǎn)擊獲取火車票”,對(duì)于只有一個(gè)子組件的布局其實(shí)可以如下面代碼不用嵌套,一層布局搞定。一般來(lái)說(shuō)嵌套層數(shù)越少,加載速度越快,這對(duì)移動(dòng)程序的體驗(yàn)是至關(guān)重要的。

1 <view class="gettrain-button" bindtap="getTrainInfo">
2   點(diǎn)擊獲取火車票
3 </view>
登錄后復(fù)制

但如果在父容器下有多個(gè)子組件共享其定義的樣式,那么嵌套可以另代碼簡(jiǎn)潔很多:

1 <view class="gettrain-button">
2   <text bindtap="getTrainInfo">點(diǎn)擊獲取火車票</text>
3   <text bindtap="getCarInfo">點(diǎn)擊獲取汽車票</text>
4   <text bindtap="getPlaneInfo">點(diǎn)擊獲取飛機(jī)票</text>
5 </view>
登錄后復(fù)制

組件若要有點(diǎn)擊交互功能,須為其綁定事件響應(yīng)方法,常用的有單點(diǎn)–bindtap,長(zhǎng)按–binglongtap。bindtap=”getTrainInfo”,雙引號(hào)中的文本是方法名稱,在js文件中以該名定義方法,做需要的處理即可。

3.1.2 index.js

實(shí)現(xiàn)wxml布局中按鈕“點(diǎn)擊獲取火車票”綁定的函數(shù)功能:

//獲取火車票函數(shù)
getTrainInfo: function() {
 wx.request({
  url: 'http://apis.baidu.com/qunar/qunar_train_service/s2ssearch',
  header: {
   apikey: '361cf2a2459552575b0e86e0f62302bc',
  },
  data: {
   version: '1.0',
   from: '北京',
   to: '杭州',
   date: '2016-11-15',
  },
  success: function(res) {
   var json = res.data;
   //將JSON類型轉(zhuǎn)為String類型用以u(píng)rl參數(shù)傳遞,否則傳遞后會(huì)變成[object Object]
   var jsonString = JSON.stringify(json);
   wx.navigateTo({
    url: '../train/train?trainInfos='+jsonString,
   });
  },
 });
},
登錄后復(fù)制

我們先來(lái)看看微信小程序官網(wǎng)對(duì)于網(wǎng)絡(luò)請(qǐng)求方法–wx.request(OBJECT)的說(shuō)明:

一般來(lái)說(shuō),wx api提供的方法默認(rèn)會(huì)有一個(gè)Object參數(shù),需要時(shí)傳入,不需要時(shí)不傳便是。不過(guò)這對(duì)于像我這種Android開發(fā)者來(lái)說(shuō)一開始有點(diǎn)不適應(yīng),怎么函數(shù)調(diào)用時(shí)都傳入一個(gè){…}參數(shù),內(nèi)部各個(gè)項(xiàng)之間用逗號(hào)“,”分隔,代碼中的url、data等。

從代碼中看,發(fā)起網(wǎng)絡(luò)請(qǐng)求時(shí)傳入了圖中列出的四項(xiàng)參數(shù):url、header、data及success,不同需求傳入的參數(shù)也會(huì)不同。對(duì)于wx.request方法而言,需根據(jù)網(wǎng)絡(luò)請(qǐng)求目標(biāo)來(lái)傳參數(shù)的是前四項(xiàng):url、header、data及method。

以本案例利用百度APIStore去哪網(wǎng)火車票獲取站–站火車票信息來(lái)說(shuō)(http://apistore.baidu.com/apiworks/servicedetail/697.html),其官網(wǎng)給出的接口調(diào)用的參數(shù)信息與格式如下:

將上面兩張圖中的信息結(jié)合起來(lái)看,參數(shù)是一一對(duì)應(yīng)的:

wx url——火車票查詢 接口地址;

header——請(qǐng)求參數(shù)header;

data——請(qǐng)求參數(shù)urlParam;

method——請(qǐng)求方法;

因?yàn)閣x中的method參數(shù)默認(rèn)是GET,和火車票查詢接口指定的一致,所以調(diào)用時(shí)可以省略。

而對(duì)于最后三個(gè)回調(diào)函數(shù):success、fail及comlete,代碼中添加了success,在請(qǐng)求成功時(shí)對(duì)數(shù)據(jù)進(jìn)行處理。當(dāng)然,一般的程序還得對(duì)請(qǐng)求失敗的情況做處理。下面就來(lái)分析success方法中的代碼,包括JSON數(shù)據(jù)的轉(zhuǎn)換與新頁(yè)面的跳轉(zhuǎn),請(qǐng)求返回的數(shù)據(jù)以參數(shù)res的形式傳入到function中。先來(lái)看看res中包含了哪些信息,通過(guò)代碼console.log(res)可以將其打印在工具調(diào)試頁(yè)面的Console項(xiàng)中。

request–ok和statusCode–200表示請(qǐng)求成功,所以才會(huì)回調(diào)success方法。而data對(duì)象才是我們需要的數(shù)據(jù),更精確地說(shuō),data.data.trainList對(duì)象才是真正的火車票信息。

var json = res.data,獲取data對(duì)象(網(wǎng)絡(luò)請(qǐng)求返回的數(shù)據(jù)一般為JSON格式),賦給變量json;

var jsonString = JSON.stringify(json),將JSON類型對(duì)象暫時(shí)轉(zhuǎn)換為String類型,用來(lái)作為url的參數(shù)部分進(jìn)行傳遞;一開始在這里耽擱了很久,不進(jìn)行轉(zhuǎn)換直接傳的話在目標(biāo)頁(yè)面獲取不到想要的數(shù)據(jù),下面會(huì)說(shuō)明原因;

url: ‘../train/train?trainInfos=’+jsonString,通過(guò)url指定的信息跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面,如果不需要額外參數(shù),直接寫url: ‘../train/train’;如果只是傳遞簡(jiǎn)單的值,可寫成url: ‘../train/train?param=123’;

至此,如果網(wǎng)絡(luò)沒(méi)有問(wèn)題,點(diǎn)擊按鈕便可以進(jìn)行火車票的查詢并攜帶結(jié)果數(shù)據(jù)跳轉(zhuǎn)到新頁(yè)面了。

3.2 train

train是自定義新建的頁(yè)面,用來(lái)顯示火車票基本信息,注意新添的頁(yè)面需在app.json文件中進(jìn)行配置。

1 “pages/train/train”, //火車票車次信息頁(yè)面
2 “pages/seat/seat” //車次余票信息頁(yè)面

3.2.1 train.wxml

由于站–站火車票所有車次的始發(fā)站和終點(diǎn)站是一樣,如北京–杭州東,所以先在頁(yè)面頂部顯示站點(diǎn)信息:

1

出發(fā)地:{{trainList[0].from}}

2

目的地:{{trainList[0].to}}

trainList對(duì)象會(huì)在js文件中定義成data成員,值為上面最后一張圖中的JSON對(duì)象–trainList,即火車票車次數(shù)組,每個(gè)元素包含一個(gè)車次的具體信息。

接下來(lái)顯示每個(gè)車次的信息,以橫線作分隔(由于是以學(xué)習(xí)和測(cè)試為目的,所以就沒(méi)有在布局的美觀上下功夫,大家見諒):

 1 <view class="line"></view>
 2 <block wx:for="{{trainList}}" wx:for-item="train">
 3  <text class="train-item">{{index+1}}. 車次:{{train.trainNo}}</text>
 4  <text class="train-item">車型:{{train.trainType}}</text>
 5  <text class="train-item">起始時(shí)間:{{train.startTime}}</text>
 6  <text class="train-item">到站時(shí)間:{{train.endTime}}</text>
 7  <text class="train-item">總時(shí)長(zhǎng):{{train.duration}}</text>
 8  <view id="trainindex-{{index}}" class="getseat-button" bindtap="getSeatInfo">
 9   <text>點(diǎn)擊查看座位信息</text>
10  </view>
11  <view class="line"></view>
12 </block>
登錄后復(fù)制

第1、11行很簡(jiǎn)單,在站點(diǎn)與車次、車次與車次之間添加橫線。

當(dāng)布局中的組件個(gè)數(shù)和js中的數(shù)據(jù)有關(guān),即在wxml中寫死組件不能滿足需求時(shí),可以利用block和wx:for來(lái)進(jìn)行組件的動(dòng)態(tài)生成。

第2行wx:for=”{{trainList}}”表示block塊中的組件可以使用數(shù)組trainList中的內(nèi)容,從下標(biāo)0開始迭代,數(shù)據(jù)中有幾個(gè)元素,就會(huì)動(dòng)態(tài)生成幾套組件。wx:for-item=”train”指定數(shù)組中元素的名稱為train(默認(rèn)的是item,指定的意義之一是可讀性強(qiáng)),后續(xù)獲取屬性值時(shí)可通過(guò)train.key_name的形式。

第3行開始添加組件,類型是text,值為{{index+1}}. 車次:{{train.trainNo}},前半部分用來(lái)標(biāo)明每個(gè)車次的序號(hào),從1開始;而index和item類似,是默認(rèn)的迭代索引名稱,其實(shí)就是數(shù)組元素當(dāng)前的下標(biāo),從0開始。

后面幾行添加text組件和第3行差不多,但第8行有兩個(gè)點(diǎn)說(shuō)一下:

*1 bindtap=”getSeatInfo”,綁定一個(gè)回調(diào)函數(shù),點(diǎn)擊時(shí)跳轉(zhuǎn)到新頁(yè)面,顯示當(dāng)前車次對(duì)應(yīng)的座位信息;

*2 id=”trainindex-{{index}}”,給組件指定id,可以看到之前的組件都沒(méi)有設(shè)置過(guò)該屬性(不需要就可以不設(shè)置),那么什么時(shí)候需要呢?其中一種情況,當(dāng)js中某組件綁定的回調(diào)方法需要得知是哪個(gè)組件觸發(fā)了自己的時(shí)候,比如第一點(diǎn)中的方法getSeatInfo,要想點(diǎn)擊某車次的查看座位信息按鈕后顯示出對(duì)應(yīng)的座位信息,就得知道點(diǎn)擊組件對(duì)應(yīng)的trainList數(shù)組下標(biāo),而這個(gè)需求,正好可以借助id和index屬性來(lái)實(shí)現(xiàn);

3.2.2 train.js

首先定義data成員trainList,用來(lái)接收index頁(yè)面?zhèn)鬟f過(guò)來(lái)的數(shù)據(jù):

trainList: []

頁(yè)面啟動(dòng)時(shí)若有數(shù)據(jù)需要載入,那么得添加onLoad方法(一開始自動(dòng)運(yùn)行,在其中實(shí)現(xiàn)數(shù)據(jù)的加載與處理),否則可以不添加。

1 onLoad: function(options) {
2   var jsonString = options.trainInfos;
3   //將字串類型轉(zhuǎn)為JSON類型
4   var json = JSON.parse(jsonString);
5   this.setData({
6    trainList: json.data.trainList,
7   });
8 },
登錄后復(fù)制

當(dāng)方法的調(diào)用者有參數(shù)傳入時(shí),我們可以通過(guò)添加方法參數(shù)的形式來(lái)獲取。對(duì)于參數(shù)名,自動(dòng)啟方法一般為options,組件回調(diào)方法一般為e(event)。

第2行獲取index頁(yè)面在打開train頁(yè)面時(shí)傳入的火車票信息參數(shù)trainInfos。

第4行將String類型對(duì)象轉(zhuǎn)換回JSON格式,之前在index頁(yè)面提到過(guò),url傳的參數(shù)是由JSON格式對(duì)象轉(zhuǎn)換過(guò)來(lái)的String類型。

第6行將真正的火車票車次信息數(shù)組取出,賦給數(shù)據(jù)成員trainList。

注意:給數(shù)據(jù)成員賦值時(shí),必須調(diào)用頁(yè)面自身的setData方法,否則就算賦值了也不會(huì)同步到wxml文件中去,這一點(diǎn)容易出錯(cuò)且不好定位原因。

車次數(shù)組得到后,wxml文件就會(huì)根據(jù)組件的屬性設(shè)置顯示對(duì)應(yīng)的信息。再來(lái)看實(shí)現(xiàn)按鈕“點(diǎn)擊查看座位信息”對(duì)應(yīng)的回調(diào)方法:

1 getSeatInfo: function(e) {
 2  var prefix = 'trainindex-';
 3  var trainIndex = e.currentTarget.id.substring(prefix.length);
 4  //輸出根據(jù)組件id獲取的車票索引,用以顯示詳細(xì)的座位信息
 5  console.log(trainIndex);
 6  var trainNo = this.data.trainList[trainIndex].trainNo;
 7  var json = this.data.trainList[trainIndex].seatInfos;
 8  //將JSON類型轉(zhuǎn)為String類型用以u(píng)rl參數(shù)傳遞,否則傳遞后會(huì)變成[object Object],同時(shí)傳遞車次
 9  var jsonString = JSON.stringify(json);
10  wx.navigateTo({
11   url: '../seat/seat?'+'trainNo='+trainNo+'&seatInfos='+jsonString,
12  });
13 },
登錄后復(fù)制

第2、3行獲取之前定義的組件id中的index部分,即點(diǎn)擊組件對(duì)應(yīng)的trainList數(shù)組的下標(biāo)。當(dāng)然原先定義時(shí)也可以不添加前綴’trainindex-‘,完全是為了可讀性,因?yàn)楫?dāng)項(xiàng)目越來(lái)越大時(shí)有個(gè)一目了然的標(biāo)示總是不錯(cuò)的。

第6、7行分別獲取車次信息的列車號(hào)與座位信息,他們稍候會(huì)被傳遞到seat頁(yè)面。

第9行同樣地將得到的JSON格式對(duì)象先轉(zhuǎn)換為String類型,讓其可以在url中作為可被正確傳遞的參數(shù)。

第11行打開新的頁(yè)面seat顯示座位信息,多個(gè)參數(shù)之間以“&”符號(hào)分隔。

3.2.3 train.json

主程序中app.json文件除了配置需要調(diào)用onLoad方法的頁(yè)面外,還指定了一些全局的window樣式。若某個(gè)頁(yè)面在自己的json文件中沒(méi)有定義局部的window屬性,或根本沒(méi)有json文件,那默認(rèn)將使用全局的。

項(xiàng)目初始沒(méi)有為index生成json文件,因?yàn)槠渥鳛閱?dòng)頁(yè),直接用全局的“WeChat”就好,其實(shí)index標(biāo)題應(yīng)該是小程序的名稱,我們自己真正開發(fā)的程序肯定得取另一個(gè)名字。

可以看到,logs、train及seat都對(duì)標(biāo)題進(jìn)行了定義,結(jié)果就是會(huì)覆蓋掉全局的值。以train為例,其在json文件中定義標(biāo)題為“站-站火車查詢信息”:

1 {
2   "navigationBarTitleText": "站-站火車查詢信息"
3 }
登錄后復(fù)制

還有一點(diǎn),頁(yè)面的json文件不需要也不能頁(yè)面配置屬性(Pages),只能設(shè)置window屬性,所以就可以省略window名稱,直接像上述代碼用{…}形式即可。

3.3 seat

seat頁(yè)面用來(lái)顯示某車次的座位信息,包括座位等級(jí)、票價(jià)及余票。通過(guò)train頁(yè)面的分析,相信大家對(duì)網(wǎng)絡(luò)請(qǐng)求,數(shù)據(jù)在頁(yè)面與頁(yè)面、wxml與js文件之間的傳遞漸漸熟悉了。而seat和train類似,沒(méi)有什么特別的地方,所以和logs一樣這里就不再講什么了。

4. 小感悟

 微信小程序,雖然目前還不知道其在微信的接入口,但應(yīng)該和訂閱號(hào)、服務(wù)號(hào)以及企業(yè)號(hào)會(huì)有所不同。搜索打開使用,用完關(guān)閉,沒(méi)有移動(dòng)app的安裝、下載等過(guò)程,微信流量大,輕便、易用等特性是其優(yōu)點(diǎn)。然而正是因?yàn)檫@個(gè)優(yōu)點(diǎn),開發(fā)者擔(dān)心這有可能使得小程序不能夠像app那樣強(qiáng)大,畢竟接入口、審核機(jī)制、推廣成本以及最大允許內(nèi)存等這些還未確定的因素對(duì)一款應(yīng)來(lái)說(shuō)都是至關(guān)重要的。

對(duì)于初學(xué)者(如原先搞android開發(fā)),暫且不管上面提到的那些,在弄明白應(yīng)用需求的同時(shí),得邁開并加快對(duì)前端知識(shí)學(xué)習(xí)的腳步了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP中文網(wǎng)!

相關(guān)推薦:

以上就是微信小程序的火車票查詢的代碼的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注有卡有網(wǎng)。

版權(quán)聲明:本文采用知識(shí)共享 署名4.0國(guó)際許可協(xié)議 [BY-NC-SA] 進(jìn)行授權(quán)
文章名稱:《微信小程序的火車票查詢的代碼》
文章鏈接:http://www.ljxxtl.cn/kaquan-baike/xcx/154521.html
本站資源僅供個(gè)人學(xué)習(xí)交流,請(qǐng)于下載后24小時(shí)內(nèi)刪除,不允許用于商業(yè)用途,否則法律問(wèn)題自行承擔(dān)。