Beispiel für den Datenzugriff des WeChat Mini-Programms, ausführliche Erläuterung

高洛峰
Freigeben: 2017-01-09 10:57:07
Original
1813 Leute haben es durchsucht

Lassen Sie mich kurz auf den Aufbau des Miniprogramms eingehen.

微信小程序 数据访问实例详解

Wie im Bild gezeigt

1. Jeder Ansicht (.wxml) müssen nur das Skript (.js) und der Stil (.wxss) mit dem entsprechenden Namen hinzugefügt werden. Es sind keine Referenzen erforderlich. Die Skripte und Stile unter der Seite werden von der äußersten app.js geerbt. app.wxcss

2. Das Skript ist eine .js-Datei. Es hat ein festes Format: Seite, die zum Abrufen von Daten verwendet wird.

3. Utils werden zum Platzieren von Datenschnittstellen verwendet

Datenzugriff: Wenn Sie sich ein wenig mit Ajax auskennen, ist das kein Problem, es gibt nichts zu besprechen

WeChat-Applet: Da die IDE zu schlecht ist, wird es schwierig, das gesamte Projekt zu warten, wenn der Code so geschrieben ist, dass er schwer lesbar ist.

Da ich noch nie eine App geschrieben habe, weiß ich nicht, wie der Datenzugriff in der App gekapselt ist.

Als kleiner Programmierer mit drei Tagen Berufserfahrung habe ich das Gefühl, dass es sehr un-OOP wäre, wenn ich selbst über die Datenschnittstelle auf die Daten auf jeder Seite zugreifen würde.

Dann habe ich an Linq to SQL gedacht und nur zwei davon verwendet. Ursprünglich hatte ich geplant, Singelordefault und FirstOrdefault zu verwenden, aber es war mühsam, darüber nachzudenken, also habe ich getbyparams und getbyid verwendet, um alle Daten basierend auf den Bedingungen zu finden Holen Sie sich ein Datenelement basierend auf der ID.

Schauen wir uns einfach die Methode an, sie ist etwas umständlich.

const API_URL = 'http://localhost:4424/api/'
 
function getApi(url,params){
 return new Promise((res,rej)=>{
  wx.request({
   url:API_URL+'/'+url,
   data:Object.assign({},params),
   header:{'Content-Type': 'application/json'},
   success:res,
   fail:rej
  })
 })
}
 
module.exports = {
 GetByParams(url,page=1,pageSize=20,search = ''){
  const params = { start: (page - 1) * pageSize, pageSize: pageSize }
  return getApi(url, search ? Object.assign(params, { q: search }) : params)
   .then(res => res.data)
 },
 GetById(url,id){
  return getApi(url, id)
   .then(res => res.data)
 }
}
Nach dem Login kopieren

module.exports = {} ist eine feste Schreibmethode, bei der Methoden einzeln geschrieben werden und jede Methode durch getrennt wird.

Ich habe einen URL-Parameter festgelegt, da es unmöglich ist, alle Schnittstellen in einem Controller unterzubringen. Daher lautet das Format der URL „Controller/Aktion“.

Werfen wir einen Blick auf eine Calla-Kastanie und Sie werden verstehen, wie man sie verwendet.

const req = require('../../utils/util.js')
 
Page({
 data: {
  imgUrls: [],
  indicatorDots: true,
  autoplay: true,
  interval: 2000,
  duration: 2000
 },
 onLoad(){
  req.GetByParams('home/homebanner')//看这里  看这里  看这里
  .then(d=>this.setData({imgUrls:d,loading:false}))
  .catch(e=>{
   this.setData({imgUrls:[],loading:false})
  })
 }
})
Nach dem Login kopieren

Dies ist die Indexmethode zum Abrufen des Bannerbilds, req.GetByParams('home/homebanner'). Sie können hier auch Parameter angeben oder sie leer lassen.

Die letzte Seite sieht so aus

微信小程序 数据访问实例详解

Im roten Feld auf der rechten Seite können wir die von der Anfrage zurückgegebenen Daten sehen und die Daten auf der rechten Seite entsprechend ändern. Hier geht es um das Debuggen.

Vielen Dank fürs Lesen, ich hoffe, das hilft allen und vielen Dank für Ihre Unterstützung dieser Website!

Ausführlichere Erläuterungen zu WeChat-Applet-Datenzugriffsbeispielen und verwandten Artikeln finden Sie auf der chinesischen PHP-Website!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage