文档章节

如何在微信小程序中使用 Hprose

andot
 andot
发布于 2016/09/28 20:59
字数 745
阅读 2749
收藏 20

Hprose 技术交流群:48855729

首先下载 微信小程序开发工具,之后安装。

然后按照网上那一堆微信小程序 Hello World 教程创建一个小程序。

接下来我们下载 hprose-wx,或者从开源中国的 Git 服务器镜像下载。

可以用 git clone 下载,也可以只下载 dist 目录下的文件,dist 目录下面的这两个版本都可以用:

  • hprose.src.js 是源码版本
  • hprose.js 是压缩版本

调试阶段建议用源码版本。

之后,你可以把它们复制到你创建的那个微信小程序的 utils 目录下(复制其中一个就可以),然后将它改名为 hprose.js(这一步可选,只为后面引用的时候,名称统一)。

接下来,打开 pages/index/index.js 文件。

在开头加上:

var hprose = require('../../utils/hprose.js');

然后在 onLoad 事件中加入以下代码:

    var client = hprose.Client.create("http://www.hprose.com/example/", ["hello"]);
    client.hello("world", function(result) {
      console.log(result);
    });

总体看上去是这样的:

//index.js

var hprose = require('../../utils/hprose.js');

//获取应用实例
var app = getApp()
Page({
  data: {
    motto: 'Hello World',
    userInfo: {}
  },
  //事件处理函数
  bindViewTap: function() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad: function () {
    console.log('onLoad')
    var client = hprose.Client.create("http://www.hprose.com/example/", ["hello"]);
    client.hello("world", function(result) {
      console.log(result);
    });
    var that = this
    //调用应用实例的方法获取全局数据
    app.getUserInfo(function(userInfo){
      //更新数据
      that.setData({
        userInfo:userInfo
      })
    })
  }
})

然后点编译,运行,如果你的网络没有问题的,你会在调试控制台中看到:

Hello World

好了,就这么简单,接下来,你就可以用 hprose 来做微信小程序开发了。

虽然上面仅仅列出了简单调用,但实际上 Hprose 的所有功能在微信小程序中全部可以使用,包括负载均衡,故障切换,幂等性调用失败自动重试,订阅推送等等。而且不仅仅支持 https 服务,也支持 wss 服务,而且使用方式也是一样一样的。当然,如果你需要推送数据,或者需要传输二进制数据,使用 wss 服务是最好的选择。

对于 hprose 服务器来说,编写 wss 服务和编写 https 服务器也是一样一样的,而且发布了 wss 服务的同时,也会发布相同的 https 服务,因此,你两种服务可以同时使用。

如果你用的是微信小程序的正式开发账号,那么连接的服务器地址应该是 https 的而不能是 http 的,而且应该在开发账号里设置要连接的服务器地址。

© 著作权归作者所有

共有 人打赏支持
andot

andot

粉丝 126
博文 8
码字总数 16729
作品 17
潍坊
程序员
私信 提问
加载中

评论(8)

andot
andot

引用来自“yangbo1995”的评论

我的接口地址是rpc方法,我想问下怎么调用
如果是 hprose 的 rpc 接口,就按照 hprose 客户端文档里写的那样调用就可以了。
yangbo1995
yangbo1995
我的接口地址是rpc方法,我想问下怎么调用
阿刁ktsos
hprose 真神器耶
andot
andot
已经在真机测试通过了,在 iOS 和 android 手机上都能完美运行!
andot
andot
地址改为微信小程序专用版的 hprose 地址了。
andot
andot

引用来自“沙发迪”的评论

我觉得hprose是一个神器

引用来自“啦啦啦拉拉”的评论

能不能避开跨域访问的限制???
开发环境下是可以的,真机不知道,没有内测账号。
啦啦啦拉拉
啦啦啦拉拉

引用来自“沙发迪”的评论

我觉得hprose是一个神器
能不能避开跨域访问的限制???
沙发迪
沙发迪
我觉得hprose是一个神器
异步通信组件hprose在微信小程序中的使用例子

网上搜索了在微信小程序中的使用,基本都是最老的版本 目前在新版中无法使用 现在写一个例子 第一步: 准备好一个hprose的服务端,什么语言的都行,我这里使用的是nodejs版本的 我进入开源的官方...

MrInsight
05/28
0
0
如何通过二维码门禁实现微信开门

如何通过二维码门禁实现微信开门 如何通过二维码门禁实现微信开门是现下许多客户关心的问题,塞伯罗斯对此进行多番研究,如何让二维码门禁与微信二维码相互作用,微信小程序的诞生便是链接其...

塞伯罗斯
05/15
0
0
微信小程序Canvas隐藏问题处理

一、在微信小程序中Canvas控件还存在着许多问题 使用微信自带的Canvas控件,生成海报二维码时,会遇到canvas在绘制结束后,显示在页面的最上层。 使用 hidden或display:none 无效。 解决方案...

tianma3798
09/14
0
0
掘金开发者大会 ∙ 微信小程序专场 | 一场汇聚了微信小程序日活前十名半数的开发者大会,邀您参加!

掘金开发者大会 ∙ 微信小程序专场 一场迟来的聚会 自2017年1月微信小程序正式上线以来,应用数与开发者数持续增长,目前已经有超过100万个微信小程序发布且相关开发者也超过了150万。同样,...

稀土君
08/06
0
0
掘金开发者大会 ∙ 微信小程序专场正式启动

一场迟来的聚会 自2017年1月微信小程序正式上线以来,应用数与开发者数持续增长,目前已经有超过100万个微信小程序发布且相关开发者也超过了150万。同样,我们也可以通过掘金的数据看到 2017...

掘金官方
08/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一个案例彻底弄懂如何正确使用 mysql inndb 联合索引

摘要: 有一个业务是查询最新审核的5条数据 ```sql SELECT `id`, `title` FROM `th_content` WHERE `audit_time` < 1541984478 AND `status` = 'ONLINE' ORDER BY `audit_time` D. 原来链接 ......

阿里云官方博客
8分钟前
1
0
详解如何用爬虫采集视频播放量数据(以腾讯视频为例)

现代社会提到大数据大家都知道这是近几年才形成的对于数据相关的新名词,在1980年,著名未来学家阿尔文·托夫勒便在 《第三次浪潮》一书中,将大数据热情地赞颂为“第三次浪潮的 华彩乐章”...

技术阿飞
13分钟前
1
0
区块链时代的拜占庭容错:Tendermint(二)

原文题目:《Tendermint: Byzantine Fault Tolerance in the Age of Blockchains》 原文作者:Ethan Buchman 翻译:饶云坤 校对:傅晓波 本文为节选 以下为正文: 本章阐述Tendermint共识算法...

万向区块链
26分钟前
0
0
AS连接网易Mumu模拟器

1、安装模拟器 打开这个网址现在模拟器然后安装 http://mumu.163.com/ 2、安装完成后启动模拟器 3、进入模拟器安装目录 例如本机的安装目录:C:\Program Files (x86)\MuMu\emulator\nemu\vmo...

HGMrWang
33分钟前
9
0
设计要做到扩展性强还挺难的

概述 在日常开发中,有时候你的上司会跟你说,这个模块的设计扩展性要高。把这句话说出来很简单,但是要做到则非常难。导致难的其中一个因素是: 你不熟悉这个行业的业务的玩法 我举个例子来...

Sam哥哥聊技术
35分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部