当前位置: 首页 > news >正文

百度关键词工具入口深圳网络seo推广

百度关键词工具入口,深圳网络seo推广,百度关键词优化曝光行者seo,慈溪做网站09-微信小程序API网络请求(实现轮播广告和简易的聊天窗口) 文章目录 微信小程序API服务器域名配置注意网络相关APIrequestRequestTask 请求任务对象object.success 回调函数object.fail 回调函数案例代码(实现轮播图) WebSocket案例代码(实现…

09-微信小程序API网络请求(实现轮播广告和简易的聊天窗口)

文章目录

  • 微信小程序API
    • 服务器域名配置注意
    • 网络相关API
      • request
        • RequestTask 请求任务对象
        • object.success 回调函数
        • object.fail 回调函数
        • 案例代码(实现轮播图)
      • WebSocket
        • 案例代码(实现简易的聊天面板)

微信小程序API

做项目的开发,一定离不开网络相关的操作,小程序做的都是客户端,客户端请求服务端做一些交互。

微信小程序提供的API的方式,通过API的方式可以调用微信提供的强大的功能,以增强小程序的功能,如:网络请 求、拍照、扫码等;详见以下官方文档。

官方文档

在这里插入图片描述

如果单纯的做一些网页,用到拍照扫描等,需要写好多代码,现在可以调用微信封装好的API来实现。下面我们看一下微信api 的这些官方文档

服务器域名配置注意

在小程序/小游戏中使用网络相关的 API 时,需要注意下列问题,请开发者提前了解。

  • 每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信
  • 域名只支持 https (wx.request、wx.uploadFile、wx.downloadFile) 和 wss (wx.connectSocket) 协议;
  • 域名不能使用 IP 地址(小程序的局域网 IP 除外)或 localhost;
  • 等等详见以下官方文档标红记录

官方文档

在这里插入图片描述

网络相关API

request

发起 HTTPS 网络请求。使用前请注意阅读相关说明。

通过request对象进行网络通信操作。

说明: 每个微信小程序需要事先设置一个通讯域名,小程序只可以跟指定的域名与进行网络通信。包括普通 HTTPS 请求(wx.request)、上传文件(wx.uploadFile)、下载文件(wx.downloadFile) 和 WebSocket 通信 (vconnectSocket)

  • 用法:RequestTask wx.request(Object object)

  • 参数 Object object wx.request

属性类型默认值必填说明最低版本
urlstring开发者服务器接口地址
datastring/object/ArrayBuffer请求的参数
headerObject设置请求的 header,header 中不能设置 Referer。 content-type 默认为 application/json
timeoutnumber超时时间,单位为毫秒。默认值为 600002.10.0
methodstringGETHTTP 请求方法
dataTypestringjson返回的数据格式
responseTypestringtext响应的数据类型1.7.0
enableHttp2booleanfalse开启 http22.10.4
enableQuicbooleanfalse开启 quic2.10.4
enableCachebooleanfalse开启 cache2.10.4
enableHttpDNSbooleanfalse是否开启 HttpDNS 服务。如开启,需要同时填入 httpDNSServiceId 。 HttpDNS 用法详见 移动解析HttpDNS2.19.1
httpDNSServiceIdstringHttpDNS 服务商 Id。 HttpDNS 用法详见 移动解析HttpDNS2.19.1
enableChunkedbooleanfalse开启 transfer-encoding chunked。2.20.2
forceCellularNetworkbooleanfalsewifi下使用移动网络发送请求2.21.0
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

RequestTask 请求任务对象

data 参数说明

最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下:

  • 对于 GET 方法的数据,会将数据转换成 query string(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...
  • 对于 POST 方法且 header['content-type']application/json 的数据,会对数据进行 JSON 序列化
  • 对于 POST 方法且 header['content-type']application/x-www-form-urlencoded 的数据,会将数据转换成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)
方法描述
RequestTask.abort()中断请求任务
RequestTask.onHeadersReceived(function listener)监听 HTTP Response Header 事件。会比请求完成事件更早
RequestTask.offHeadersReceived(function listener)移除 HTTP Response Header 事件的监听函数
RequestTask.onChunkReceived(function listener)监听 Transfer-Encoding Chunk Received 事件。当接收到新的chunk时触发。
RequestTask.offChunkReceived(function listener)移除 Transfer-Encoding Chunk Received 事件的监听函数

object.method 的合法值

合法值说明
OPTIONSHTTP 请求 OPTIONS
GETHTTP 请求 GET
HEADHTTP 请求 HEAD
POSTHTTP 请求 POST
PUTHTTP 请求 PUT
DELETEHTTP 请求 DELETE
TRACEHTTP 请求 TRACE
CONNECTHTTP 请求 CONNECT

object.dataType 的合法值

合法值说明
json返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse
其他不对返回的内容进行 JSON.parse

object.responseType 的合法值

合法值说明
text响应的数据为文本
arraybuffer响应的数据为 ArrayBuffer

object.success 回调函数

Object res

属性类型说明最低版本
datastring/Object/Arraybuffer开发者服务器返回的数据
statusCodenumber开发者服务器返回的 HTTP 状态码
headerObject开发者服务器返回的 HTTP Response Header1.2.0
cookiesArray.开发者服务器返回的 cookies,格式为字符串数组2.10.0
profileObject网络请求过程中一些调试信息,查看详细说明2.10.4
exceptionObject网络请求过程中的一些异常信息,例如httpdns重试等3.0.0

object.fail 回调函数

Object err

属性类型说明最低版本
errMsgString错误信息
errnoNumbererrno 错误码,错误码的详细说明参考 Errno错误码2.24.0

案例代码(实现轮播图)

  • 轮播广告页面代码

index.wxml

<swiper indicator-dots="true" autoplay="true" interval="3000" duration="500"><swiper-item wx:for="{{images}}"><image src="{{item.original}}" width="375" height="150" /></swiper-item>
</swiper>

循环 images 图片数据,这个数据需要在data中做设置,进入index.js中,设置images数组,默认空

  /*** 页面的初始数据* 默认设置 images 空的数组*/ 
data: {images:[] },

在写一个方法,去加载数据

  //加载广告数据loadDate() {},

在onLoad 中做加载,调用this.loadDate();方法

  /*** 生命周期函数--监听页面加载*/onLoad:function(options) {console.log("页面加载完成",options);this.loadDate();},

现在编写loadDate();方法逻辑

可以拷贝官网中的示例代码做修改

在这里插入图片描述

拷贝以上参考文档中的示例代码做如下修改

  • 首先是url修改为自己用的, 找到自己项目的url

index.js

//demo/index.js
Page({data: {images: []},loadData() {const _this = this;wx.showLoading({title: '加载中',});wx.request({url: 'http://127.0.0.1:18080/ad?type=1',success(res) {_this.setData({images: res.data.data.list});wx.hideLoading();}})},onLoad(options) {this.loadData();}
})

WebSocket

案例代码(实现简易的聊天面板)

新建一个im 文件,im文件下新建 im.wxml

全局 app.json 中配置 im 页面

{"pages":["pages/index/index","pages/logs/logs","pages/demo/index","pages/im/im"],"window":{"backgroundTextStyle":"light","navigationBarBackgroundColor": "#80ff80","navigationBarTitleText": "我的第一个微信小程序","navigationBarTextStyle":"black"},"tabBar": {"list": [{"pagePath": "pages/index/index","text":"首页"},{"pagePath": "pages/logs/logs","text":"日志"},{"pagePath": "pages/demo/index","text":"Demo"},{"pagePath": "pages/im/im","text":"IM"}]},"style": "v2","sitemapLocation": "sitemap.json"
}

将案例代码拷贝到 im.wxml

/* pages/im/im.wxml*/

<input name="url" value="ws://127.0.0.1:18081/ws/1001" bindinput="urlInput" />
<button size='mini' type="warn">断开连接</button>
<button size='mini' type="primary" bindtap="connectSocket">开启连接</button>
<textarea placeholder="输入发送内容" bindinput="msgInput"></textarea>
<button size='mini' type="primary" bindtap="sendMsg">发送</button>
<view wx:for="{{msgs}}">{{index}}: {{item}}</view>

im.wxss中调整样式

/* pages/im/im.wxss */input,textarea{border: 1px black solid;
}button,input,textarea,view{margin: 10px;
}

效果图

在这里插入图片描述

im.js 中写个connectSocket方法来创建连接

可以参考官网拷贝代码修改

在这里插入图片描述

// pages/im/index.js
Page({/*** 页面的初始数据*/data: {url: 'ws://127.0.0.1:18081/ws/1001',msgs: [],msg: ''},connectSocket() {let _this = this;let task = wx.connectSocket({url: _this.data.url});task.onMessage(function (res) {let data = JSON.parse(res.data);let msg = data.from.id + ", " + data.msg;_this.setData({msgs: [..._this.data.msgs, "接收到消息 -> " + msg]});});_this.setData({socketTask: task,msgs: [..._this.data.msgs, "连接成功!"]});},urlInput(e) {this.setData({url: e.detail.value});},msgInput(e) {this.setData({msg: e.detail.value});},sendMsg() {let msg = this.data.msg;this.data.socketTask.send({data: msg});this.setData({msgs: [...this.data.msgs, "发送消息 -> " + msg]});}
})

效果图

在这里插入图片描述

http://www.hengruixuexiao.com/news/30767.html

相关文章:

  • 寻找杭州做网站软件人北京关键词优化报价
  • 网站底部备案号代码百度答主招募入口官网
  • 做会员卡的网站在线制作百度网站推广怎么做
  • 东莞市住房和城乡建设局门户网站网店seo名词解释
  • asp.net 手机网站模板edm营销
  • 西安模板建站公司今日中央新闻
  • 惠州市人民政府门户网站产品网络营销推广方案
  • 网站设计公司建设网站推广的作用在哪里
  • 做毕设靠谱的网站商家怎么入驻百度
  • 夫唯徒弟做外贸服装批发的seo案例 用wp做的网站一个产品的网络营销方案
  • 美团网站是用什么做的国际新闻界官网
  • 怎样去权重高的网站做外链googlechrome
  • 办公室装修设计大概多少钱seo科技网
  • 做游戏网站多少钱百度问答app下载
  • dw制作个人网站的具体步骤沈阳网站关键字优化
  • 新闻网站建设合同公关团队
  • 建门户网站需要多少钱网站入口百度
  • 绍兴网站制作seo查询爱站
  • 10大免费软件下载网站网络销售平台上市公司有哪些
  • 东城网站制作公司推广方式有哪几种
  • 哈尔滨公众号制作保定seo推广外包
  • 黑白高端网站建设新闻头条今日要闻最新
  • 做网站必须要买服务器吗seo常用方法
  • 制作网站首先要知道什么网络营销课程心得体会
  • 自适应网站价格网站收录检测
  • 微信网站 教程志鸿优化设计官网
  • 网页版客服seo
  • 推广策略英语深圳网站优化网站
  • 上海网站设计公司有哪些宁波seo资源
  • 做网站建设的电话销售seo教程培训班