zoukankan      html  css  js  c++  java
  • 使用wepy开发微信小程序01——常用的组件

    1、axio.js

    'use strict'
    
    import axios from 'axios'
    import wepyAxiosAdapter from 'wepy-plugin-axios/dist/adapter.js'
    
    const instance = axios.create({
      adapter: wepyAxiosAdapter(axios),
      baseURL: 'https://API_HOST/api',
      headers: {
        'Authorization': undefined
      },
      validateStatus: () => true
    })
    
    export default instance
    
    let token = ''
    export function getToken () { return token }
    export function setToken (newToken) {
      token = newToken
      instance.defaults.headers['Authorization'] = 'Bearer ' + token
    }

    2、util.js

    'use strict'
    
    import * as d3TimeFormat from 'd3-time-format'
    
    /** 解析日期 */
    function parseDate (date) {
      let d = new Date(date)
      if (Number.isNaN(+d)) {
        d = new Date()
      }
    
      return d
    }
    
    /** 只保留一个日期的年、月、日 */
    export function trimDate (date) {
      const d = parseDate(date)
      return new Date(d.getFullYear(), d.getMonth(), d.getDate())
    }
    
    // 预定义的日期时间格式
    const dateFormat = d3TimeFormat.timeFormat('%Y-%m-%d')
    const timeFormat = d3TimeFormat.timeFormat('%H:%M')
    
    /** 格式化日期 */
    export function formatDate (date) {
      const d = parseDate(date)
      return dateFormat(d)
    }
    
    /** 格式化时间 */
    export function formatTime (date) {
      const d = parseDate(date)
      return timeFormat(d)
    }
    
    /** 生成用于表单绑定的 change 函数 */
    export function generateChangeMethods (parent, props) {
      const result = {}
      props.forEach(prop => {
        result[prop + 'Changed'] = function (e) {
          this[parent][prop] = e.detail.value
        }
      })
    
      return result
    }

    3、wepy.js

    'use strict'
    
    import wepy from 'wepy'
    import axios from './axios'
    import events from './events'
    
    export function $modal (title, content, showCancel = false) {
      return wepy.showModal({
        title,
        content,
        showCancel
      }).then(data => data.confirm)
    }
    
    export function $loading (title, mask = true) {
      if (title) {
        return wepy.showLoading({ title, mask })
      } else {
        return wepy.hideLoading()
      }
    }
    
    export const $http = axios
    
    export function $navigateTo (key, url) {
      if (key && !url) {
        url = key
        key = undefined
      }
    
      return wepy.navigateTo({ url }).then(() => key && new Promise(resolve => events.once(key, resolve)))
    }
    
    export function $navigateBack (key, ...args) {
      if (key) {
        events.emit(key, ...args)
      }
    
      return wepy.navigateBack()
    }
    
    Object.assign(wepy.component.prototype, {
      $modal,
      $loading,
      $http,
      $navigateTo,
      $navigateBack,
      $globalEvents: events
    })
  • 相关阅读:
    Python 爬虫js加密破解(一) 爬取今日头条as cp 算法 解密
    Python 爬虫实例(2)—— 爬取今日头条
    Python 爬虫实例(1)—— 爬取百度图片
    python 操作redis之——HyperLogLog (八)
    python 操作redis之——有序集合(sorted set) (七)
    Python操作redis系列之 列表(list) (五)
    Python操作redis系列以 哈希(Hash)命令详解(四)
    Python操作redis字符串(String)详解 (三)
    How to Install MySQL on CentOS 7
    Linux SSH远程文件/目录 传输
  • 原文地址:https://www.cnblogs.com/quejuwen/p/9178802.html
Copyright © 2011-2022 走看看