mpVue小程序全栈开发

摘要:
Vue没有生命周期。什么是ctx,小程序的8和koa知识?下一个封装请求和响应的上下文是什么?下一个中间件应用程序是什么?

1、微信小程序,mpVue和wepy的对比

mpVue小程序全栈开发第1张

 2、

mpVue小程序全栈开发第2张

 3、es6中关于数组的一些方法

 1    <script>
 2      let arr = [1,2,3,4]
 3      // 遍历
 4      arr.forEach(v => {
 5        console.log(v)
 6      })
 7 //     循环操作
 8      console.log(arr.map(v => v*2))
 9 //     循环判断
10      console.log(arr.every(v => v > 2))
11      // 过滤
12      console.log(arr.filter(v => v <= 3))
13 //     数组去重
14      let arr1 = [1,2,3,4,5,2]
15      let arr2 = [4,5,6,7]
16      console.log([...new Set(arr1)])
17 //     并集
18      console.log(arr1.concat(arr2))
19 //     去重并集
20      console.log([...new Set([...arr1,...arr2])])
21    </script>

mpVue小程序全栈开发第3张

arr.foreach 遍历

arr.map 按顺序进行操作 返回一个数组

arr.every    every() 方法测试数组的所有元素是否都通过了指定函数的测试。  https://www.cnblogs.com/leejersey/p/5483247.html

4、小程序生命周期

https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/app.html

 5、初始化一个mpvue项目

http://mpvue.com/mpvue/quickstart/

 1 # 3. 全局安装 vue-cli
 2 # 一般是要 sudo 权限的
 3 $ npm install --global vue-cli
 4 
 5 # 4. 创建一个基于 mpvue-quickstart 模板的新项目
 6 # 新手一路回车选择默认就可以了
 7 $ vue init mpvue/mpvue-quickstart my-project
 8 
 9 # 5. 安装依赖,走你
10 $ cd my-project
11 $ npm install
12 $ npm run dev

npm run dev启动项目后  用微信小程序开发工具打开项目  就可以自动运行

6、mpvue项目结构

mpVue小程序全栈开发第4张

 7、mpVue中的生命周期

mpVue小程序全栈开发第5张

主要是用Vue的生命周期,Created创建初始化。Vue没有的生命周期,就用小程序自己的

mpVue小程序全栈开发第6张

mpVue小程序全栈开发第7张

 8、koa的一些知识

mpVue小程序全栈开发第8张

ctx是什么?

是封装了request和response的上下文

next是什么?

下一个中间件

app是什么?

启动应用

koa中的中间件

mpVue小程序全栈开发第9张

类似洋葱一样的圆环,从中间件1,2,3进入,再从3,2,1出来,得到最后的响应结果,因为是圆环状的,所以可以得到网络请求之前或之后的内容

mpVue小程序全栈开发第10张

结果是:135642

9、回调地狱,Promise,async+await

 1 function ajax(fn) {
 2   setTimeout(() => {
 3     console.log('你好')
 4     fn()
 5   }, 1000)
 6 }
 7 // 回调地狱
 8 ajax(()=>{
 9   console.log('执行结束')
10   ajax(()=>{
11     ajax(()=>{
12       ajax(()=>{
13         console.log('执行结束3')
14       })
15     })
16     console.log('执行结束2')
17   })
18 })
19 
20 // 你好
21 // 执行结束
22 // 你好
23 // 执行结束2
24 // 你好
25 // 你好
26 // 执行结束3
27 
28 
29 function delay(word) {
30    return new Promise((resolve, reject) => {
31      setTimeout(() => {
32        resolve(word)
33      }, 2000)
34    })
35 }
36 
37 // 使用Promise
38 delay('孙悟空')
39   .then((word) => {
40     console.log(word)
41     return delay('猪八戒')
42   })
43   .then((word) => {
44     console.log(word)
45     return delay('沙僧')
46   })
47   .then((word) => {
48     console.log(word)
49   })
50 
51 // saync+await一起使用
52 async function start() {
53   const word1 = await delay('孙悟空')
54   console.log(word1)
55   const word2 = await delay('猪八戒')
56   console.log(word2)
57   const word3 = await delay('沙僧')
58   console.log(word3)
59 }
60 start()
61 
62 // 孙悟空
63 // 猪八戒
64 // 沙僧

第一个就是回调地狱,外层的请求结果是内层的参数, 代码可读性差,错误不易处理

Promise就是用来处理异步请求的

async+await 是Promise的语法糖

为什么使用async+await   

https://cnodejs.org/topic/58e4914e43ee7e7106c13541

10、

mpVue小程序全栈开发第11张

mpVue小程序全栈开发第12张

mpVue小程序全栈开发第13张

mpVue小程序全栈开发第14张

mpVue小程序全栈开发第15张

mpVue小程序全栈开发第16张

 11、

腾讯云常见问题:https://cloud.tencent.com/document/product/619/11442  

本地搭建开发环境:https://cloud.tencent.com/document/product/619/11442#.E6.9C.AC.E5.9C.B0.E5.A6.82.E4.BD.95.E6.90.AD.E5.BB.BA.E5.BC.80.E5.8F.91.E7.8E.AF.E5.A2.83

https://coding.imooc.com/lesson/218.html#mid=14305

秘钥:https://console.cloud.tencent.com/cam/capi

APPid:https://console.cloud.tencent.com/developer

