uniapp实现微信小程序支付(前端)

1.本篇主要是介绍uniapp微信小程序支付以及小程序内置网页跳转H5页面两个方向的微信支付流程
2.微信小程序内微信支付

uni.request({
    url:"请求路径",
    method:"方法",
    data:{
        后端需要的数据
    },
    success(payRes){
        //payRes这里主要有几个参数后面会调取uni的支付接口需要使用,下面会介绍每个数据
        //这个请求结束后就是前端最重要的步骤了,需要拉起支付密码框来完成支付
        
        uni.requestPayment({
            "provider": "wxpay",//支付方式  
            "timeStamp":payRes.data.timeStamp,//时间戳
            "nonceStr":payRes.data.nonceStr,//随机字符串
            "package":payRes.data.package,//接口返回的prepay_id
            "signType":payRes.data.signType,//签名算法,需要与后台下单时一致
            "paySign":payRes.data.paySign,签名
            success: function (resSuccess) {
                //触发该success时已经是输入密码支付成功后触发,可做一些页面跳转和成功提示                        
             },
                                    
            fail: function (err) {
                //支付失败时出发,比如取消支付、余额不足等
            }
        });
        
    }
})


3.小程序内部跳转H5页面进行微信支付
1.H5支付因为是非微信内部的支付,所以需要安装使用微信的JS-SDK包来实现,所以实现写法会有一些改变,但是大同小异。

2.现在控制台输入指令(安装了node.js的情况下,我这里是16.6的版本)npm i jweixin-module -S

<script>
//这里两种引入方式 一种是node的require,还有一种就是常用的import的方式引入 效果都一样
const jweixin = require("jweixin ")
 
export default {
    data(){
        return {
 
        }        
    },
 
    methods:{
 
        uni.request({
            url:"请求路径",
            method:"方法",
            data:{
                后端需要的数据
            },
            success(payRes)=>{
 
                 payMent(){
 
                //首先要对jweixin进行初始化配置
                jweixin.config({
                    debug:false,//是否开启调度模式,开启测试支付时会有弹窗
                    appId: payRes.data.appId, // 公众号的唯一标识
                    timestamp: payRes.data.timeStamp, // 生成签名的时间戳
                    nonceStr: payRes.data.nonceStr, // 生成签名的随机串
                    signature: payRes.data.signType, //签名
                    jsApiList: ['chooseWXPay'] // 必填
                })
 
                jweixin.chooseWXPay({
                    timestamp: payRes.data.timeStamp, // 支付签名时间戳
                    nonceStr: payRes.data.nonceStr, // 支付签名随机串,不长于 32 位
                    package: payRes.data.package, // 统一支付接口返回的prepay_id参数值
                    signType: payRes.data.signType, // 签名方式
                    paySign: payRes.data.paySign, // 支付签名
                    success(res){
                        //成功
                    },
                    fail(res){
                        //失败
                    }
                })
             }
        
            }
        })
        
       
    }
}
 
</scrpit>


4.小程序如何用内置浏览器跳转其他H5页面
1.小程序内没法直接跳转至某个网页(我没找到),但是可以通过<web-view>来嵌套H5网页,默认全屏,跳转网址写在src中。

2.我这里的H5页面是有uni生成的,自动生成的H5项目是hash模式,如果我们需要向H5页面传参,在src中写网址的时候就必须带#/,例如:http://192.168.0.1/#/?id=sadas。也可以在manifest.json中将路由模式改为history

3.我把web-view单独写了一个页面,将H5的网址利用路由传参的方式传递个web-view页面(因为需要传入用户信息),受到路由长度的限制,需要先利用encodeURIComponent对格式进行转换,在web-view页面再用decodeURIComponent对传入参数进行解析

//跳转页面
<script>
 
 
export default{
    methods:{
        goPage(){
            uni.navihateTo({
                url:`/page/webView/webView?url=${encodeURIComponent("访问地址"))}`
        
            })
        }
    }        
}
</script>
 
//web-view
<template>
    <web-view :src="url"></web-view>
</template>
<script>
 
export default{
    data(){
        return {
            url:""
        }
    }
    onLoad(option){
        this.url =decodeURIComponen(option.url)
    }
 
}
</script>


5.过程中遇到的问题
1.H5写的微信支付,安卓无法使用,ios没问题,找了半天没找到解决方案

如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值