近期小程序公測,很多人都蠢蠢欲動了,當然,目前所在的公司也要求做個小程序,故,我就搞了一個。
總體看,小程序無非就是前端頁面通過微信web開發工具開發,后台,就根據自己所喜歡語言開發了,我是java出身,自然就用java寫了個服務。
先說小程序開發,有過前端開發經驗的都清楚一些簡單的jquery和css,小程序也不例外,唯獨不一樣的,就是他自己有自己的單位,有自己的循環,模板和判斷,我用半天看了下他的官方文檔,后面就開始開發了,主要想說下面幾點:
1:小程序的判斷不太方便,寫個判斷只能嵌到標簽里,如果從第一個標簽開始就開始做分支,那豈不是要寫兩套差不多的代碼了(也許是我領會不到位~)
2:小程序的模板使用還是比較方便的,小程序主打就是顯示,類似列表,卡片等布局,主要寫出一套,風道模板里,其他的就不需要理會了
3:適配和兼容和正常開發無異,根據寬度用@media適配就好了
4:頁面和后台需要交互,所以用到了base64加密,小程序里調用js,一定要記得js最下方的聲明,不然坑死你。
5:頁面點傳遞參數需要注意下,和之前開發java不同,java是根據地址到后台請求構造數據顯示,而小程序是將參數傳遞到目標頁面,在頁面加載時再請求想應得URL。
<template name="card"> <view class="card" bindtap="detail" id="{{item.schemeno}}"> //具體業務 </view> </template>
detail: function(e){ app.detail(e); }
detail: function(e){ console.log(e); console.log(e.currentTarget.id); wx.setStorageSync("schemeno", e.currentTarget.id); wx.navigateTo({ url:"../detailAnalysis/detailAnalysis?schemeno=" + e.currentTarget.id }) }
onLoad: function (options) { var schemeno = options.schemeno; this.loadDetail(schemeno); }
主要看上方代碼的標注處,紅色的detail是在當前頁面定義的方法,藍色的detail是在app.js 處定義的方法,而紅色的id,則是需要傳遞的參數,到目標頁面,就可以根據紅色的schemeno獲得傳遞過來的參數了。
6:說道URL,小程序要求必須是https,而且不能帶端口號,所以,怎么構造https的域名就該好好想想了。
7:flex布局,這個還是了解下好,在小程序開發過程中,我用的最多的就是這種布局,很是方便,簡單看下文檔就可以實戰了。
java的服務--》這個就沒什么好說的了,需要注意此處
@RequestMapping(value = "getGoldPlan", produces = "text/html;charset=UTF-8")紅色標注的部分,不寫的話,你就看到亂碼了
還有就是適當使用緩存,調優自己的sql,也就這樣了。
-------------------------》
-------------------------》
下面說下部署的事情,本人下午歷時三小時,剛剛搞定
-------------------------》
-------------------------》
1.首先我們需要域名,而且是備案24H以上的,一級二級都可以,做好解析就沒問題了
2.認證小程序,並將自己綁定為開發者,不然無法開發的;小程序的appid和開發設置中配置好URL,知道域名就很簡單了。
3.需要去阿里雲的證書服務中買個證書,補全信息進行,和目標域名綁定好,等到審核通過,你就可以下載證書了

4.證書有了,域名也有了,下面就開始搭建linux服務器吧~
1.安裝jdk,直接用yum安裝就好了,很簡單
2.搞個tomcat,這個就更簡單了,只需要說一點的是,需要把在tomcat根目錄下建一個文件夾,然后把證書放到里面,建議使用tomcat7以上的版本

3.證書搞完了,下面就是配置server.xml了,如果相對tomcat進行優化,那就根據自己能力吧
https的默認端口是443,這一點需要知曉

此處的具體寫法,在下載證書的下方有標注,可自行參考。接着在配置好域名和項目的關系,就可以啟動tomcat了。
tail -f catalina.out 看下日志,沒問題,那就打開小程序替換url訪問吧。
--------》和普通java項目部署無異,只不過多了一個ssl證書的配置(我用的阿里雲的RDS,所以直接引用的外網連接,沒有安裝mysql)
以此記錄今天下午三小時的勞動成果~有問題的話可以隨時留言,希望一起進步~~
