使用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
})
使用wepy开发微信小程序01——常用的组件的更多相关文章
- 使用wepy开发微信小程序商城第三篇:购物车(布局篇)
使用wepy开发微信小程序商城 第三篇:购物车(布局篇) 前两篇如下: 使用wepy开发微信小程序商城第一篇:项目初始化 使用wepy开发微信小程序商城第二篇:路由配置和页面结构 基于上两篇内容,开始 ...
- 使用wepy开发微信小程序商城第二篇:路由配置和页面结构
使用wepy开发微信小程序商城 第二篇:路由配置和页面结构 前言: 最近公司在做一个微信小程序的项目,用的是类似于vue的wepy框架.我也借此机会学习和实践一下. 小程序官方文档:https://d ...
- 使用wepy开发微信小程序商城第一篇:项目初始化
使用wepy开发微信小程序商城 第一篇:项目初始化 前言: wepy小程序项目初始化的操作,官方文档看了好几遍,感觉写得不是很清楚. 这篇写得挺好的:小程序开发之wepy 1.初始化项目 (1)全局安 ...
- [小程序开发] 微信小程序audio音频播放组件+api_wx.createAudioContext
引言: audio是微信小程序中的音频组件,可以轻松实现小程序中播放/停止音频等自定义动作. 附上微信小程序audio组件的相关属性说明:https://mp.weixin.qq.com/debug/ ...
- 微信小程序(3)——常用的组件
view: view是小程序中的视图容器之一,似于html中的<div>标签 <view class="section"> <view class=& ...
- 使用uni-app开发微信小程序
uni-app 开发微信小程序 前言 9月份,开始开发微信小程序,也曾调研过wepy/mpvue,考虑到后期跨端的需求,最终选择使用了uni-app,本文主要介绍如何使用uni-app搭建小程序项目, ...
- 用Vue.js开发微信小程序:开源框架mpvue解析
前言 mpvue 是一款使用 Vue.js 开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程 ...
- 快速开发微信小程序
image.png 最近婷主在做微信小程序.自己的微信公众号也需要添加点料,乘着这次放假,把微信小程序研究了下.虽然没有做什么很强大的功能,不过好歹自己的公众号也有了微信小程序.够用即可. 1.需要先 ...
- 使用uView UI+UniApp开发微信小程序
在前面随笔的介绍中,我们已经为各种框架,已经准备了Web API.Winform端.Bootstrap-Vue的公司动态网站前端.Vue&Element的管理前端等内容,基本都是基于Web A ...
随机推荐
- solr+jieba结巴分词
为什么选择结巴分词 分词效率高 词料库构建时使用的是jieba (python) 结巴分词Java版本 下载 git clone https://github.com/huaban/jieba-ana ...
- Redis详解(二)------ redis的配置文件介绍
上一篇博客我们介绍了如何安装Redis,在Redis的解压目录下有个很重要的配置文件 redis.conf (/opt/redis-4.0.9目录下),关于Redis的很多功能的配置都在此文件中完成的 ...
- Spring Boot之WebSocket
一.项目说明 1.项目地址:https://github.com/hqzmss/test01-springboot-websocket.git 2.IDE:IntelliJ IDEA 2018.1.1 ...
- 面试题之小炼牛刀zip,lambda,map
# 现有两元祖,(('a'),('b')),(('c'),('d'))# 请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]t1=(('a'),('b'))t2=(('c' ...
- Eureka的基本功能和用法
1.基础架构 eueka按逻辑上可以划分为3个模块,eureka-server,service-provider,service-consumereureka-server:服务端,提供服务注册和发现 ...
- SpringBoot---页面跳转之WebMvcConfigurerAdapter
摘要:在springboot中定义自己的方法继承WebMvcConfigurerAdapter方法可以实现扩展springMvc功能,要全面实现接管springmvc就要在自己的方法上加上@Enabl ...
- ASP.Net Core MVC 发生二次请求
Bug回忆录 昨天搭建新框架的时候,遇到一个很奇怪的“Bug”,每次请求都会触发两次Aciton,举例子吧,Demo: _Layout.cshtml <!DOCTYPE html> < ...
- [Swift]LeetCode1033. 移动石子直到连续 | Moving Stones Until Consecutive
Three stones are on a number line at positions a, b, and c. Each turn, let's say the stones are curr ...
- 使用JavaScript和D3.js实现数据可视化
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由独木桥先生发表于云+社区专栏 介绍 D3.js是一个JavaScript库.它的全称是Data-Driven Documents(数据 ...
- ADO.NET 基础学习笔记1
1. ODBC.OLEDB.ADO.ADO.NET之间的关系 ODBC: 开放数据库互连(ODBC)是MICROSOFT提出的数据库访问接口标准.ODBC(Open DatabaseConnectiv ...