使用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 ...
随机推荐
- 解决非root用户使用docker的办法
通常我们使用Docker的时候都是使用的root,官方说法如下 The docker daemon binds to a Unix socket instead of a TCP port. By d ...
- STM32F1固件库文件讲解与基于固件库新建MDK工程模板
操作系统:win10 1.文件目录 (在cmd下用"cd 文件夹" 进入到要显示的文件夹,如cd d:\en.stsw-stm32054,然后输入tree 回车就会出现上图的目录结 ...
- SQL Server 锁详解
锁是一种防止在某对象执行动作的一个进程与已在该对象上执行的其他进行相冲突的机制.也就是说,如果有其他人在操作某个对象,那么你旧不能在该对象上进行操作.你能否执行操作取决于其他用户正在进行的操作. 通过 ...
- #define指令
#define指令: 使用#define的标准格式: #define PI 3.14159 注意:结尾不加分号(;),也不要写成PI = 3.14159,我们最好用大写表示符号常量/明示常量(PI). ...
- 【SAP S/4 1511之变】:主数据之变
本博文主要讲述SAP S/4 1511版本的变化,主要是跟ECC版本的对比.变化还是挺多的,相当一部分是后勤,但绝大部分还是财务成本这一块.作为从事S/4版本的从业者,了解1511版本的变化还是挺有必 ...
- Robot Framework 源码解析(1) - java入口点
一直很好奇Robot Framework 是如何通过关键字驱动进行测试的,好奇它是如何支持那么多库的,好奇它是如何完成截图的.所以就打算研究一下它的源码. 这是官方给出的Robot framework ...
- Spark学习之Spark调优与调试(二)
下面来看看更复杂的情况,比如,当调度器进行流水线执行(pipelining),或把多个 RDD 合并到一个步骤中时.当RDD 不需要混洗数据就可以从父节点计算出来时,调度器就会自动进行流水线执行.上一 ...
- layui,返回的数据不符合规范,正确的成功状态码 (code) 应为:0
在使用layui的数据表格绑定数据的时候,出现的一些问题, "返回的数据不符合规范,正确的成功状态码 (code) 应为:0" 之后在网上也查找的了许多的资料,也去看了官网的文档 ...
- arcgis api 3.x for js 地图加载多个 SHP 图层压缩以及 json 文件展示(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- 安卓4.0以上系统怎么不用root激活XPOSED框架的方法
在大多单位的引流或业务操作中,基本上都需要使用安卓的高端技术Xposed框架,近期,我们单位购买了一批新的安卓4.0以上系统,基本上都都是基于7.0以上版本,基本上都不能够刷入root超级权限,即便是 ...