武装少女在线观看高清完整版免费,丝袜+亚洲区,少妇被cao高潮呻吟声,午夜伦情电午夜伦情电影,日日躁夜夜躁狠狠躁

小程序模板網(wǎng)

讓W(xué)ordpress成為你微信小程序的文章管理利器

發(fā)布時(shí)間:2017-12-25 11:25 所屬欄目:小程序開發(fā)教程

Wordpress,相信很多很多人都用過,是一款大名鼎鼎的內(nèi)容管理系統(tǒng)(CMS),因其社區(qū)的強(qiáng)大,插件的豐富,用它來建網(wǎng)站和博客真的是非常方便好用。它擁有功能強(qiáng)大的管理后臺,使得對目錄、文章以及標(biāo)簽的創(chuàng)建和管理,都 ...

 
 
 

Wordpress,相信很多很多人都用過,是一款大名鼎鼎的內(nèi)容管理系統(tǒng)(CMS),因其社區(qū)的強(qiáng)大,插件的豐富,用它來建網(wǎng)站和博客真的是非常方便好用。它擁有功能強(qiáng)大的管理后臺,使得對目錄、文章以及標(biāo)簽的創(chuàng)建和管理,都變得輕松簡單。

我們在設(shè)計(jì)和開發(fā)我們的微信小程序的時(shí)候,可能會遇到需要?jiǎng)?chuàng)建和管理一系列文章類型的內(nèi)容,比如一個(gè)法律手冊小程序,或是一個(gè)菜譜小程序。這種時(shí)候,我們有兩種選擇:

  • 自己開發(fā)一個(gè)文章管理功能
  • 借助現(xiàn)有的CMS產(chǎn)品

自己開發(fā)一個(gè)固然不錯(cuò),可以根據(jù)自己的實(shí)際需要,來靈活的進(jìn)行功能的定制。但是,要開發(fā)好一個(gè)這樣的功能,還是需要一定的工作量的。快速開發(fā)出一個(gè)產(chǎn)品并投入市場,去驗(yàn)證自己的產(chǎn)品設(shè)想是否正確,是一個(gè)非常重要的事情。我們要適當(dāng)?shù)牟捎媚脕碇髁x,爭取節(jié)約開發(fā)產(chǎn)品的周期。從這一點(diǎn)出發(fā),Wordpress就為我們在內(nèi)容管理這類需求上面,提供了一個(gè)很好很現(xiàn)成的工具。

好了,閑話不多說,我們來看一下怎么讓W(xué)ordpress成為我們的微信小程序的內(nèi)容發(fā)動機(jī)。

架構(gòu)概覽

在服務(wù)器端,我們分為主管業(yè)務(wù)的后端程序和主管文章內(nèi)容的Wordpress程序,它們都通過Nginx或Apache進(jìn)行代理,向外暴露服務(wù)接口(或者你不想讓外面直接訪問你的wordpress的話,wordpress可以省去代理,藏在服務(wù)器內(nèi)部,僅提供來自主業(yè)務(wù)后端程序的訪問)。

然后小程序客戶端方面,就可以通過Nginx暴露出來的接口,訪問到主業(yè)務(wù)提供的服務(wù)和wordpress的服務(wù)。

安裝Wordpress與設(shè)置

Wordpress安裝的教程網(wǎng)上太多了,我就不詳細(xì)介紹了,自行搜索吧。安裝完成后,你就可以登錄它的管理后臺,進(jìn)行文章和目錄之類的撰寫管理了。

下一步,我們要讓外部程序可以更方便的調(diào)用Wordpress的功能,讓我們可以通過REST API來操作和獲取Wordpress中的數(shù)據(jù)。Wordpress可以通過安裝插件來提供這樣的功能,而且類似功能的插件不止一個(gè)。我在這里,使用了一個(gè)名為Wordpress Rest API的插件,這個(gè)插件提供的功能比較全面一些,而且在最新版本的Wordpress中,它的功能已經(jīng)被官方作為基礎(chǔ)功能集成進(jìn)了Wordpress中,所以比較推薦使用。

