zoukankan      html  css  js  c++  java
  • 【微信小程序】——实战开发之和风(含demo)

    微信小程序之和风

    凑了一把微信小程序的热闹!12月,小程序正式发布,很火,但随之而来的是各种冷水,唱衰之调随处可见。但作为一个小前端,岂能有新技术却弃之不顾之理,更何况是微信出品的?抱着学习和研究的态度,才有了今天的这个我称之为DEMO的和风小程序,以及小小的总结。

    源代码在这里:https://github.com/CaptainLiao/wechatProgram

    实现功能

    天气预报

    这是最先尝试的,用和风天气的API,好处是免费,但不是很稳定的说。具体实现:

    • 列表渲染

    • 切换隐藏/显示

    • iconfont的应用

    干货新闻

    做完天气预报,觉得太单薄了,不能称之为应用,何况心里还有点痒痒,于是借用了干货API,实现了简单的新闻客户端(捂脸)。具体功能:

    • 图片的切换

    • 新闻列表,简单的数据处理

    • 下拉加载

    • 上拉刷新

    • 新闻详情的跳转(新闻详情返回的是含有标签的字符串,小程序不能解析......留待后期解决)

    上图先:

    具体代码这里就不贴出来了......

    大家可以直接下载源码查看,也很简单。

    更重要的是,我想说说微信的组件,被这个坑了......

    微信组件补充

    微信官网关于组件的介绍实在不多,已经写好的在这里不在赘述,官网很清楚了说几个上面没有而我们开发中常用的。

    toast消息提示框

    toast消息提示框,可用在提示一些信息,比如清楚缓存给用户一个友好的提示!或操作一些请求不想让用户有什么操作,toast也可以做到因为toast显示时其他操作是无效的。

    主要属性:

    wxml

    <!--点击button触发toast-->
    <button type="primary" bindtap="listenerButton">点击显示toast</button>
    <!--toast消息框显示3秒,并绑定事件-->
    <toast hidden="{{hiddenToast}}" duration="3000" bindchange="toastHidden" >OK!</toast>

    js

    Page({
      data:{
        // text:"这是一个页面"
        hiddenToast: true
      },
    ​
    /**
     * 监听button点击事件
     */
      listenerButton: function() {
          this.setData({
              hiddenToast: !this.data.hiddenToast
          })
      },
      /**
       *    toast显示时间到时处理业务 
       */
      toastHidden:function(){
          this.setData({
              hiddenToast: true
          })
      },
    ​
      onLoad:function(options){
        // 页面初始化 options为页面跳转所带来的参数
      },
      onReady:function(){
        // 页面渲染完成
      },
      onShow:function(){
        // 页面显示
      },
      onHide:function(){
        // 页面隐藏
      },
      onUnload:function(){
        // 页面关闭
      }
    })

    model组件

    modal弹出框常用在提示一些信息比如:退出应用,清楚缓存,修改资料提交时一些提示等等。

    常用属性:

    wxml

     
    <!--监听button点击事件-->
    <button bindtap="listenerButton" type="primary">弹出modal</button><!--弹出框-->
    <modal 
        title="退出应用"
         hidden="{{hiddenModal}}"
         confirm-text="再看看"
         cancel-text="退出"
         bindconfirm="listenerConfirm"
         bindcancel="listenerCancel" >
         您是否真的要退出应用
         </modal>

    js

    Page({
      data:{
        // text:"这是一个页面"
        hiddenModal: true
      },
    ​
      listenerButton:function() {
          this.setData({
              hiddenModal: !this.data.hiddenModal
          })
      },
    ​
      listenerConfirm:function() {
          this.setData({
              hiddenModal: true
          })
      },
    ​
      listenerCancel:function() {
          this.setData({
              hiddenModal: true
          })
      },
    ​
      onLoad:function(options){
        // 页面初始化 options为页面跳转所带来的参数
      },
      onReady:function(){
        // 页面渲染完成
      },
      onShow:function(){
        // 页面显示
      },
      onHide:function(){
        // 页面隐藏
      },
      onUnload:function(){
        // 页面关闭
      }
    })
     

    loading 组件

    loading通常使用在请求网络数据时的一种方式,通过hidden属性设置显示与否

    主要属性:

    wxml

    <!---->
    <button type="primary" bindtap="listenerButton">显示loading</button>
    <!--默认隐藏-->
    <loading hidden="{{hiddenLoading}}">正在加载</loading>12341234

    js

    Page({
      data:{
        // text:"这是一个页面"
        hiddenLoading: true
      },
    ​
      /**
       * 监听button点击事件
       */
      listenerButton:function(){
          this.setData({
              hiddenLoading: !this.data.hiddenLoading
          })
      },
      onLoad:function(options){
        // 页面初始化 options为页面跳转所带来的参数
      },
      onReady:function(){
        // 页面渲染完成
      },
      onShow:function(){
        // 页面显示
      },
      onHide:function(){
        // 页面隐藏
      },
      onUnload:function(){
        // 页面关闭
      }
    })
  • 相关阅读:
    k8s 新加节点
    /etc/bashrc
    k8s 连接harbor 的私有仓库的两种方法 一种是secret 绑定到sa serviceaccount 账号下 一种是需要绑定到 imagePullSecrets:
    pip install --upgrade urllib3==1.25.2
    mysql skip-grant-tables 后要多次重启 和验证登录检查确认密码生效
    k8s 传参给docker env command、args和dockerfile中的entrypoint、cmd之间的关系
    kubectl -n ingress-nginx exec nginx-ingress-controller-78bd49949c-t22bl -- cat /etc/nginx/nginx.conf
    更新Alpine Linux源 sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories apk add xxx
    ingress nginx https配置
    Ingress-nginx 部署使用
  • 原文地址:https://www.cnblogs.com/fayin/p/6349484.html
Copyright © 2011-2022 走看看