先简单说一下,小程序的结构

如图所示

1、每个视图(.wxml)只需要添加对应名字的脚本(.js)和样式(.wxss)就可以了,不需要引用,page下面的脚本以及样式都是继承至最外面的app.js , app.wxcss

2、脚本也就是.js文件,他有固定格式:page,是用于获取数据的

3、utils是用来放置数据接口的

数据访问,如果懂点ajax,都不是问题,没啥好讲的

微信小程序,因为IDE太烂了,如果代码再写得难以阅读,整个项目就很难维护了。

因为没有写过app,不知道在app中数据访问是怎么封装的

作为一个有3天工作经验的小程序码农,觉得如果每个页面的数据都是自己去访问数据接口,那就太不OOP了

然后想到了linq to sql,只取了其中的两个方法,原本打算用singelordefault,firstordefault的,想想也麻烦,就用了getbyparams,getbyid,根据条件查找出所有数据,或者根据id获取一条数据

直接看方法吧,有点啰嗦了

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)

}

}

module.exports = {}是固定写法,里面写一个一个的方法,每个方法用,隔开。

我设置了一个url参数,因为不可能把所有的接口都放在一个conntroller里面,所以url的格式是“conntroller/action”

看一个调用的栗子吧,就明白怎么用了

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})

})

}

})

这是index的获取banner图的方法,req.GetByParams('home/homebanner'),这里也可以带参数,也可以空着

最终的页面是这样的

在右边的红色框里面,我们可以看到请求返回的数据,也可以在右边修改数据,界面会跟随着变化,这是关于调试的事情了,容后再议

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

微信小程序 访问locolhost_微信小程序 数据访问实例详解相关推荐

  1. 微信小程序开发登录界面mysql_微信小程序 欢迎界面开发的实例详解

    微信小程序 欢迎界面 市面上大多数的app都会有一个欢迎界面,下面将演示如何通过微信小程序实现一个欢迎界面. 下面将会按照以下的顺序介绍: 布局的实现 逻辑的实现 样式的实现 1.布局的实现 整个布局 ...

  2. php微信小程序物流进度推送,微信小程序 消息推送php服务器验证实例详解

    微信小程序 消息推送php服务器验证实例详解 设置页面("设置">>"开发设置"): 1.设置服务器域名 注意http和https协议的不同. 2. ...

  3. imagepreview使用案例_微信小程序wx.previewImage预览图片实例详解

    一.小知识 二.例子 1.wxml 2.wxss .container { box-sizing:border-box; padding:20px; } .previewimg{ float:left ...

  4. 微信小程序php后台支付,微信小程序 支付功能实现PHP实例详解

    微信小程序 支付功能实现PHP实例详解 前端代码: wx.request({ url: 'https://www.yourhost.com/weixin/WeiActivity/payJoinfee' ...

  5. wxss 点击样式_微信小程序点击控件修改样式实例详解

    微信小程序点击控件修改样式实例详解 现在要在微信小程序中实现点击控件修改样式,如下: 微信小程序中不支持直接操作dom,要实现这种效果,我们需要通过设置data,然后利用数据和界面的双向绑定来实现它. ...

  6. php小程序onload,微信小程序 loading 组件实例详解

    这篇文章主要介绍了微信小程序 loading 组件实例详解的相关资料,需要的朋友可以参考下 loading通常使用在请求网络数据时的一种方式,通过hidden属性设置显示与否 主要属性: wxml 显 ...

  7. 小程序怎么处理轮训ajax,微信小程序中使用Promise进行异步流程处理的实例详解...

    微信小程序中使用Promise进行异步流程处理的实例详解 我们知道,JavaScript是单进程执行的,同步操作会对程序的执行进行阻塞处理.比如在浏览器页面程序中,如果一段同步的代码需要执行很长时间( ...

  8. 微信小程序php返回数组,微信小程序 数组(增,删,改,查)等操作实例详解...

    微信小程序 数组(增,删,改,查)等操作 最近在做一个小程序的demo.由于不向后台请求数据,所以就涉及到对本地数据的操作,也遇到了一些坑,本文就以数组的增删改查为例,给新手分享一些经验. 首先这是原 ...

  9. python开发的程序中以电子表格显示数据_使用 Python 读取电子表格中的数据实例详解...

    Python 是最流行.功能最强大的编程语言之一.由于它是自由开源的,因此每个人都可以使用.大多数 Fedora 系统都已安装了该语言.Python 可用于多种任务,其中包括处理逗号分隔值(CSV)数 ...

  10. android 清理缓存动画,Android仿微信清理内存图表动画(解决surfaceView屏幕闪烁问题)demo实例详解...

    最近接了一个项目其中有功能要实现一个清理内存,要求和微信的效果一样.于是想到用surfaceView而不是继承view.下面小编给大家解析下实现思路. surfaceView是为了解决频繁绘制动画产生 ...

最新文章

  1. JetBrains打造的开发神器,一套代码适应多端!
  2. Removed k rows containing missing values
  3. python处理excel视频-从零基础开始用Python处理Excel数据 视频教程
  4. 【Qt】QModbusTcpClient类
  5. python一个月能掌握吗_Python 从入门到精通:一个月足够了!
  6. 查看zk状态时报错“Error contacting service. It is probably not running
  7. 计算机安装系统说明,电脑操作系统安装方法-详细图解说明-简单安装Windows系统...
  8. ios相机黑边_iOS照相机去黑框
  9. unity 录屏插件总结 以及 AVProMovieCapture 5.0.0 安卓录制失败问题
  10. arnold ass standin 代理模型批量查询 与替换工具发布1.0
  11. 全网最全解析,少儿编程到底学的是什么?
  12. 云原生微服务架构实战精讲第八节 访问控制与更新策略
  13. 解决Windows开机后无启动项的问题
  14. C++畅玩五子棋项目
  15. 基于Eureka服务治理的高可用性注册中心搭建
  16. python 圆形检测_python下用OpenCV的圆形检测
  17. 恋练有词_词汇精讲3
  18. MYsql---添加自增字段
  19. 华为三星非洲智能手机大战 低价为王
  20. 51单片机ESP8266WIFI远程门禁密码锁可修改密码APP开锁查看密码

热门文章

  1. ThinkPHP商城系统与外部系统用户互通,集成UCenter
  2. Windows动态桌面原理
  3. 苹果手机屏幕突然放大恢复方法【图文教程】
  4. JavaWeb教程———Ajax
  5. Python中的注释和文档
  6. TCP,IP,UDP等各种报文格式
  7. directsound播放32位float类型的pcm格式音频
  8. 了不起的 Deno:带你极速获取各大平台今日热榜
  9. 动态表单 mysql_动态表单实现思路
  10. 觅风易语言完整教程(全集)完整高清版