安裝并在插件管理頁面啟用這個(gè)插件以后(怎么安裝和啟用我不贅述了,簡單的令人發(fā)指,自行搞定吧),我們就擁有了通過REST API操作Wordpresss的能力。

比如通過發(fā)起GET請求URL地址:http://your-domain/wp-json/wp/v2/posts,我們就可以獲取到JSON格式的Wordpress中的文章列表。當(dāng)然,也可以通過POST請求,DELETE請求等,執(zhí)行創(chuàng)建和刪除文章的操作。

你可以點(diǎn)擊這個(gè)鏈接,看一下輸出的示例數(shù)據(jù)。

更多功能呢,可以查看插件使用手冊

了解了這一點(diǎn),我們就可以對Wordpress中的內(nèi)容進(jìn)行進(jìn)一步的開發(fā)利用了。

開發(fā)

至此,小程序就可以直接調(diào)用暴露出來的Wordpress REST API了,例如:

wx.request({
  url: 'https://your-domain/wp-json/wp/v2/posts', 
  header: {
      'content-type': 'application/json'
  },
  success: function(res) {
    console.log(res.data)
  }
})

但是,為了保證入口的統(tǒng)一性,以及有可能對從Wordpress中的數(shù)據(jù)需要進(jìn)行二次加工的便利性,我們推薦從主業(yè)務(wù)后端程序中發(fā)起對Wordpress的REST API調(diào)用。

比如我要做一個(gè)從Wordpress中搜索我的文章的功能。我會從我的Node.js寫的后端程序中發(fā)起對Wordpress REST API的調(diào)用,代碼大致像這樣的(其他后臺語言可以做個(gè)參考):

post.service.js

const request = require('request')
const errors = require('../consts/errors')
const WP_JSON_API = 'https://xxxxxx/wp-json/wp/v2'

function search(keyword) {
  return new Promise((resolve, reject) => {
    // 調(diào)用Wordpress:
    // https://xxxxxx/wp-json/wp/v2?per_page=10&search=xxxx
    request.get(`${WP_JSON_API}/posts`, {
      json: true,
      qs: {
        per_page: 10,
        search: keyword
      }
    }, (err, resp, result) => {
      if (err) {
        reject(errors.KW_SEARCH_POST_FAIL)
      } else {
        // result就是從wordpress中獲取到的JSON數(shù)據(jù)了
        // 你可以在這里對數(shù)據(jù)再做一些額外的加工,比如去掉數(shù)據(jù)我們不需要的字段等等...
        resolve(result)
      }
    })
  })
}

post.route.js

const express = require('express')
const router = express.Router()
const resUtil = require('../lib/util/response')
const postService = require('../../services/post')

// 這是實(shí)際給小程序調(diào)用的API
// https://xxxxx/api/posts/search?keyword=xxxx
router.get('/api/posts/search', async (req, res) => {
    try {
      const keyword = req.query.keyword
      const posts = await postService.search(keyword)
      resUtil.success(res, posts)
    } catch (e) {
      resUtil.error(res, e)
    }
  })

然后,微信小程序客戶端程序代碼就可以調(diào)用我們主業(yè)務(wù)后端代碼中提供的搜索文章的API了:

wx.request({
  url: 'https://your-domain/api/posts/search', 
  data: {
    keyword: '這里是搜索關(guān)鍵字'
  },
  header: {
      'content-type': 'application/json'
  },
  success: function(res) {
    console.log(res.data)
  }
})

相信你看懂了這些,就能更有效的對Wordpress進(jìn)行開發(fā)利用了。而且不止是對Wordpress,很多有用的開源軟件,我們都可以用類似的方法加以利用,節(jié)約我們開發(fā)產(chǎn)品的時(shí)間,為我們帶來更多的機(jī)會。



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.kknew.com.cn/wxmini/doc/course/18228.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢: 點(diǎn)擊咨詢
在線客服
易小優(yōu)
轉(zhuǎn)人工 ×