微信小程序开发入门之共享账本(十四)

(备注:微信小程序的wxml文件相当于HTML文件,wxss文件相当于CSS文件,js文件就是JavaScript文件,数据库为NoSQL数据库,数据库脚本语言也同NoSQL,因为是运行在微信内,所有不需要关心是Android还是IOS平台,代码托管在微信的代码管理平台,一个类似于Github的平台)

(ps:区块链最近可真是火,但是也不能因此乱了方寸,做事要有始有终不是,等写完小程序的文章再和大家共同学习下区块链的知识吧)


上一篇回顾

上一篇中用到了实时数据监听,但是忘了说数据库集合权限的问题,如果权限没有设置正确监听是不会起作用的

这个权限在云数据库管理界面可以设置,先打开云开发界面,切换到数据库,选择【权限设置】

然后勾选第一个设置

注意到第一句话没有,之前我们的数据库操作都是通过云函数来做的,所以不用考虑权限问题,但是数据监听是在小程序端配置的,所以这个才需要修改权限,然后再运行小程序就不会有监听失败的问题了


接下来说新增功能

欧阳修说过,独乐乐不如众乐乐

既然我们是共享账本,肯定是有人一起记账最好,所以本篇我们要新增邀请其他人一起来记账的功能

首先我们在index.wxml中新增一个分享按钮

wxss中新增一个样式

.share { width: 70rpx; height: 70rpx; background-image: url("https://746a-tj-tianji-1300186850.tcb.qcloud.la/share.png?sign=8105c0a0dafadda106bd6ace80584752&t=1569152158");}

这里的图标都是从阿里巴巴矢量图标库中下载的,可以自行去选取喜欢的图标,完全免费

编译运行小程序

当然这只是在模拟器运行,没法发给任何人

所以当务之急是用多个账号测试,这需要我们新增测试用的微信号

打开微信公众平台小程序管理页面,选择成员管理,然后在项目成员下添加新成员

输入微信号搜索添加,可以把三个权限都打开,方便使用

然后回到开发工具中,点击预览按钮,扫描二维码即可在真机上运行

然后接收到分享卡片的人就可以通过点击卡片进入小程序

卡片里的图片可以自定义,像我这样不定义的就会截取屏幕作为预览

现在点击这个卡片只是单纯的进入小程序而已,因为我们还没有加任何信息在里面,接下来我们在index.js里新增一个函数

onShareAppMessage: function (res) { return { title: '快来和我一起记账吧', path: '/pages/index/index?acctBookId='+this.data.acctBookInfo._id+"&acctBookName="+this.data.acctBookInfo.name, imageUrl:'/images/shareBook.jpg'}},

这是一个系统函数,当点击open-type='share'的按钮或者选择小程序界面右上角菜单中的分享时,就会调用该函数,如果不自己定义的话就是上图那种情况,现在我们给分享卡片加入了账本的信息和预览图片,别人点击你分享的卡片之后就会带着这些信息过来,

那在哪里接收这些信息呢?答案是onload函数

还记得onLoad函数的签名把

onLoad: function (options)

他的参数option就包括所有传进来的信息

我们在onLoad函数里加一句

console.log('[index onload] options',options)

来看看打印出来是什么

应该有人会问,测试分享功能的时候如果只能用真机测试岂不是很麻烦?确实很麻烦,其实我们也可以用开发工具来测,选择合适的编译条件即可,针对我们要测的传入信息我们可以设置相应的条件进行测试

这样就设置好了进入小程序时所携带的信息,达到模拟点击卡片进入的情况

运行程序,打开控制台可以看到日志

然后我们就可以根据这两个字段的情况来提示用户是否要加入新的账本,新增如下函数

processInvite(option){ console.log(option) let acctBookId = option.acctBookId, acctBookName = option.acctBookName if (acctBookId && acctBookName){ let that = this wx.showModal({ title: '是否加入账本', content: acctBookName, success(res) { if (res.confirm) { console.log('[index processInvite]  用户点击确定') } else if (res.cancel) { console.log('[index processInvite]  用户点击取消') } }, }) }},

然后在onLoad函数中调用该函数

this.processInvite(options)

编译运行,会弹出邀请窗口

点击确定会在控制台打印出信息

点击取消亦是如此


OK,本篇就先到这里,下一篇继续讲如何邀请别人加入你的账本

