分享我在商城类微信小程序项目中用到的功能~(uniapp)

1. 分享小程序某个页面到微信好友或群聊

onShareAppMessage() {let imagePath = 'https://tidyimages.oss-cn-hangzhou.aliyuncs.com/webMiNi/20221016.png'const promise = new Promise(resolve => {setTimeout(() => {resolve({title: '所有门店通用!',imageUrl: imagePath,path: '/pages/home/home?invitee2=' + this.cellphone,})}, 2000)})return {title: '所有门店通用!',path: /pages/home/home?invitee2=' + this.cellphone,promise}
}

imageUrl:分享微信好友展示的图片,图片尺寸比例为5:4

title: 为转发的文字宣传语

path:resolve中的path路径为转发页面的路径;path路径为微信好友点开分享的链接跳转到小程序页面的路径;resolve中的path路径后面可以追加传递的参数,可以在跳转页面中的onLoad生命周期函数中获取传递的参数。(ps: 可以保持return中的title,path跟resolve中的title,path的值保持同步)

2. 分享小程序当前页面到微信朋友圈

onShareTimeline(){let helpPhone = '151****2185'return{title: '快来!冬衣/春秋衣/夏衣/鞋类统统9.9元任意洗',query: 'helpPhone=' + helpPhone,imageUrl: 'https://tidyimages.oss-cn-hangzhou.aliyuncs.com/webMiNi/shareImage.png'}
}

imageUrl:分享朋友圈展示图片,图片尺寸比例为1:1

title: 朋友圈的显示文字标题

query:微信其他用户点击朋友圈链接进入小程序携带的参数,可不选,并在onLoad生命周期函数中获取传递过来的参数

3. 下拉刷新和上拉加载更多

下拉刷新onPullDownRefresh()

上拉加载更多onReachBottom(),提前在pages.json中配置开启上拉刷新功能enablePullDownRefresh和触底距离onReachBottomDistance

{
            "path" : "pages/order/order",
            "style" :                                                                                    
            {
                "navigationBarTitleText": "订单中心",
                "enablePullDownRefresh": true,
                "onReachBottomDistance": 150,
                "backgroundColor":"#F8F8F8",
                "navigationBarBackgroundColor":"#FFFFFF"
            }
 }

//以下代码为订单页面,需要做下拉刷新和上拉加载更多功能//下拉刷新
onPullDownRefresh() {wx.showNavigationBarLoading()  //下拉刷新加载图标this.returnOrderList()this.getAccount()setTimeout(() => {wx.hideNavigationBarLoading()   //关闭下拉刷新加载图标wx.stopPullDownRefresh()  //停止下拉刷新}, 400)console.log('结束下拉刷新')
},//上拉加载更多
onReachBottom() {if (this.currentpage * this.pagesize >= this.total) {wx.showToast({title: '数据加载完毕!',duration: 500,icon: 'none'})this.isloading = false}if (this.isloading) returnthis.currentpage += 1this.getOrderList()
}

4. 拨打电话

调用 wx.makePhoneCall() 就可以屏幕底端弹出拨打电话弹窗

传参:phoneNumber为需要拨打的电话

connectStore(item) {let phone = item.phoneif(phone){let phone = item.phonewx.makePhoneCall({phoneNumber: phone,success() {console.log('拨打成功!')},fail() {console.log('取消!')}})}else{wx.showToast({icon: 'none',title: '暂未分配门店,请等待小哥上门取衣!',duration: 1500})}
}

5. 触发地图导航功能

wx.openLocation() 该方法可以使用微信内置地图查看位置,前提可以拿到导航位置的经纬度信息

//跳转地图导航
mapNavigate(shop) {let latitude = shop.latitude   //number类型let longitude = shop.longitude   //number类型let name = shop.store_namelet address = shop.addresswx.openLocation({latitude,longitude,name,address,scale: 16})
}

6. 消息订阅功能

wx.requestSubscribeMessage() 调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果,其核心参数tmplIds为数组类型,是需要订阅的消息模板的id的集合,一次调用最多可订阅3条消息。消息模板id在[微信公众平台(mp.weixin.qq.com)-功能-订阅消息]中配置。

// 调起消息订阅界面
wx.requestSubscribeMessage({ tmplIds: ['BCgczlvieEYWoNG*****RJi2Mx3jrzpfwS31DewXz44','wEukVq6UZfs8Bk9*****HuodMsC9t_6Rz5yfsrZ35TA','80hlbpSyJaRRrFa*****Fsg_xdGxJA90ZqKCyOjTGc8'],success(res) {console.log('订阅消息 成功` ');console.log(res);},fail(er) {console.log("订阅消息 失败` ");console.log(er);}
})

7. 微信支付

wx.requestPayment() 可以调用微信支付功能,需传递几个必填参数,timeStamp时间戳,paySign签名,signType签名算法,package统一下单接口返回的 prepay_id 参数值,nonceStr随机字符串,参数由后端生成返回前端,前端发起微信支付,支付成功拿到回调结果。

//发起微信支付
async prepay_wx(params) {let that = thislet res = await wx.request({url: '请求后端支付接口',method: 'POST',data: params,header: {'content-type': 'application/json','Authorization': that.access_token,}})if (res.data.code === 200) {let sign = res.data.signlet prepay_id = res.data.prepay_idlet nonce_str = res.data.noncestrlet timestamp = res.data.timestamplet order_id = res.data.order_idparams.order_id = order_idlet prepayId = 'prepay_id=' + prepay_idif (sign.length > 0) {wx.requestPayment({nonceStr: nonce_str,package: prepayId,signType: 'MD5',paySign: sign,timeStamp: timestamp,success(res) {wx.showLoading({title: '加载中',mask: true})setTimeout(function() {wx.switchTab({url: '/pages/order/order',})uni.hideLoading()}, 1000)},fail(res) {wx.showToast({title: "支付失败!",icon: 'error',duration: 1500})}})}}
},

微信小程序常用功能总结(持续更新中~)相关推荐

  1. vc++6.0获取磁盘基本信息_微信小程序——常用功能2:微信小程序用户登录,申请用户授权并获取用户基本信息...

    微信小程序--常用功能2:申请用户授权并获取用户基本信息 为了更好的用户体验,很多时候我们想要获取用户的基本信息,从而实现将信息呈现到用户界面.给用户划分地域.给用户分类等功能. 但是要想获取用户信息 ...

  2. 微信小程序开源项目库汇总-持续更新

    微信小程序开源项目库汇总,里面集合了OpenDigg 上的优质的微信小程序开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等 UI组件 weui-wxss ★852 - 同微信原生视觉体验一致 ...

  3. 微信小程序常用功能所需条件整理

    商户号开通: 如果用户有商户号,请提供api.mchId和安全证书 告知用户,如果商户号超过3个月没有流水记录,会被微信限制支付 我们重新申请商户号时间约7个工作日(没申请过商户号,具体资料未知) 微 ...

  4. 微信小程序入门级教程(持续更新)

    文章目录 微信的一些项目 从介绍开始入门 开发 1 起步 2 微信的一些项目 微信提供了很多功能及东西,我们这里主要学习下小程序开发(因为比较火,说不定学了一段时间后就不用了呢) 从介绍开始入门 学习 ...

  5. 微信小程序——小程序开发经验总结(持续更新)

    微信小程序--开发经验总结(持续更新) 部署前端后,刷新页面没有更换效果 情境导入 vue项目打包生成了dist文件,然后进入了/www/server/nginx/html目录中,进行了文件更替 重启 ...

  6. 微信小程序常用的用户交互功能

    用户授权登录: 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系. 首先我们调用 wx.login()获取 临时登录凭证code ,并回传到开发者服务器 ...

  7. 微信小程序常用视图容器组件

    微信小程序常用视图容器组件 1.组件概述 2.常用的试图容器组件 2.1 view 2.1.1 案例 2.2 scroll-view 2.2.1 案例 2.3 swiper 2.3.1 案例 1.组件 ...

  8. 微信小程序支付功能用服务器吗,微信小程序 支付功能 服务器端(TP5.1)实现...

    首先下载微信支付SDK ,将整个目录的文件放在 /application/extend/WxPay 目录下 在使用SDK之前我们需要对 WxPay.Config.php 进行配置 namespace ...

  9. SpringBoot对接微信小程序支付功能开发(一,下单功能)

    1,接入前准备: 接入模式选择直连模式: 申请小程序,得到APPID,并开通微信支付: 申请微信商户号,得到mchid,并绑定APPID: 配置商户API key,下载并配置商户证书,根据微信官方文档 ...

最新文章

  1. uber_Uber是如何制成的
  2. linux服务器的搭建配置与应用,linux服务器的搭建与配置
  3. GridView导出到Excel或Word文件
  4. android — JNI注册方法说明
  5. VTK:Rendering之ColoredSphere
  6. 党建信息发布服务器要求,党建云服务器繁忙
  7. git每个项目创建帐户名和密码
  8. halcon基本,vb,vc连接halcon读取图像,视频
  9. linux set权限,Linux 特殊权限set_uid(示例代码)
  10. 线性代数拾遗(六):特征值与特征向量
  11. 当下大数据体系的4个热点,4个趋势和3个问题
  12. mysql 自动安装脚本_mysql 5.7自动安装脚本
  13. 生物细胞繁衍生存模拟仿真
  14. 【转载】【《Real-Time Rendering 3rd》 提炼总结】(九) 第十章 · 游戏开发中基于图像的渲染技术总结
  15. 南京外企100万,杭州阿里p8 150万,怎么选?
  16. 微信小程序---文本域输入带最大字数限制
  17. Web自动化之Pytest测试框架
  18. 安装pytorch报错torch.cuda.is_available()=false的解决方法
  19. 统计学名词解释 —— 2. 什么是「总体」和「样本」
  20. 【FFMPEG使用经验一】FFMPEG解码MP4帧数不对问题探索

热门文章

  1. 3ds max 足球模型画法
  2. iOS/iPhone学习系列、代码教程
  3. 03 bmp图片生成及像素修改的源码
  4. 计算机网络参考模型与网络布线
  5. Java设计模式之单例模式(附简单案例)
  6. windows使用小技巧-----设置电脑免密码登录
  7. unity用代码控制材质emission color时,勾选了emission后启动不能正常控制自发光颜色的问题解决
  8. Redis核心技术与实战-学习笔记(七)哨兵机制
  9. 煮茶叶蛋口味鲜美的秘技
  10. 《新教育》期刊简介及投稿要求