微信php页面你画我猜,微信小程序你画我猜
【实例简介】后台基于腾讯云提供的小程序解决方案,修改config.js中的host即可
【实例截图】
【核心代码】
/**
* @fileOverview 演示会话服务和 WebSocket 信道服务的使用方式
*/
// 引入 QCloud 小程序增强 SDK
var qcloud = require('../../vendor/qcloud-weapp-client-sdk/index');
// 引入配置
var config = require('../../config');
// 显示繁忙提示
var showBusy = text => wx.showToast({
title: text,
icon: 'loading',
duration: 10000
});
// 显示成功提示
var showSuccess = text => wx.showToast({
title: text,
icon: 'success'
});
// 显示失败提示
var showModel = (title, content) => {
wx.hideToast();
wx.showModal({
title,
content: JSON.stringify(content),
showCancel: false
});
};
/**
* 使用 Page 初始化页面,具体可参考微信公众平台上的文档
*/
Page({
/**
* 初始数据,我们把服务地址显示在页面上
*/
data: {
loginUrl: config.service.loginUrl,
requestUrl: config.service.requestUrl,
tunnelUrl: config.service.tunnelUrl,
tunnelStatus: 'closed',
tunnelStatusText: {
closed: '已关闭',
connecting: '正在连接...',
connected: '已连接'
}
},
/**
* 点击「登录」按钮,测试登录功能
*/
doLogin() {
showBusy('正在登录');
// 登录之前需要调用 qcloud.setLoginUrl() 设置登录地址,不过我们在 app.js 的入口里面已经调用过了,后面就不用再调用了
qcloud.login({
success(result) {
showSuccess('登录成功');
console.log('登录成功', result);
},
fail(error) {
showModel('登录失败', error);
console.log('登录失败', error);
}
});
},
/**
* 点击「清除会话」按钮
*/
clearSession() {
// 清除保存在 storage 的会话信息
qcloud.clearSession();
showSuccess('会话已清除');
},
/**
* 点击「请求」按钮,测试带会话请求的功能
*/
doRequest() {
showBusy('正在请求');
// qcloud.request() 方法和 wx.request() 方法使用是一致的,不过如果用户已经登录的情况下,会把用户的会话信息带给服务器,服务器可以跟踪用户
qcloud.request({
// 要请求的地址
url: this.data.requestUrl,
// 请求之前是否登陆,如果该项指定为 true,会在请求之前进行登录
login: true,
success(result) {
showSuccess('请求成功完成');
console.log('request success', result);
},
fail(error) {
showModel('请求失败', error);
console.log('request fail', error);
},
complete() {
console.log('request complete');
}
});
},
switchTunnel(e) {
const turnedOn = e.detail.value;
if (turnedOn && this.data.tunnelStatus == 'closed') {
this.openTunnel();
} else if (!turnedOn && this.data.tunnelStatus == 'connected') {
this.closeTunnel();
}
},
/**
* 点击「打开信道」,测试 WebSocket 信道服务
*/
openTunnel() {
// 创建信道,需要给定后台服务地址
var tunnel = this.tunnel = new qcloud.Tunnel(this.data.tunnelUrl);
// 监听信道内置消息,包括 connect/close/reconnecting/reconnect/error
tunnel.on('connect', () => {
console.log('WebSocket 信道已连接');
this.setData({ tunnelStatus: 'connected' });
});
tunnel.on('close', () => {
console.log('WebSocket 信道已断开');
this.setData({ tunnelStatus: 'closed' });
});
tunnel.on('reconnecting', () => {
console.log('WebSocket 信道正在重连...')
showBusy('正在重连');
});
tunnel.on('reconnect', () => {
console.log('WebSocket 信道重连成功')
showSuccess('重连成功');
});
tunnel.on('error', error => {
showModel('信道发生错误', error);
console.error('信道发生错误:', error);
});
// 监听自定义消息(服务器进行推送)
tunnel.on('speak', speak => {
showModel('信道消息', speak);
console.log('收到说话消息:', speak);
});
// 打开信道
tunnel.open();
this.setData({ tunnelStatus: 'connecting' });
},
/**
* 点击「发送消息」按钮,测试使用信道发送消息
*/
sendMessage() {
// 使用 tunnel.isActive() 来检测当前信道是否处于可用状态
if (this.tunnel && this.tunnel.isActive()) {
// 使用信道给服务器推送「speak」消息
this.tunnel.emit('speak', {
'word': 'I say something at ' new Date(),
});
}
},
/**
* 点击「测试重连」按钮,测试重连
* 也可以断开网络一段时间之后再连接,测试重连能力
*/
testReconnect() {
// 不通过 SDK 关闭连接,而是直接用微信断开来模拟连接断开的情况下,考察 SDK 自动重连的能力
wx.closeSocket();
},
/**
* 点击「关闭信道」按钮,关闭已经打开的信道
*/
closeTunnel() {
if (this.tunnel) {
this.tunnel.close();
}
this.setData({ tunnelStatus: 'closed' });
},
/**
* 点击「聊天室」按钮,跳转到聊天室综合 Demo 的页面
*/
openChat() {
// 微信只允许一个信道再运行,聊天室使用信道前,我们先把当前的关闭
this.closeTunnel();
wx.navigateTo({ url: '../chat/chat' });
},
openDrawguess() {
this.closeTunnel();
wx.navigateTo({ url: '../drawguess/index' });
},
openUpload() {
wx.navigateTo({ url: '../upload/index' });
}
});
微信php页面你画我猜,微信小程序你画我猜相关推荐
- 实现微信扫一扫跳转到小程序指定页面
使用微信扫一扫进入小程序内的指定页面 文章目录 使用微信扫一扫进入小程序内的指定页面 前言 一.微信小程序平台配置 二.前端uniapp中的获取二维码信息 三.后端处理参数 总结 前言 使用场景:例如 ...
- 微信小程序Canvs画数据表格 折线图
微信小程序Canvs画数据表格 应设计要求,需要画个图标来显示用户历史数据的变化,所以就写了个方法,方便自己以后用的时候调用 废话不多说,先上效果图 现在.wxml文件中加入canvas 标签 给他一 ...
- 微信公众号可快速创建“门店小程序” 不用开发
"门店小程序"是啥?"门店小程序"是小程序的一项新能力.无需开发,商户就可在微信公众号后台快速创建"门店小程序".这个小程序类似一张&quo ...
- 快手小店电脑版_微信PC版更新!支持在小程序中使用微信支付 | 一周资讯
小程序1. 微信PC版更新,支持在小程序中使用微信支付.12月19日,微信PC端推出内测版2.7.2.73,新版本支持以下新功能:新增看一看精选内容,新的订阅号浏览体验,支持在小程序中使用微信支付.( ...
- 程序左上角的字_微信内测7.0.7新版本,小程序迎来大改动!
最近几个月来,微信就跟打了鸡血一样不断更新了多个版本上线多个新功能.此前7月末,微信安卓7.0.6带来了将收藏笔记,文件预览等页面设为浮窗的功能,目前最多支持5个文档或笔记设为浮窗.这不,距离微信7. ...
- 微信扫描普通二维码进入小程序
微信扫描普通二维码进入小程序的方法,和代码没有什么关系,主要是在小程序平台进行设置 1. 开发配置 开发 -- 开发管理 -- 开发设置 -- 扫普通链接二维码打开小程序 2. 配置规则 根据说明配置 ...
- 微信小程序(微信开发者工具及工程创建、小程序配置、逻辑层、模块化)
一.阶段概述 1.课程安排 课程市场:14+1 课程安排:微信小程序:5uniapp:5数据可视化:4答辩:1 2.项目展示 小u商城 数据可视化 3.阶段目标 1.培养学员能力独立完成小程序原生开发 ...
- 微信公众号计算机编程,微信公众号群发文章怎么添加小程序?-电脑教程
2017年4月20日微信发布公告称,微信公众平号群发文章支持添加小程序功能,这对于推广小程序来说,无疑是不错的途径.那么微信公众号群发文章怎么添加小程序?以下是华强电子网带来的详细教程. 微信公众号群 ...
- 微信公众号发送小程序卡片_微信公众号群发文章支持添加小程序卡片
2017年4月20日微信发布公告称,微信公众平号群发文章支持添加小程序功能,这对于推广小程序来说,无疑是不错的途径.那么微信公众号群发文章怎么添加小程序?下面爱站技术频道的小编带来的详细教程. 微信公 ...
- 微信公众号自定义菜单栏绑定关联小程序
日期:2020/7/2 10:02 原文链接: http://note.youdao.com/noteshare?id=a5b5529c7bb1f385fa5453d2a338dbd1&sub ...
最新文章
- 【ACM】杭电OJ 2050
- web 监听器 过滤器等组件
- python中所有保留字首字母都是小写_int是不是python的保留字
- STL源码剖析---STL容器特征总结(含迭代器失效)
- java 生成 tar.gz_一文教您如何通过 Java 压缩文件,打包一个 tar.gz Filebeat 采集器包...
- zookeeper启动失败的排错 no route to host 防火墙未关闭导致的
- ORACLE专有模式与共享模式
- [LeetCode] Intersection of Two Arrays 两个数组相交
- NUC1041 数字三角形【DP】
- oracle 扩容undo,某银行积分系统数据库RAC环境扩充undo表空间
- jquery砸金蛋 高仿阿里旅游砸金蛋
- 使用Tortoise小乌龟 git 拉取代码 报错128处理
- 小白如何入门计算机编程?
- Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。
- Zookeeper 客户端之 Curator
- JavaWeb程序设计———名片管理系统
- 网址URL转义,特殊字符编码HTTP URL编码表
- FI和HR集成自动记账-薪酬计提与发放过账-OBYE/OBYG/PE03/OH02
- 详解!千牛快捷短语在哪里设置
- 界面组件Telerik UI for WPF全新的Windows 11主题,一起来探索