小程序onload_微信小程序开发入门之共享账本(十四)相关推荐

  1. 【小程序】微信小程序开发技巧实用手册(自己做笔记用)

    [Css]Css和Html常用设计实例参考笔记(自己开发项目用)_敦厚的曹操的博客-CSDN博客_html和css的项目实例一.左右居中1.div等块元素左右居中margin: 0 auto;marg ...

  2. 【小程序】微信小程序云开发笔记详细教程(建议收藏)

    1- 前言 1.1 微信云开发是什么? 微信云开发是微信团队联合腾讯云推出的专业的小程序开发服务. 开发者可以使用云开发快速开发小程序.小游戏.公众号网页等,并且原生打通微信开放能力. 开发者无需搭建 ...

  3. 《微信小程序》微信小程序开发实例

    wx-gesture-lock  微信小程序的手势密码 WXCustomSwitch 微信小程序自定义 Switch 组件模板 WeixinAppBdNovel 微信小程序demo:百度小说搜索 sh ...

  4. 简单分享怎么开发自己的微信小程序_微信小程序快速制作步骤

    小程序开发除了专业人士会自己开发之外,就是外包开发和模板搭建这两种方法. 外包小程序开发需要持续不断地与外包团队沟通,投入的精力也不少,总体价格不低,基本在万元左右, 最适合新手的还是小程序模板搭建啦 ...

  5. android源码大全 IOS游戏源代码打包下载 小游戏|视频教程 微信小程序源码带后台全套|公众号平台

    不断更新中,下面是2017-12-22更新部分 IOS_源码及视频一小部分: 开发环境:Xcode 基于cocos2d的tweejump跳跃游戏ios经典游戏源码.rar  https://pan.b ...

  6. map和foreach的区别和应用场景_支付宝小程序和微信小程序,两者有何区别?

    原标题:支付宝小程序和微信小程序,两者有何区别? 自2017年1月微信推出小程序之后,小程序的发展势头便愈来愈猛.作为腾讯老对头的阿里,也开始投入小程序的研发.在一年多的开放公测后,支付宝小程序终于于 ...

  7. 怎么添加一个程序集_门店小程序,微信小程序怎么添加店铺

    现今随着互联网发展,越来越多选择网上购物代替实体店购物,微信作为最多人使用的社交软件,他的商机也被许多企业商家发展,进入微信分销小程序购物是现在最流行的购物方式,驱使很多实体店也纷纷加盟进驻门店分销小 ...

  8. 微信与php什么区别,微信小店和微信小程序的区别是什么?

    区别:微信小店的功能比较少,只拥有基本的商城购物功能,没有营销功能,因而只适合不需要营销推广的个人开店:而小程序则是支持各种功能开发,可以开发商城小程序,也可以开发各种营销推广功能,能够满足商家的多功 ...

  9. 如何制作一个微信小程序【微信小程序是怎么做的】

    为什么现在这么多人使用微信小程序呢?因为微信小程序除了便捷易开发,公司企业可以用来做小程序展示官网,商家也可以做小程序商城,甚至个人也可以拥有自己的小程序.那么如何制作一个微信小程序?微信小程序是怎么 ...

最新文章

  1. QT,C++最好的调试工具(抽象定义上的工具)
  2. 【node测试系列】几款前端测试断言库(Assertions lib)的选型总结
  3. Team Foundation Server安装指南
  4. 简单介绍Python中的几种数据类型
  5. mysql一次性获取几十万数据_《快速念咒——MySQL自学入门指南》:第2章——从表中获取更多数据(前言)...
  6. java上传永久图文素材_Java-微信开发上传永久素材(支持所有文件类型)
  7. dmg镜像 os vm 安装mac_dmg制作笔记:个性化自己的Mac软件安装包
  8. Vue的computed(计算属性)使用实例之TodoList
  9. Mirror--自增键在镜像中的影响
  10. 通用功能模块------滑动图片验证
  11. 电脑端QQ无法打开怎么办
  12. 使用Eclipse统计自己项目程序代码量【实测可用】
  13. 免费的思维导图工具推荐(幕布-ProcessOn)2020年最新测评
  14. 20道常见的kafka面试题以及答案
  15. 解决SQLServer2008安装失败最直白的解决方式
  16. C语言库函数中的POW函数比自己写的简单幂算法慢多了!
  17. Yagmail通过QQ邮箱发送邮件实例
  18. 什么是四种七和弦 和三种转位
  19. 从0到1万字贴心讲解单体架构到分布式架构的演变(第一篇)
  20. 019动物识别检测网页版

热门文章

  1. 时隔多日,旧域名重用,niceyoo博客上线
  2. react+redux+node报错Tapable.plugin is deprecated. Use new API on `.h ooks` instead
  3. jquery ajax json转换出错Invalid JSON
  4. java == 如何避免空指针异常
  5. ThreadLocal和线程同步机制的对比
  6. linux客户端无法绑定端口号,为什么Linux客户端的情况下不支持端口共用?
  7. 详解html结构之间的各个关系,层级关系(以列表为例)
  8. (JAVA)CollectionDemo1
  9. 计算机成绩表及格率怎么算,卫生资格人机对话如何考试如何评分?成绩如何核算?...
  10. html表单不允许修改,[问题]如何在表单里定义(form)仅仅可读,不可修改的列?