微信小程序-網(wǎng)絡(luò)篇

前言

最近,個(gè)人一直想做一個(gè)線上微信小程序,奈何自己前端知識(shí)有限,不能一次全部完成所有功能,所以只能一步步來。接下來只是來說下微信小程序里面的網(wǎng)絡(luò)請求功能。

服務(wù)端

既然是網(wǎng)絡(luò)請求,那自然就是要接口了。開發(fā)一個(gè)接口,有很多個(gè)方法,可以使用java+mysql實(shí)現(xiàn),也可使用node+express+mongoDB實(shí)現(xiàn)。這里我使用第二種方式來實(shí)現(xiàn),為了簡化接口開發(fā)的實(shí)現(xiàn),這里就不使用mongoDB數(shù)據(jù)庫連接實(shí)現(xiàn)了。直接寫死數(shù)據(jù)。

首先我們得安裝nodeJS,上文也提到過,這里就不在重復(fù)說了。然后使用npm模塊安裝express框架

 npm install express -g
 npm install express-generator -g

安裝好后,cmd打開DOS使用命令創(chuàng)建一個(gè)項(xiàng)目

  cd E:\JS\NodeJS\WorkSpace
  express APIServer

這里我的工作目錄是E:\JS\NodeJS\WorkSpace,然后項(xiàng)目名字為APIServer。命令執(zhí)行完后,再安裝依賴

cd APIServer //進(jìn)入項(xiàng)目根目錄
npm install  //安裝依賴

安裝好后,打開工作目錄,可以看到APIServer這個(gè)項(xiàng)目,再用Sublime打開。
得到的目錄結(jié)構(gòu)如下

項(xiàng)目目錄.png
  • bin 啟動(dòng)服務(wù)器
  • node_modules 提供依賴模塊
  • public 存放靜態(tài)資源目錄
  • routes 對(duì)應(yīng)客戶端接口的端點(diǎn)
  • views 存放jade的目錄,jade相當(dāng)于javajsp
  • app.js 服務(wù)器啟動(dòng)的入口
  • package.json 一些全局的配置

簡單開發(fā)一個(gè)接口

routes目錄下創(chuàng)建一個(gè)item.js,接口的一些字段

function Item(){
    this.title;
    this.des;
    this.image;
    this.type;
}
module.exports = Item;

routes目錄下創(chuàng)建days.js

var express = require('express');
var Item = require('./item');
var router = express.Router();

router.get('/getList',function(req,res,next){
    var arrays = new Array();
    var item1 = new Item();
    item1.title = "生化湯";
    item1.des=`生化湯的好處,根據(jù)古書記載,作用為養(yǎng)血活血,產(chǎn)婦產(chǎn)后補(bǔ)血及去除惡露,生下寶寶后,既要喝生化湯,  `+
    `無論是剖腹產(chǎn)或是自然生產(chǎn),在寶寶出生后的第一周內(nèi),每天毒藥飲用生化湯,一天分六次喝,順產(chǎn)喝七天,剖腹產(chǎn)喝14天。有助于子宮內(nèi)污血排出體外,和防止血蹦,恢復(fù)子宮功能極有幫助。`;
    item1.image = `http://img.39yst.com/uploads/2015/0902/1441181493658.jpg`;
    item1.type = 1;
    arrays.push(item1);
    var item2 = new Item();
    item2.title = "麻油豬肝";
    item2.des=`由于肝臟是動(dòng)物體內(nèi)的解毒器官。使用前請用清水浸泡一小時(shí)以上,再用清水沖5分鐘左右`;
    item2.image = `http://e.hiphotos.baidu.com/baike/w%3D268%3Bg%3D0/sign=d48fc03fb53eb13544c7b0bd9e25cfee/58ee3d6d55fbb2fb1793b4c5464a20a44723dca9.jpg`;
    item2.type = 1;
    arrays.push(item2);
    var item3 = new Item();
    item3.title = "薏仁飯";
    item3.des=`薏仁含豐富淀粉,維生素B1,可消除浮腫,幫助多余的水分排出體外,不必?fù)?dān)心尿不出來,還可強(qiáng)化腸胃道機(jī)能,增進(jìn)消化吸收能力`;
    item3.image = `https://img01.mmbang.info/7iyaya_group3_M00_B1_38_wKgAB1DdCITI0q0sAABcW9F57Zg82.jpeg`;
    item3.type = 2;
    arrays.push(item3);
    var item4 = new Item();
    item4.title = "養(yǎng)肝湯";
    item4.des=`可中和或去除因手術(shù)麻醉藥,殘留于體內(nèi)的余毒。順產(chǎn)的也要吃,可以幫助肝臟解毒。每天300毫升,湯里的紅棗可以用零食吃。湯每天分幾次喝,可以當(dāng)飲料喝口渴時(shí)不想喝米酒就喝這個(gè)吧,`+
    `可以加適量紅糖。最好在預(yù)產(chǎn)期前一周開始喝,幫助肝臟解毒。無論自然產(chǎn)還是剖腹產(chǎn),均應(yīng)于生產(chǎn)前一周開始飲用養(yǎng)肝湯。`;
    item4.image = `http://img01.mmbang.info/7iyaya_group6_M04_79_D2_CggaDVh1-nCAQWu8AAKtgW3nvyM42.jpeg`;
    item4.type = 2;
    arrays.push(item4);
    var item5 = new Item();
    item5.title = "黑米湯";
    item5.des=`腎調(diào)養(yǎng)食譜,氣血補(bǔ)食譜,補(bǔ)虛養(yǎng)生食譜,貧血食譜`;
    item5.image = `http://images.meishij.net/p/20100714/397f7641163928ece0e29d6c8b8a1cbd.jpg`;
    item5.type = 3;
    arrays.push(item5);
    var response = {status:200,data:arrays};
    res.send(JSON.stringify(response));

});

