小程序学习日记3

1.app属性
解析:
[1]app.env:默认是NODE_ENV或"development"
[2]app.keys:签名的cookie密钥数组
[3]app.proxy:当真正的代理头字段将被信任时
[4]忽略.subdomains的app.subdomainOffset偏移量,默认为2
[5]app.proxyIpHeader:代理ip标头,默认为X-Forwarded-For
[6]app.maxIpsCount:从代理ip标头读取的最大ips,默认为0[代表无限]

2.app.listen(…)本质
解析:

const http = require('http');
const Koa = require('koa');
const app = new Koa();
http.createServer(app.callback()).listen(3000);

3.app.callback()
解析:返回适用于http.createServer()方法的回调函数来处理请求。也可以使用此回调函数将koa应用程序挂载到Connect/Express应用程序中。

4.app.use(function)
解析:将给定的中间件方法添加到此应用程序。

5.app.context
解析:
[1]app.context是从其创建ctx的原型。可以通过编辑app.context为ctx添加其它属性。
[2]ctx上的许多属性都是使用getter,setter和Object.defineProperty()定义的。只能通过在app.context上使用Object.defineProperty()来编辑这些属性[不推荐]。
[3]Koa Context将node的request和response对象封装到单个对象中,为编写Web应用程序和API提供了许多有用的方法。

6.ctx.req
解析:Node的request对象。

7.ctx.res
解析:Node的response对象。

8.ctx.request
解析:koa的Request对象。

9.ctx.response
解析:koa的Response对象。

10.ctx.state
解析:推荐的命名空间,用于通过中间件传递信息和前端视图。

11.ctx.app
解析:应用程序实例引用。

12.ctx.app.emit
解析:Koa应用扩展了内部EventEmitter。ctx.app.emit发出一个类型由第一个参数定义的事件。对于每个事件,可以连接"listeners",这是在发出事件时调用的函数。

13.ctx.cookies.get(name,[options])
解析:通过options获取cookiename。

14.ctx.cookies.set(name,value,[options])
解析:通过options设置cookiename的value。

15.ctx.throw([status],[msg],[properties])
解析:Helper方法抛出一个.status属性默认为500的错误,这将允许Koa做出适当地响应。

16.ctx.assert(value,[status],[msg],[properties])
解析:当!value时,Helper方法抛出类似于.throw()的错误。这与node的assert()方法类似。

17.ctx.respond
解析:为了绕过Koa的内置response处理,可以显式设置ctx.respond=false;。如果想要写入原始的res对象而不是让Koa处理response,请使用此参数。

18.Request别名
解析:以下访问器和Request别名等效:
[1]ctx.header
[2]ctx.headers
[3]ctx.method
[4]ctx.method=
[5]ctx.url
[6]ctx.url=
[7]ctx.originalUrl
[8]ctx.origin
[9]ctx.href
[10]ctx.path
[11]ctx.path=
[12]ctx.query
[13]ctx.query=
[14]ctx.querystring
[15]ctx.querystring=
[16]ctx.host
[17]ctx.hostname
[18]ctx.fresh
[19]ctx.stale
[20]ctx.socket
[21]ctx.protocol
[22]ctx.secure
[23]ctx.ip
[24]ctx.ips
[25]ctx.subdomains
[26]ctx.is()
[27]ctx.accepts()
[28]ctx.acceptsEncodings()
[29]ctx.acceptsCharsets()
[30]ctx.acceptsLanguages()
[31]ctx.get()

19.Response别名
解析:以下访问器和Response别名等效:
[1]ctx.body
[2]ctx.body=
[3]ctx.status
[4]ctx.status=
[5]ctx.message
[6]ctx.message=
[7]ctx.length=
[8]ctx.length
[9]ctx.type=
[10]ctx.type
[11]ctx.headerSent
[12]ctx.redirect()
[13]ctx.attachment()
[14]ctx.set()
[15]ctx.append()
[16]ctx.remove()
[17]ctx.lastModified=
[18]ctx.etag=

20.云开发
解析:云开发为开发者提供数据库、存储和云函数等完整的云端支持。无需搭建服务器,使用平台提供的API进行核心业务开发,即可实现小程序快速上线和迭代。

21.wx.getSetting(Object object)
解析:获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限。object.success回调函:
[1]authSetting:用户授权结果
[2]subscriptionsSetting:用户订阅消息设置,接口参数withSubscriptions值为true时才会返回。

22.AuthSetting用户授权设置信息
解析:
[1]boolean scope.userInfo:是否授权用户信息,对应接口wx.getUserInfo
[2]boolean scope.userLocation:是否授权地理位置,对应接口wx.getLocation,wx.chooseLocation
[3]boolean scope.address:是否授权通讯地址,对应接口wx.chooseAddress
[4]boolean scope.invoiceTitle:是否授权发票抬头,对应接口wx.chooseInvoiceTitle
[5]boolean scope.invoice:是否授权获取发票,对应接口wx.chooseInvoice
[6]boolean scope.werun:是否授权微信运动步数,对应接口wx.getWeRunData
[7]boolean scope.record:是否授权录音功能,对应接口wx.startRecord
[8]boolean scope.writePhotosAlbum:是否授权保存到相册wx.saveImageToPhotosAlbum,wx.saveVideoToPhotosAlbum
[9]boolean scope.camera:是否授权摄像头,对应camera组件

23.wx.getUserInfo(Object object)的object.success回调函数
解析:
[1]userInfo:用户信息对象,不包含openid等敏感信息
[2]rawData:不包括敏感信息的原始数据字符串,用于计算签名
[3]signature:使用sha1(rawData + sessionkey)得到字符串,用于校验用户信息
[4]encryptedData:包括敏感数据在内的完整用户信息的加密数据
[5]iv:加密算法的初始向量
[6]cloudID:敏感数据对应的云ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据

24.UserInfo用户信息
解析:
[1]string nickName:用户昵称
[2]string avatarUrl:用户头像图片的URL。
[3]number gender:用户性别
[4]string country:用户所在国家
[5]string province:用户所在省份
[6]string city:用户所在城市
[7]string language:显示country,province,city所用的语言

25.display
解析:display属性规定元素应该生成的框的类型。如下所示:
[1]none:此元素不会被显示。
[2]block:此元素将显示为块级元素,此元素前后会带有换行符。
[3]inline:默认。此元素会被显示为内联元素,元素前后没有换行符。
[4]inline-block:行内块元素。[CSS 2.1新增的值]
[5]inherit:规定应该从父元素继承display属性的值。

参考文献:
[1]pillarjs/cookies:https://github.com/pillarjs/cookies
[2]jshttp/http-errors:https://github.com/jshttp/http-errors
[3]jshttp/http-assert:https://github.com/jshttp/http-assert
[4]koajs/examples:https://github.com/koajs/examples
[5]koajs/koa:https://github.com/koajs/koa/wiki

发布了364 篇原创文章 · 获赞 422 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/shengshengwang/article/details/104382294