2017微信小程序全套源代码 最新 最全 好用
2017-12-08 14:23
441 查看
不要瞎找了,2017最新微信小程序多套源码在这里,最新最优质的案例源代码供大家参考,微信小程序全套源代码 最新 最全 好用 信小程序全套源代码(后台、小程序php)下载使用
下载地址:http://download.csdn.net/download/zhangguo5/9829728?utm_source=blogseo
http://download.csdn.net/download/wyx100/9734370?utm_source=blogseo
/** * @fileOverview 聊天室综合 Demo 示例 */ // 引入 QCloud 小程序增强 SDK var qcloud = require('../../vendor/qcloud-weapp-client-sdk/index'); // 引入配置 var config = require('../../config'); /** * 生成一条聊天室的消息的唯一 ID */ function msgUuid() { if (!msgUuid.next) { msgUuid.next = 0; } return 'msg-' + (++msgUuid.next); } /** * 生成聊天室的系统消息 */ function createSystemMessage(content) { return { id: msgUuid(), type: 'system', content }; } /** * 生成聊天室的聊天消息 */ function createUserMessage(content, user, isMe) { return { id: msgUuid(), type: 'speak', content, user, isMe }; } // 声明聊天室页面 Page({ /** * 聊天室使用到的数据,主要是消息集合以及当前输入框的文本 */ data: { messages: [], inputContent: '大家好啊', lastMessageId: 'none', }, /** * 页面渲染完成后,启动聊天室 * */ onReady() { wx.setNavigationBarTitle({ title: '三木聊天室' }); if (!this.pageReady) { this.pageReady = true; this.enter(); } }, /** * 后续后台切换回前台的时候,也要重新启动聊天室 */ onShow() { if (this.pageReady) { this.enter(); } }, /** * 页面卸载时,退出聊天室 */ onUnload() { this.quit(); }, /** * 页面切换到后台运行时,退出聊天室 */ onHide() { this.quit(); }, /** * 启动聊天室 */ enter() { this.pushMessage(createSystemMessage('正在登录...')); // 如果登录过,会记录当前用户在 this.me 上 if (!this.me) { qcloud.request({ url: `https://${config.service.host}/user`, login: true, success: (response) => { this.me = response.data.data.userInfo; this.connect(); } }); } else { this.connect(); } }, /** * 连接到聊天室信道服务 */ connect() { this.amendMessage(createSystemMessage('正在加入群聊...')); // 创建信道 var tunnel = this.tunnel = new qcloud.Tunnel(config.service.tunnelUrl); // 连接成功后,去掉「正在加入群聊」的系统提示 tunnel.on('connect', () => this.popMessage()); // 聊天室有人加入或退出,反馈到 UI 上 tunnel.on('people', people => { const { total, enter, leave } = people; if (enter) { this.pushMessage(createSystemMessage(`${enter.nickName}已加入群聊,当前共 ${total} 人`)); } else { this.pushMessage(createSystemMessage(`${leave.nickName}已退出群聊,当前共 ${total} 人`)); } }); // 有人说话,创建一条消息 tunnel.on('speak', speak => { const { word, who } = speak; this.pushMessage(createUserMessage(word, who, who.openId === this.me.openId)); }); // 信道关闭后,显示退出群聊 tunnel.on('close', () => { this.pushMessage(createSystemMessage('您已退出群聊')); }); // 重连提醒 tunnel.on('reconnecting', () => { this.pushMessage(createSystemMessage('已断线,正在重连...')); }); tunnel.on('reconnect', () => { this.amendMessage(createSystemMessage('重连成功')); }); // 打开信道 tunnel.open(); }, /** * 退出聊天室 */ quit() { if (this.tunnel) { this.tunnel.close(); } }, /** * 通用更新当前消息集合的方法 */ updateMessages(updater) { var messages = this.data.messages; updater(messages); this.setData({ messages }); // 需要先更新 messagess 数据后再设置滚动位置,否则不能生效 var lastMessageId = messages.length ? messages[messages.length - 1].id : 'none'; this.setData({ lastMessageId }); }, /** * 追加一条消息 */ pushMessage(message) { this.updateMessages(messages => messages.push(message)); }, /** * 替换上一条消息 */ amendMessage(message) { this.updateMessages(messages => messages.splice(-1, 1, me 4000 ssage)); }, /** * 删除上一条消息 */ popMessage() { this.updateMessages(messages => messages.pop()); }, /** * 用户输入的内容改变之后 */ changeInputContent(e) { this.setData({ inputContent: e.detail.value }); }, /** * 点击「发送」按钮,通过信道推送消息到服务器 **/ sendMessage(e) { // 信道当前不可用 if (!this.tunnel || !this.tunnel.isActive()) { this.pushMessage(createSystemMessage('您还没有加入群聊,请稍后重试')); if (this.tunnel.isClosed()) { this.enter(); } return; } setTimeout(() => { if (this.data.inputContent && this.tunnel) { this.tunnel.emit('speak', { word: this.data.inputContent }); this.setData({ inputContent: '' }); } }); }, });
相关文章推荐
- android源码大全 IOS游戏源代码打包下载 小游戏|视频教程 微信小程序源码带后台全套|公众号平台
- 17年1月9日,小程序来了。深度解析2017微信公开课
- 最新微信对接及天气预报功能源代码
- 2017微信公开课PRO版在广州召开 张小龙首次全面解读小程序
- [2017最新]汇总《大数据原理与实践》微信公开课程
- iOS实现第三方微信登录方式实例解析(最新最全)
- 游戏接入微信登录、支付流程2017-12 最新
- 小程序后端开发,微信小程序后端搭建demo源代码
- 目前为止最全的微信小程序项目实例
- 目前为止最全的微信小程序项目实例
- 微信小程序实现滑动tab切换和点击tab切换并显示相应的数据(附源代码)
- 目前为止最全的微信小程序项目实例
- 微信小程序使用全套指南
- 最新100个微信小程序
- 微雪的Open103V STM32F103VET6 最新版的HAL库全套示例程序和手册
- 微信小程序外卖平台,免费下载小程序外卖源代码
- 源码推荐:移动端商城(微信小程序源代码) WebView离线缓存
- 目前为止最全的微信小程序项目实例
- 17年1月9日,小程序来了。深度解析2017微信公开课
- iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享