知乎用户424o35
微信公众号首页选择菜单,自定义菜单进行设置就可以了随着生活节奏加快,高强度的工作与学习使得越来越多的人陷入情绪压力和心理障碍而无法及时排解情绪和表达真实内心世界。在当今科学技术高速发展的今天,针对于人们心理需求的一系列平台也在不断的开发应用,koala树洞应运而生。koala树洞运用微信平台小程序的便捷及无需安装的优势,让用户通过扫描二维码或搜索微信小程序应用名的方式,来使用koala树洞的所有功能,为用户提供一个安全和健康的分享平台。
2系统功能分析与设计
2.1功能分析本文所设计树洞小程序目的是为用户提供通过文字或者图片的方式将生活点滴以及个人心情进行发布的平台,以传递真实情感。由此本系统设计了三个模块,分别是广场模块,发布模块,个人模块,系统的功能结构。
2.1.1广场模块广场模块显示用户发布的文字或者图片,并且提供了点赞、删除等功能。用户可点击感兴趣的文字或图片内容以查看详情,并进入二级界面对其他用户发布的内容进行回复,该模块是系统的核心模块。
2.1.2发布模块发布模块包含生活板块与娱乐板块两个部分。生活板块包括学习生活、心情吐槽、恋爱子模块;娱乐板块包括音乐、图书、影视子模块;用户可以根据自己的需求进入相应模块。
2.1.3个人模块个人模块提供更改头像和姓名的功能,也可以显示点赞、评论消息,加入树洞一共多少天,以及提供反馈建议等。
功能设计
系统业务流程设计本系统的业务流程,首先用户进入小程序,系统会判断是否第一次进入,如果是第一次进入则会进入授权界面,如果不是则进入广场界面,在该界面中,用户可以根据感兴趣的内容进行点赞或者进入详情页进行回复。用户也可以进入发布界面,自行选择感兴趣的板块进行内容发布。如果用户需要修改个人资料则进入个人界面,同时,在个人界面里提供了查看点赞和评论用户个人发表内容的功能。
发布于 2022-01-12
我们发现,小程序里面大部分API都是异步接口,这根它的双线程模型有很大关系。
以下举一个标准的异步接口 showToast 。
在logic层,我们调用了 showToast 方法:
实际上这接口发到 master 层去处理的:
考虑到我们的接口都是异步回调,在 master 层处理完毕后需要通知回 logic 层:
上面我们看到了一个 msgId,这是各层间传递信息标识的唯一id,而 logic 层还需要处理回调结果,我们完善一下:
在API调用的时候,把自身的回调函数缓存起来,等收到回调的信息时,执行相应的回调,再把缓存删掉。
在一些接口上,也能提供同步的接口,比如: getStorageSync 。
这个比较好理解,因为 localStorage 无论在父级页面或者iframe中都能取到,而且本身也是一个同步方法,所以可以在 master 层和 logic 层都实现一遍。
我们还发现,小程序的 setStorage 比 web 上的 localStorage 似乎可以写入的格式多一些,还支持Date格式类型,方法是通过写入JSON来实现,参照 LocalStorage
上一篇
第65篇
极客时间《9小时搞定微信小程序开发》第五课:原生API。
小程序API最后一部分,课程中没有详细去讲,因为当时开放的API还没有现在这么多,而且这部分API偏于后台控制,大多是后期逐步新增的。
wx.getUpdateManager 获取 全局唯一 的版本更新管理器,用于管理小程序更新
UpdateManager对象用来管理更新,有强制小程序重启并使用新版本、监听小程序版本更新事件等方法。
一些异步处理的任务,可以放置于 Worker 中运行,待运行结束后,再把结果返回到小程序主线程。Worker 运行于一个单独的全局上下文与线程中,不能直接调用主线程的方法。
Worker 最大并发数量限制为 1 个,创建下一个前需要结束当前 Worker;Worker 与主线程之间的数据传输,双方使用 Worker.postMessage()来发送数据,Worker.onMessage()来接收数据,传输的数据并不是直接共享,而是被复制的。
wx.reportMonitor,自定义业务数据监控上报接口,最多可以创建128个监控事件
监听或取消监听小程序切换前后台、错误事件
wx.canIUse:判断小程序的API,回调,参数,组件等是否在当前版本可用
绘图相关的API,主要是对CanvasContent对象的使用,实现各种颜色、线条、内容填充的控制
可以用以下几种方式来表示 canvas 中使用的颜色:
RGB 颜色: 如 'rgb(255, 0, 0)'
RGBA 颜色:如 'rgba(255, 0, 0, 0.3)'
16 进制颜色: 如 '#FF0000'
预定义的颜色: 如 'red'
其中预定义颜色有148个: 自定义颜色
调试开关和日志管理器的API,console可以向调试面板打印debug\error\info\log\warn共5类日志,logmanager最多保存5M的日志内容,超过5M后,旧的日志内容会被删除。
获取第三方平台的自定义的数据字段。小程序运营者可以一键授权给第三方平台,通过第三方平台完成业务。
第三方平台有单独的说明,参见: 第三方平台
创建 map 上下文 MapContext 对象,MapContext实现以下功能
对小程序框架中的路由控制进行扩充,实现关闭页面后返回或跳转到其他页面的 *** 作。
对小程序转发功能的控制,就是小程序右上角关闭按钮旁边3个小白点里的『转发』。
获取系统信息,主要包括以下信息:
设定或取消定时器,按照指定周期或在定时到期之后执行注册的回调函数
IntersectionObserver 对象,用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见
SelectorQuery,查询节点信息的对象
小程序开发框架提供的API变得越来越多,通过这些微信原生的API,可以快速方便的调用微信的能力,比如文件的控制、图片视频的控制、数据的缓存、微信支付等,从而实现更加复杂多样的业务。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)