持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天
一、form表单
当点击 <form/> 表单中 formType 为 submit 的 <button/> 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key。
bindtap 用户点击时触发
bindchange 用户输入完成时触发(建议要输入中文的input采用这个点击事件)
判断两次密码不一致用 !== 相比较 例如:if(that.data.password !== that.data.password_confirmation){ }
<form bindsubmit="loginTap">
<view class="section">
<input placeholder="输入手机号" maxlength="color:rgb(144 255 173)">11" placeholder-style="color:#fff" name="phone" bindtap="phone"/>
</view> //hover-class="none" 设置按钮按下的样式及状态
<button hover-class="other-button-hover" form-type="submit" bindtap="phoneBtn"> 登录 </button>
</form>
二、获取地理位置
wx.getLocation(OBJECT)
获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用。开启高精度定位,接口耗时会增加,可指定highAccuracyExpireTime作为超时时间。
type :wgs84返回gps坐标,gcj02 返回可用于wx.openLocation的坐标;altitude:传入 true 会返回高度信息,由于获取高度需要较高精确度,会减慢接口返回速度;isHighAccuracy:开启高精度定位;highAccuracyExpireTime:高精度定位超时时间(ms),指定时间内返回最高精度,该值3000ms以上高精度定位才有效果;
wx.getLocation({
type: "wgs84",
success (res) {
console.log(res)
}
})
- latitude:纬度,范围为 -90~90,负数表示南纬;
- longitude:经度,范围为 -180~180,负数表示西经;
- speed:速度,单位m/s
- accuracy:位置的精确度
- altitude:高度,单位m;
- verticalAccuracy:垂直精度,单位m(Android无法获取,返回 0);
- horizontalAccuracy:水平精度,单位m;
但可能会出现以下现象:
这是因为开发者需要获取用户地理位置,所以呢就要告诉用户我们拿地理位置做什么,就是一个用途说明
需要按照要求在app.json里声明permission字段
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
}
三、转发功能
首先介绍一个微信小程序的API:onShareAppMessage(options)
在 Page 中定义 onShareAppMessage 函数,设置该页面的转发信息。
- 只有定义了此事件处理函数,右上角菜单才会显示 “转发” 按钮
- 用户点击转发按钮的时候会调用
- 此事件需要 return 一个 Object,用于自定义转发内容
步骤如下:
1、首先要在onLoad中配置wx.showShareMenu
2、然后再配置onShareAppMessage
options 参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| from | string | 转发事件来源。button:页面内转发按钮;menu:右上角转发菜单 |
| target | object | 如果 from值是 button,则 target 是触发这次转发事件的 button,否则为 undefined |
回调结果
| 回调类型 | errMsg | 说明 |
|---|---|---|
| success | shareAppMessage:ok | 转发成功 |
| fail | shareAppMessage:fail cancel | 用户取消转发 |
| fail | shareAppMessage:fail (detail message) | 转发失败,其中 detail message 为详细失败信息 |
微信的转发功能是不可以通过success来进行返回值的,在之前是进行了更新,用户在点击转发之后,不管转发是否成功都统一返回成功,所以在我们进行转发的过程中加入了forwarding()来进行返回值的。
友情提示一下如果点击按钮分享的话,button一定要设置open-type="share"否则不起作用。
烟火向星辰,所愿皆成真!