# 微信小程序客户端腾讯云增强 SDK
[![Build Status](https://travis-ci.org/tencentyun/weapp-client-sdk.svg?branch=master)](https://travis-ci.org/tencentyun/weapp-client-sdk)
[![Coverage Status](https://coveralls.io/repos/github/tencentyun/weapp-client-sdk/badge.svg?branch=master)](https://coveralls.io/github/tencentyun/weapp-client-sdk?branch=master)
[![License](http://img.shields.io/npm/l/qcloud-weapp-client-sdk.svg)](LICENSE)
本 SDK 是腾讯云[微信小程序一站式解决方案](https://github.com/tencentyun/weapp-solution)的组成部分,为小程序客户端开发提供 SDK 支持会话服务和信道服务。
## SDK 获取与安装
解决方案[客户端 Demo](https://github.com/tencentyun/weapp-client-demo/) 已经集成并使用最新版的 SDK,需要快速了解的可以从 Demo 开始。
如果需要单独开始,本 SDK 已经发布为 bower 模块,可以直接安装到小程序目录中。
```sh
npm install bower -g
bower install qcloud-weapp-client-sdk
```
安装之后,就可以使用 `require` 引用 SDK 模块:
```js
var qcloud = require('./bower_components/qcloud-weapp-client-sdk/index.js');
```
## 会话服务
[会话服务](https://github.com/tencentyun/weapp-solution/wiki/%E4%BC%9A%E8%AF%9D%E6%9C%8D%E5%8A%A1)让小程序拥有会话管理能力。
### 登录
登录可以在小程序和服务器之间建立会话,服务器由此可以获取到用户的标识和信息。
```js
var qcloud = require('./bower_components/qcloud-weapp-client-sdk/index.js');
// 设置登录地址
qcloud.setLoginUrl("https://199447.qcloud.la/login");
qcloud.login({
success: function(userInfo) {
console.log("登录成功", userInfo);
},
fail: function(err) {
console.log("登录失败", err);
}
});
```
本 SDK 需要配合云端 SDK 才能提供完整会话服务。通过 [setLoginUrl](#setLoginUrl) 设置登录地址,云服务器在该地址上使用云端 SDK 处理登录请求。
> `setLoginUrl` 方法设置登录地址之后会一直有效,因此你可以在微信小程序启动时设置。
登录成功后,可以获取到当前微信用户的基本信息。
### 请求
如果希望小程序的网络请求包含会话,登录之后使用 [request](#request) 方法进行网络请求即可。
```js
qcloud.request({
url: 'http://199447.qcloud.la/user',
success: function(response) {
console.log(response);
},
fail: function(err) {
console.log(err);
}
});
```
如果调用 `request` 之前还没有登录,则请求不会带有会话。`request` 方法也支持 `login` 参数支持在请求之前自动登录。
```js
// 使用 login 参数之前,需要设置登录地址
qcloud.setLoginUrl('https://199447.qcloud.la/login');
qcloud.request({
login: true,
url: 'http://199447.qcloud.la/user',
success: function(response) {
console.log(response);
},
fail: function(err) {
console.log(err);
}
});
```
关于会话服务详细技术说明,请参考 [Wiki](https://github.com/tencentyun/weapp-solution/wiki/%E4%BC%9A%E8%AF%9D%E6%9C%8D%E5%8A%A1)。
## 信道服务
[信道服务](https://github.com/tencentyun/weapp-solution/wiki/%E4%BF%A1%E9%81%93%E6%9C%8D%E5%8A%A1)小程序支持利用腾讯云的信道资源使用 WebSocket 服务。
```js
// 创建信道,需要给定后台服务地址
var tunnel = this.tunnel = new qcloud.Tunnel('https://199447.qcloud.la/tunnel');
// 监听信道内置消息,包括 connect/close/reconnecting/reconnect/error
tunnel.on('connect', () => console.log('WebSocket 信道已连接'));
tunnel.on('close', () => console.log('WebSocket 信道已断开'));
tunnel.on('reconnecting', () => console.log('WebSocket 信道正在重连...'));
tunnel.on('reconnect', () => console.log('WebSocket 信道重连成功'));
tunnel.on('error', error => console.error('信道发生错误:', error));
// 监听自定义消息(服务器进行推送)
tunnel.on('speak', speak => console.log('收到 speak 消息:', speak));
// 打开信道
tunnel.open();
// 发送消息
tunnel.emit('speak', { word: "hello", who: { nickName: "techird" }});
// 关闭信道
tunnel.close();
```
信道服务同样需要业务服务器配合云端 SDK 支持,构造信道实例的时候需要提供业务服务器提供的信道服务地址。通过监听信道消息以及自定义消息来通过信道实现业务。
关于信道使用的更完整实例,建议参考客户端 Demo 中的[三木聊天室应用源码](https://github.com/tencentyun/weapp-client-demo/blob/master/pages/chat/chat.js)。
关于信道服务详细技术说明,请参考 [Wiki](https://github.com/tencentyun/weapp-solution/wiki/%E4%BF%A1%E9%81%93%E6%9C%8D%E5%8A%A1)。
## API
### setLoginUrl
设置会话服务登录地址。
#### 语法
```js
qcloud.setLoginUrl(loginUrl);
```
#### 参数
|参数 |类型 |说明
|-------------|---------------|--------------
|loginUrl |string |会话服务登录地址
### login
登录,建立微信小程序会话。
#### 语法
```js
qcloud.login(options);
```
#### 参数
|参数 |类型 |说明
|-------------|---------------|--------------
|options |PlainObject |会话服务登录地址
|options.success | () => void | 登录成功的回调
|options.error | (error) => void | 登录失败的回调
### request
进行带会话的请求。
#### 语法
```js
qcloud.request(options);
```
#### 参数
|参数 |类型 |说明
|-------------|---------------|--------------
|options |PlainObject | 会话服务登录地址
|options.login | bool | 是否自动登录以获取会话,默认为 false
|options.url | string | 必填,要请求的地址
|options.header | PlainObject | 请求头设置,不允许设置 Referer
|options.method | string | 请求的方法,默认为 GET
|options.success | (response) => void | 登录成功的回调。<ul><li>`response.statusCode`:请求返回的状态码</li><li>`response.data`:请求返回的数据</li></ul>
|options.error | (error) => void | 登录失败的回调
|options.complete | () => void | 登录完成后回调,无论成功还是失败
### Tunnel
表示一个信道。由于小程序的限制,同一时间只能有一个打开的信道。
#### constructor
##### 语法
```js
var tunnel = new Tunnel(tunnelUrl);
```
#### 参数
|参数 |类型 |说明
|-------------|---------------|--------------
|tunnelUrl |String | 会话服务登录地址
#### on
监听信道上的事件。信道上事件包括系统事件和服务器推送消息。
##### 语法
```js
tunnel.on(type, listener);
```
##### 参数
|参数 |类型 |说明
|-------------|---------------|--------------
|type |string | 监听的事件类型
|listener |(message?: any) => void | 监听器,具体类型的事件发生时调用监听器。如果是消息,则会有消息内容。
##### 事件
|事件 |说明
|-------------|-------------------------------
|connect |信道连接成功后回调
|close |信道关闭后回调
|reconnecting |信道发生重连时回调
|reconnected |信道重连成功后回调
|error |信道发生错误后回调
|[message] |信道服务器推送过来的消息类型,如果消息类型和上面内置的时间类型冲突,需要在监听的时候在消息类型前加 `@`
|\* |监听所有事件和消息,监听器第一个参数接收到时间或消息类型
#### open
打开信道,建立连接。由于小程序的限制,同一时间只能有一个打开的信道。
##### 语法
```js
tunnel.open();
```
#### emit
向信道推送消息。
##### 语法
```js
tunnel.emit(type, content);
```
##### 参数
|参数 |类型 |说明
|-------------|---------------|--------------
没有合适的资源?快使用搜索试试~ 我知道了~
微信小程序源码 创意互动游戏 - 你画我猜App下载
共78个文件
wxss:45个
js:14个
json:9个
需积分: 1 0 下载量 167 浏览量
2024-05-22
18:08:05
上传
评论
收藏 91KB ZIP 举报
温馨提示
你画我猜App是一款集娱乐性、互动性和创造性于一体的社交游戏应用。它允许用户通过绘画来猜测谜底,提供了一个轻松有趣的在线互动平台。以下是你画我猜App的主要特点: 实时互动:支持多人在线同时游戏,玩家可以实时看到对方的画作和猜测。 创意绘画:玩家需要发挥自己的想象力和绘画技巧,用画笔表达给定的词汇。 智能匹配系统:系统自动匹配玩家,快速开始游戏,无需等待。 丰富词汇库:包含各种难度和类型的词汇,既有趣味性也有挑战性。 排行榜和成就:设有排行榜和成就系统,激励玩家不断进步。 社交功能:可以邀请好友一起游戏,支持社交账号登录和分享。 简洁界面设计:界面简洁直观,易于操作,适合所有年龄层的玩家。 多语言支持:支持多种语言,满足不同国家和地区玩家的需求。 你画我猜App不仅是一款游戏,更是一种社交方式,它能够拉近人与人之间的距离,增进相互了解。立即下载你画我猜App,享受绘画和猜测的乐趣!
资源推荐
资源详情
资源评论
收起资源包目录
你画我猜.zip (78个子文件)
你画我猜
wxa_drawguess-master
pages
index
index.wxml 2KB
index.js 6KB
index.json 2B
index.wxss 2KB
chat
chat.wxml 1KB
chat.js 5KB
chat.wxss 5KB
chat.json 2B
drawguess
index.wxml 4KB
index.js 9KB
index.json 2B
index.wxss 4KB
upload
index.wxml 2KB
index.js 2KB
index.json 43B
index.wxss 4KB
app.json 367B
app.js 367B
LICENSE 1KB
app.wxss 552B
style
weui.wxss 21KB
base
variable
weui-msg.wxss 0B
weui-dialog.wxss 0B
weui-cell.wxss 0B
weui-grid.wxss 0B
global.wxss 0B
weui-progress.wxss 0B
color.wxss 0B
weui-button.wxss 0B
reset.wxss 129B
mixin
setArrow.wxss 0B
setOnepx.wxss 0B
text.wxss 0B
fn.wxss 0B
widget
weui-page
weui-msg.wxss 663B
weui-article.wxss 405B
weui-agree
weui-agree.wxss 524B
weui-animate
weui-animate.wxss 2KB
weui-searchbar
weui-searchbar.wxss 1KB
weui-media-box
weui-media-box.wxss 2KB
weui-button
weui-button.wxss 131B
weui-panel
weui-panel.wxss 769B
weui-tab
weui-tab.wxss 1KB
weui-navbar.wxss 923B
weui-cell
weui-switch.wxss 65B
weui-cell.wxss 2KB
weui-form.wxss 4KB
weui-check.wxss 394B
weui-form
weui-form_common.wxss 781B
weui-select.wxss 774B
weui-form-preview.wxss 2KB
weui-vcode.wxss 442B
weui-access.wxss 689B
weui-uploader.wxss 2KB
weui-grid
weui-grid.wxss 608B
weui-loading
weui-loading.wxss 3KB
weui-tips
weui-loadmore.wxss 737B
weui-flex
weui-flex.wxss 163B
weui-progress
weui-progress.wxss 322B
weui-footer
weui-footer.wxss 692B
package.json 310B
vendor
qcloud-weapp-client-sdk
lib
request.js 4KB
login.js 5KB
session.js 402B
tunnel.js 15KB
utils.js 387B
constants.js 664B
wxTunnel.js 733B
.bower.json 875B
LICENSE 1KB
index.js 614B
README.md 8KB
bower.json 527B
config.js 577B
README.md 45B
bower.json 427B
1.png 12KB
2.png 17KB
共 78 条
- 1
资源评论
Xs_layla
- 粉丝: 1369
- 资源: 195
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatisCodeHelperPro 3.3.2-2322 2023.2-2024.1
- 基于Python的简单的学生成绩管理程序设计(课程设计)
- jdk-8u20-windows-x64安装版本-jdk-8u301-linux-x64解压版
- 植物大战僵尸杂交版 修改阳光和冷却
- html css js网页设计ntion-model-for-开发笔记
- 数据库课程设计-processing开发笔记
- matlab画图sic-开发demo
- 数据库原理课程设计-图书馆数据库管理系统
- IEC101Sim IEC870-5-101协议仿真主站、子站 (含源码 C++Builder)
- 2212503007陈熙炜跨境2202作业2.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功