module.exports = router;

然后回到app.js,添加代碼

var days = require('./routes/days');
app.use('/days', days);

接口代碼寫好后,接下來就是啟動(dòng)服務(wù)器編譯代碼,然后測試接口。

cd APIServer
npm start

然后在瀏覽器我們訪問接口http://localhost:3000/days/getList就會(huì)得到接口數(shù)據(jù),如下

{
    "status": 200,
    "data": [
        {
            "title": "生化湯",
            "des": "生化湯的好處,根據(jù)古書記載,作用為養(yǎng)血活血,產(chǎn)婦產(chǎn)后補(bǔ)血及去除惡露,生下寶寶后,既要喝生化湯,\t無論是剖腹產(chǎn)或是自然生產(chǎn),在寶寶出生后的第一周內(nèi),每天毒藥飲用生化湯,一天分六次喝,順產(chǎn)喝七天,剖腹產(chǎn)喝14天。有助于子宮內(nèi)污血排出體外,和防止血蹦,恢復(fù)子宮功能極有幫助。",
            "image": "http://img.39yst.com/uploads/2015/0902/1441181493658.jpg",
            "type": 1
        },
        {
            "title": "麻油豬肝",
            "des": "由于肝臟是動(dòng)物體內(nèi)的解毒器官。使用前請用清水浸泡一小時(shí)以上,再用清水沖5分鐘左右",
            "image": "http://e.hiphotos.baidu.com/baike/w%3D268%3Bg%3D0/sign=d48fc03fb53eb13544c7b0bd9e25cfee/58ee3d6d55fbb2fb1793b4c5464a20a44723dca9.jpg",
            "type": 1
        },
        {
            "title": "薏仁飯",
            "des": "薏仁含豐富淀粉,維生素B1,可消除浮腫,幫助多余的水分排出體外,不必?fù)?dān)心尿不出來,還可強(qiáng)化腸胃道機(jī)能,增進(jìn)消化吸收能力",
            "image": "https://img01.mmbang.info/7iyaya_group3_M00_B1_38_wKgAB1DdCITI0q0sAABcW9F57Zg82.jpeg",
            "type": 2
        },
        {
            "title": "養(yǎng)肝湯",
            "des": "可中和或去除因手術(shù)麻醉藥,殘留于體內(nèi)的余毒。順產(chǎn)的也要吃,可以幫助肝臟解毒。每天300毫升,湯里的紅棗可以用零食吃。湯每天分幾次喝,可以當(dāng)飲料喝口渴時(shí)不想喝米酒就喝這個(gè)吧,可以加適量紅糖。最好在預(yù)產(chǎn)期前一周開始喝,幫助肝臟解毒。無論自然產(chǎn)還是剖腹產(chǎn),均應(yīng)于生產(chǎn)前一周開始飲用養(yǎng)肝湯。",
            "image": "http://img01.mmbang.info/7iyaya_group6_M04_79_D2_CggaDVh1-nCAQWu8AAKtgW3nvyM42.jpeg",
            "type": 2
        },
        {
            "title": "黑米湯",
            "des": "腎調(diào)養(yǎng)食譜,氣血補(bǔ)食譜,補(bǔ)虛養(yǎng)生食譜,貧血食譜",
            "image": "http://images.meishij.net/p/20100714/397f7641163928ece0e29d6c8b8a1cbd.jpg",
            "type": 3
        }
    ]
}

小程序開發(fā)

這里只說請求接口的頁面開發(fā)
項(xiàng)目根目錄創(chuàng)建net.js

const BASE_URL = `http://localhost:3000`;

function NetAPI(url, params) {
  return new Promise((resolve, reject) => {
    wx.request({
      url: `${BASE_URL}${url}`,
      data: Object.assign({}, params),
      header: { 'Content-Type': "application/json" },
      success: resolve,
      fail: reject
    })
  })
}
module.exports = {
  request(url, page = 1, count = 20) {
    const params = { start: (page - 1) * count, count: count }
    return NetAPI(url, params).then(res => res.data)
  }
}

然后再相應(yīng)list頁面請求接口

const BASE_URL = `http://localhost:3000`;

function NetAPI(url, params) {
  return new Promise((resolve, reject) => {
    wx.request({
      url: `${BASE_URL}${url}`,
      data: Object.assign({}, params),
      header: { 'Content-Type': "application/json" },
      success: resolve,
      fail: reject
    })
  })
}
module.exports = {
  request(url, page = 1, count = 20) {
    const params = { start: (page - 1) * count, count: count }
    return NetAPI(url, params).then(res => res.data)
  }
}

最后運(yùn)行結(jié)果如下

列表.gif

詳情頁面布局和其他代碼
https://github.com/Goach/YueZiMeal

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,036評(píng)論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 22年12月更新:個(gè)人網(wǎng)站關(guān)停,如果仍舊對(duì)舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,401評(píng)論 22 257
  • 孜哥在這里祝你全家老幼農(nóng)歷新年快樂,和諧,安康。 祝老人身體健康。 胖子變成瘦子。 美女美成仙女。 喝酒三瓶不醉。...
    楊孜閱讀 557評(píng)論 4 1
  • 今日早餐,主角:烤饃條,配角:南瓜豆?jié){、水果、玫瑰花花 叨叨念:哈真不好我今早起晚了! 原本今天的早餐不是圖上這個(gè)...
    櫻櫻小香閱讀 603評(píng)論 2 6

友情鏈接更多精彩內(nèi)容