12、微信小程序 请求的url如果报下面的错

mpVue小程序全栈开发第17张

解决办法是,在微信小程序工具中,点击详情,选中下面的

mpVue小程序全栈开发第18张

 13、eslint: await is a reserved word的解决办法

mpVue小程序全栈开发第19张

解决办法:

mpVue小程序全栈开发第20张

 14、微信小程序后台

https://developers.weixin.qq.com/miniprogram/dev/qcloud/qcloud.html#通过微信公众平台授权登录腾讯云

mpVue小程序全栈开发第21张

微信公众平台

https://mp.weixin.qq.com/wxopen/initprofile?action=home&lang=zh_CN&token=1777431014

腾讯云

https://mp.weixin.qq.com/wxopen/thirdtools?action=index&token=1777431014&lang=zh_CN

mpVue小程序全栈开发第22张

腾讯云后台管理

https://console.qcloud.com/lav2/dev

这里面有关于腾讯云的各种API

mpVue小程序全栈开发第23张

腾讯云服务端SDK API  wafer2-node-sdk  

Wafer 服务端 SDK 是腾讯云为微信小程序开发者提供的快速开发库

https://github.com/tencentyun/wafer2-node-sdk/blob/master/README.md

腾讯云相关文档

https://developers.weixin.qq.com/miniprogram/dev/qcloud/qcloud.html#其他具体开发文档

mpVue小程序全栈开发第24张

 15、Mpvue课程问答区总结帖

http://www.imooc.com/article/31092

16、获取到用户信息后,用户信息是如何存入mysql数据库 的

https://coding.imooc.com/learn/questiondetail/60293.html

17、微信小程序要实现下拉刷新,需要在json里面配置enablePullDownRefresh

https://developers.weixin.qq.com/miniprogram/dev/framework/config.html

mpVue小程序全栈开发第25张

下拉刷新的时候会触发onPullDownRefresh事件

https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html

mpVue小程序全栈开发第26张

mpVue小程序全栈开发第27张

在mpvue中,要配置的话,在main.js里面

mpVue小程序全栈开发第28张

export default {
  config: {
    enablePullDownRefresh: true
  }
}

 mpVue小程序全栈开发第29张

 18、8-7 图书访问次数统计  

mpveu中获取传递的options   http://mpvue.com/mpvue/#_18 

     1. 如何获取小程序在 page onLoad 时候传递的 options 

     在所有 页面 的组件内可以通过 this.$root.$mp.query 进行获取。

 19、9-5 手机型号

获取手机的信息     https://developers.weixin.qq.com/miniprogram/dev/api/systeminfo.html

mpVue小程序全栈开发第30张

 20.  9-10 (分享功能,使用了button)

button组件  https://developers.weixin.qq.com/miniprogram/dev/component/button.html

mpVue小程序全栈开发第31张

免责声明:文章转载自《mpVue小程序全栈开发》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇centos7网卡报错解决办法总结(FailedtostartLSB:Bringup/downnetworking)mybatis基础流程_真正开始执行查询下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux动态频率调节系统CPUFreq之二:核心(core)架构与API

上一节中,我们大致地讲解了一下CPUFreq在用户空间的sysfs接口和它的几个重要的数据结构,同时也提到,CPUFreq子系统把一些公共的代码逻辑组织在一起,构成了CPUFreq的核心部分,这些公共逻辑向CPUFreq和其它内核模块提供了必要的API,像cpufreq_governor、cpufreq_driver等模块通过这些API来完成一个完整的CP...

史上最全Linux提权后获取敏感信息方法

在本文开始之前,我想指出我不是专家。据我所知,在这个庞大的区域,没有一个“神奇”的答案.分享,共享(我的出发点)。下面是一个混合的命令做同样的事情,在不同的地方,或只是一个不同的眼光来看待事物。我知道有更多的“东西”去寻找。这只是一个基本粗略的指南。并不是每一个命令,做好要注重细节. 文中的每行为一条命令,文中有的命令可能在你的主机上敲不出来,因为它可能是...

android 录制

引用:http://www.jtben.com/document/919575 出自ATHZ-SEC1-WIKI   跳转到: 导航, 搜索 Android 事件录制脚本的生成 Software R&D Center-SW R&D Dept.-Sec.1HZSWTL2011008Prepared by: Andy3 LiuJan. 2...

Ubuntu 针对 SSD 的优化方案

. . . . . 首先看下 LZ 的分区情况: >$ sudo fdisk -l Disk /dev/sda: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors Units = sectors...

Android之 MTP框架和流程分析

概要 本文的目的是介绍Android系统中MTP的一些相关知识。主要的内容包括:第1部分 MTP简介对Mtp协议进行简单的介绍。第2部分 MTP框架介绍Android系统下MTP的框架。第3部分 MTP启动流程详细分析MTP服务的启动流程,包括Java层, JNI层, kernel相关知识的介绍。第4部分 MTP协议之I->R流程以"PC中打开一个M...

LVM 扩容、删除

当发现lv空间不够用时,就需要我们进行对lv的扩容。扩容分两种情况:(lv的有点,支持在线扩容) 1.VG有充足的空间,直接对lv进行扩容; 2.VG空间不足时,我们需要对VG进行扩容,然后再对lv进行扩容 1)首先我们做VG空间充足的情况。直接对lv进行扩容 查看我们的L挂在情况 [root@bogon ~]# df -Th 文件系统...