1、在一个项目中,遇到了这个场景:返回tabBar中的某个页面是需要保存数据,但是新进这个页面需要清除数据。 2、场景如下图:报修进入下一步,返回第一步时不能刷新页面(即保留页面数据),从其他tabBar进入报修页面时就需要清空可能已经填写的数据。3、解决办法,在第二步页面做了一个本地存储变量,在第一步的页面判断这个变量进而确定是否是第二步页面返回。 其中,因为第一步有上传图片的操作,也会执行"onShow",因此在当前页...
微信小程序与公众号卡券/会员打通 卡券开发:带你走出小程序的坑 tips:由于笔者也是一位前端菜鸟,所以尽量用简单直白的语言为大家讲解,如有说的不到位的地方,还望多多指教 - 作为小程序的研发人员已经默默在小程序深耕了有8个月了,可以说是陪小程序一起成长起来,经历了小程序内测—小程序API开发趋于稳定 好了,进入正题吧, 批量添加卡券 wx.addCard(OBJECT) 基础库 1.1.0 开始支持,低版本需做兼容处理查看微信卡包中的卡...
本文实例为大家分享了微信小程序实现图片选择并预览的具体代码,供大家参考,具体内容如下 (一)、功能说明 做的是一个意见反馈,用户发表意见和上传图片,限制了最多只能上传三张图片。 其他要点:textarea使用,底部保存按钮固定 (二)、小程序接口说明 wx.chooseLocation(Object object) 从本地相册选择图片或使用相机拍照。(三)、效果图 效果如下: (四)、代码展示 WXML页面: <view class="wrap"><view class="contant_wrap"...
原因原来在app.wxss中定义了如下的内容【不知道是不是新建项目自动生成的,这里也就提供了隐藏滚动条的思路啦】 ::-webkit-scrollbar {width: 0px;height: 0px;color:#transparent; }what, 宽高为0,而且还是透明的,难怪,好吧,修改宽高4px,color设置为green,以为可以了,呵呵,太年轻。scroll-viwe依然没有滚动条,以为是布局原因,导致滚动条消失在界面外,我将宽高设为20px,想想也是搞笑,设这么宽,但是,正是这种傻劲,再...
本文实例为大家分享了微信小程序实现原生步骤条的具体代码,供大家参考,具体内容如下 效果(步骤条颜色不对是录制工具的问题) 思路 其实与轮播图类似,使用了两个并排的轮播容器,在滑动监听后,给图片加上移动和缩放动画。 扩展 可以用于标签页的切换。 vue与微信小程序有类似的地方,所以微信小程序做出的效果,原理也可用于vue在网页上的应用。 代码 wxml <view class=window><view class=content bindtouchstart=touchS bind...
本文实例为大家分享了微信小程序自定义单项选择器样式的具体代码,供大家参考,具体内容如下 效果:wxml: <view bindchange="radioChange"><view class=list_item wx:for="{{radioValues}}" data-index="{{index}}" bindtap=radioChange style="{{index == radioValues.length-1?border-bottom:0:}}"><text style=color:rgb(96,96,96)>{{item.value}}</text> <view wx:if="{{item.selected}}" class=item> <view style=width:20rp...
本文实例为大家分享了微信小程序实现动态列表项的顺序加载动画,供大家参考,具体内容如下 效果 思路 1、最开始用了纯CSS动画animation,发现动画需要重复写,于是换使用transition动画。 2、使用onReady()可以让页面加载好再显示动画以免动画提前结束。 代码 wxml <!-- style中的主要为了区分已加载好的项和新数据,只有新数据有动画 --> <view wx:for="{{lists}}" class="common"style=opacity:{{index >= (page-1)*2?op:"1"}};m...
效果图如下:核心代码如下: delType:function(e){var typeId = e.currentTarget.dataset[id];console.log("delete:"+typeId)wx.showModal({title: 提示,content: 确认要删除该支出类型?,success: function (res) {if (res.confirm) {console.log(用户点击确定)wx.request({url: getApp().globalData.urlPath + "spendingType/delete",method: "POST",data: {typeId: typeId},header: {"Content-Type": "application/x-www-form-urle...
小程序引用外部js//封装的函数 function GetUserInfo2018() {console.log("获取用户信息8888") }function count(str) {console.log(str) }//转化成小程序模板语言 这一步非常重要 不然无法正确调用 module.exports = {GetUserInfo2018: GetUserInfo2018,count: count };/*其它页面调用var common = require("../common/common.js");common.GetUserInfo2018();common.count("hehe"); */小程序引用外部css/* app.wxss是全局样式,作用...
关于网络通信,这里我使用的是wx.request,官方代码示例如下: wx.request({url: test.php, //仅为示例,并非真实的接口地址data: {x: ,y: },header: {content-type: application/json // 默认值},success (res) {console.log(res.data)} })对于初学者而言,官方示例可能会看不怎么懂,所以我就以我自己当初项目驱动学习的方式(开发个人的记账小程序)来作为学习实例。 以登录来说,效果图如下:此次示例包含表单校验和网络请求,代码如...
背景实验室需要将项目的app搬到微信的小程序上,终于知道为什么程序员是手艺人了,只要有需求,就要想方设法去填充这种需求,去年是小程序的元年了可以说,去年冬天一个叫跳一跳的小程序游戏出现在我的微信中,当时就觉得腾讯是真的牛皮。一时间很多的软件小程序版相继出现,各大微信公众号也开始关联小程序。小程序相比于app,有着独特的优势,其中最大的就是没有ios和android平台之分,但是同时也有局限,你给我开发个小程序王者...
wxml: <view class="body"><view class="body-content">第1题:企业的价值观是 ?</view><view class="label">单选</view></view><view class="options"><radio-group class="radio-group" bindchange="radioChange"><label class="radio" wx:for="{{items}}" wx:key="{{index}}"><view><radio value="{{item.name}}" checked="{{item.checked}}"/>{{item.value}} </view></label></radio-group></view>我们看一下原生的效果:修改...
引言微信小程序为了优化用户体验,取消了在进入小程序时立马出现授权窗口。需要用户主动点击按钮,触发授权窗口。 那么,在我实践过程中,出现了以下问题。 1. 无法弹出授权窗口2. 希望在用户已经授权的情况下,不显示按钮1. 具体实现app.js的onLaunch()函数中,添加获取用户个人信息的代码段。实现在用户已经授权的情况(例如第二次打开小程序时)下,自动获取用户个人信息,而不需要用户的授权。 // 获取用户信息 wx.getSetting(...
用户调用wx.login()方法,获取登录用户凭证codewx.login({success: function(res) {console.log(loginCode, res.code)} });code传给后台,凭证code获取session_key和openidhttps://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code后台会获的用户的openid和session_keygetPhoneNumber组件拿到encryptedData和iv<button open-type="getPhoneNumber" bindgetphonenumb...
简单的自定义组件 本文的使用场景是:多个页面都需要用到拨打电话功能,为减少代码量、便于维护,所以自定义了一个组件,每个页面直接调用即可。基本实现下图样式:下面我们来一步步的实现它: step1:创建文件夹以及文件 首先创建一个components(名字可自取)文件夹,用于放置所有自定义的组件, 里面可以用右键自动创建的方式,新建一个Component组件,例如:创建之后的目录结构为:其中callphone是我们本次要实现的拨打电话组件...