uni-app H5兼容ios问题+微信扫一扫、微信支付等常用api代码封装

最近公司需要用uni开发一个项目,项目中遇到的问题记录一下,方便下次不采坑
场景:
        使用wx自带sdk完成,扫一扫、微信登录、微信支付
引用方式:

// index.html引入
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js" />
<script>
	window.jWeixin = window.wx;
	delete window.wx;
</script>

常用api代码封装: 

import {
	wxConfigApi
} from '../api.js'
export default {
	/* 判断是否在微信中 */
	isWechat: function() {
		var ua = window.navigator.userAgent.toLowerCase();
		if (ua.match(/micromessenger/i) == 'micromessenger') {

			return true;
		} else {
			//以下是我项目中所需要的操作其他,可以自定义
			uni.showModal({
				title: '提示',
				content: '请在微信浏览器中打开',
				showCancel: false,
				success: function(res) {
					if (res.confirm) {
						// console.log('用户点击确定');
					} else if (res.cancel) {
						// console.log('用户点击取消');
					}
				}
			});
			return false;
		}
	},
	/* 获取sdk初始化配置 */
	initJssdk: function(callback) {
		//获取当前url然后传递给后台获取授权和签名信息 
        // 此处url涉及到一个坑点、后面会说到
		var url = /(Android)/i.test(navigator.userAgent) ? window.location.href.split('#')[0] : uni.getStorageSync('scanUrl')
		console.log(url, 'url')
		wxConfigApi({
			url: url
		}).then(res => {
			jWeixin.config({
				debug: false,
				appId: res.data.appId,
				timestamp: res.data.timestamp,
				nonceStr: res.data.nonceStr,
				signature: res.data.signature,
				jsApiList: [ //这里是需要用到的接口名称  
					'checkJsApi', //判断当前客户端版本是否支持指定JS接口  
					'updateAppMessageShareData', //分享朋友
					'updateTimelineShareData', //分享朋友圈  
					'getLocation', //获取位置  
					'openLocation', //打开位置  
					'scanQRCode', //扫一扫接口  
					'chooseWXPay', //微信支付  
					'chooseImage', //拍照或从手机相册中选图接口  
					'previewImage', //预览图片接口  
					'uploadImage' //上传图片  
				]
			});
			if (callback) {
				callback(res.data);
			}
		})
		// jWeixin.ready(function(data) {})

	},
	/
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值