开放能力

151 阅读5分钟

1.获取微信头像

1.当小程序需要让用户完善个人资料时,我们可以通过微信提供的头像、昵称填写能力快速完善
2.想使用微信提供的头像填写能力,需要两步
    1.将 button 组件 open-type 的值设置为 chooseAvatar
    2.通过 bindchooseavatar 事件回调获取到头像信息的临时

2.获取微信昵称

1.当小程序需要让用户完善个人资料时,我们可以通过微信提供的头像、昵称填写能力快速完善
2.想使用微信提供的昵称填写能力,需要三步
    1.通过 form 组件中包裹住 input 以及 form-type 为 submit 的 button 组件
    2.需要将 input 组件 type 的值设置为 nickname,当用户输入框输入时键盘上方会展示微信昵称
    3.给 form 绑定 submit 事件,在事件处理函数中通过事件对象获取用户昵

3.转发功能

1.转发功能,主要帮助用户更流畅地与好友分享内容和服务
2.想实现转发功能,有两种方式:
    1.页面js 文件 必须声明 onShareAppMessage 事件监听函数,并自定义转发内容。只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮
    2.通过给 button 组件设置属性 open-type=“share",可以在用户点击按钮后触发  Page.onShareAppMessage 事件监听函数

4.手机号验证组件

1.手机验证组件,用于帮助开发者向用户发起手机号申请,必须经过用户同意后,才能获得由平台验证后的手机号,进而为用户提供相应服务手机号验证组件分为两种:手机号快速验证组件 以及 手机号实时验证组件
    1.手机号快速验证组件:平台会对号码进行验证,但不保证是实时验证
        <button open-type="getPhoneNumber"bindgetphonenumber="getPhoneNumber">
    2.手机号实时验证组件:在每次请求时,平台均会对用户选择的手机号进行实时验证。
        <button open-type="getRealtimePhoneNumber"
        bindaetrealtimephonenumber="aetrealtimephonenumber"/>
2.注意事项:
    1.前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)
    2.两种验证组件需要付费使用,每个小程序账号将有1000次体验额度

5.客服功能

1.小程序为开发者提供了客服能力,同时为客服人员提供移动端、网页端客服工作台便于及时处理消息
2.使用方式:
    1.需要将 button 组件 open-type 的值设置为 contact,当用户点击后就会进入客服会话
    2.在微信公众后台,绑定后的客服账号,可以登陆 网页端客服 或 移动端小程序 客服接收、发送客服消息

6.框架接口-getApp()

1.在小程序中,可以通过 getApp()方法获取到小程序全局唯一的 App 实例
2.因此在 ApP()方法中添加全局共享的数据、方法,从而实现页面、组件的数据传值  
3.注意事项:
    1.不要在 App()方法中使用 getApp() ,使用 this 就可以拿到 app 实例
    2.通过 getApp()获取实例之后,不要私自调用生命周期函数

7.页面间通信

如果一个页面通过 wx.navigateTo 打开一个新页面,这两个页面间将建立一条数据通道
    1.在 wx.navigateTo 的 success 回调中通过 EventChannel 对象发射事件
    2.被打开的页面可以通过 this.getopenerEventChannel()方法来获得一个 Eventchannel对象,进行监听、发射事件
    3.wx.navigateTo 方法中可以定义 events 配置项接收被打开页面发射的事件
        1.页面:
        wx.navigateTo({
                success(res) {
                    EventChannel.emit(事件',数据)
                },
                event: {

                }
            })
        2.被打开页面
        this.getOpenerEventChannel()
        EventChannel.on('事件', fn)

8.组件通信-事件总线

1.随着项目功能的增加,业务逻辑也会变的很复杂,一个页面可能是由多个组件进行构成,并且这些组件之间需要进行数据的传递。这时候如果使用之前学习的组件传值方式进行数据的传递,就会比较麻烦
2.事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理机制,允许不同的组件之间进行彼此通信,常用于两个非父子关系组件和兄弟组件之间通讯。我们可以借助第三方的 发布订阅 JS 包,来实现事件总线的功能 PubSubJS
    父组件 ->(properties) 子组件
    子组件 ->(triggerEvent()) 父组件

9.自定义导航栏

1.小程序默认的导航栏与 APP 一样都位于顶部固定位置。但是默认导航栏可能会影响小程序整体风格,且无法满足特定的设计需求,这时候,就需要进行自定义导航栏。
2.在 app.json 或者 page.json 中,配置 navigationStyle 属性为 custom,即可 自定义导航栏
3.在设置以后,就会移除默认的导航栏,只保留右上角胶囊按钮

10.上线发布

我们目前已经完成了小程序的开发,并且通过了本地测试,这时候小程序就需要上线发布
    开发者工具点击【上传】 -> 开发版本  ->  体验版本  ->  审核版本  ->  线上版本  ->  展示给用户
1.开发版本:点击开发者工具上传后的版本,开发版本只保留每人最新的一份上传的代码,是供开发者和团队测试和调试的版本
2.体验版本:小程序开发者可以将开发版本转换为体验版本,由测试人员以及产品经理进行测试与体验,确认没问题可提交审核
3.审核版本:小程序开发者可以将开发版本转换为审核版本,由微信的审核团队进行审核,审核周期为1-7天,审核通过可提交发布
4.线上版本:通过微信小程序平台审核,并由开发者提交发布的正式版本,线上版本是用户可以正常使用的小程序版本