【零售小程序】—— webview嵌套web端项目(原生开发支付功能)
- index → index.wxml 套webwiew
// url 活动url bindmessage 接收信息
<web-view src='{{url}}' bindmessage='message'></web-view> 微信头像昵称:登录与未登录的用户,都必须要获取头像昵称
发(微信分享)的用户 只能通过url传入参数:type、id、invitecode、token
收(微信分享)的用户 getInfo()拿到本人头像昵称
/**
* 获取用户,头像,昵称,
* 设置webview url
*/
getUserInfo:function(code) {
let me = this;
wx.getUserInfo({
withCredentials: true,
lang: '',
success: function (res) {
// console.log(res, 'getUserInfo') const { nickName, avatarUrl } = res.userInfo;
me.setData({
userInfo:{
avatarUrl: avatarUrl,
nickName: nickName
}
}) res.jsCode = code; me.getSelf(res);
},
fail: function (res) {
wx.redirectTo({
url: '../getInfo/getInfo',
})
},
complete: function (res) {},
})
},
子功能页 获取数据、存入全局、调用数据
头部必须
var app = getApp()
调用方法中才可以用app里的数据
// 全局数据
app.globalData.index_optionsindex -> index.js中的message函数,取到data信息对象,index.wxml中webview里的bindmessage就可以接收信息数据
message:function(v) { let data = v.detail.data[v.detail.data.length - 1]; this.setData({
message: data
})
},
APP跳转小程序,打开网页,webview嵌套的项目,微信授权【登录】
/**
* 根据凭证获取openid,
*/
onLoad: function (options) {
// wx.hideShareMenu();
// console.log(options, 'index.js/options', app.globalData.link_url)
let me = this;
wx.login({
success: function (res) {
//获取openid
console.log(res.code)
me.getUserInfo(res.code) },
fail: function (res) {
wx.showModal({
title: 'login失败',
content: '信息: ' + res.msg,
})
}
});点击小程序顶部分享按钮分享时,分享的内容为当前页面的内容,需要使用wx.miniProgram.postMessage【发送信息】
H5页面
window.wx.miniProgram.postMessage({
data: {……}
});小程序:
/**
* 用户点击右上角分享
*/
onShareAppMessage: function (ff) {
console.log(this.data.message)
let id = this.data.message.id ? this.data.message.id : ''; if(!id) {
wx.showModal({
title: '提示',
content: '此页面不支持分享',
})
// return false;
// return {
// title: '益合众',
// path: '/pages/index/index'
// } } let url = this.data.message.url;
console.log(url) let title = this.data.message.title ? this.data.message.title:'分享';
let desc = this.data.message.desc ? this.data.message.desc:null;
// if (desc) {
// return {
// title: title + `(${desc})`,
// path: '/pages/index/index?' + url,
// success: function (res) { }
// }
// } else {
return {
title: title,
path: '/pages/index/index?' + url,
success: function (res) { }
}
// }
}
支付:共有4个支付pay - pay(VIP支付)、activitypay(活动支付)、fanspay(粉丝支付)、mallpay(商城支付)
微信获取openId(关键key) → 下单 → 支付(走接口,后台会返回一些微信支付需要的参数) → 鉴权(调起微信支付)wx.requestPayment 【支付API - 微信开发者文档】
活动支付完,没提示,直接返回活动页
商城支付 返回 订单页面;其它支付 都返回 原页面

- 小程序支付成功之后,返回一个res - type里的mallPayRes之类,作支付结果提示
- 提交小程序
- App.js dev 本地环境 pro 正式环境 test 测试环境
env: function(val) {
switch (val) {
case "dev":
this.globalData.serverHost = 'http://192.168.0.116';
this.globalData.serverPort = '8099';
this.globalData.host = this.globalData.serverHost + ":" + this.globalData.serverPort; this.globalData.sec_serverHost = 'http://192.168.0.116';
this.globalData.sec_serverPort = '9099';
this.globalData.sec_host = this.globalData.sec_serverHost + ":" + this.globalData.sec_serverPort; this.globalData.link_url = 'http://192.168.0.104:8090';
break;
case "pro":
this.globalData.host = 'https://back.yihezo.cn'; this.globalData.sec_host = 'https://sec.yihezo.cn'; this.globalData.link_url = 'https://yihezo.cn';
break;
case "test":
this.globalData.host = 'https://testback.yihezo.cn'; this.globalData.sec_host = 'https://testsec.yihezo.cn'; this.globalData.link_url = 'https://test.yihezo.cn'; break;
} }, - 提交前,打开相应变量
// 指定项目启动模式
// const envVal = 'dev'
const envVal = 'test'
// const envVal = 'pro'
this.env(envVal);
console.log('配置变量完毕!当前环境: ' + envVal)
- 上传小程序 - 上传体验版只需要更新,上传正式版需要先提交审核
- 更新版本号 当前0.7.3,没有特别的意义,下次更新数字做区分即可
- 填写项目备注 上线更新功能
- 小程序上传 = 部署,与web项目不同,不需要手动拉取代码到服务器上传
注:未经允许,不得转载
【零售小程序】—— webview嵌套web端项目(原生开发支付功能)的更多相关文章
- 小程序 web-view 嵌套的网页跳转到小程序内部页面 实现无缝连接
需要在H5页面被作出判断和处理 点击事件发生时跳转到小程序内部页面 1.引入小程序提供的JS <script type="text/javascript" src=&quo ...
- 小程序web-view wx.miniProgram.postMessage 坑记录
web-view吧,其实微信官方应该是非常不支持在小程序上嵌套web的,它希望你直接用小程序上的代码,而放弃web的实现,当然,也是为了防止用小程序去嵌套别的广告页面.所以官方对web-view的操作 ...
- 小程序webview调用微信扫一扫的“曲折”思路
自上一篇遇到webview中没有返回按钮之后,虽然跳出坑了.解决方案:<小程序webview跳转页面后没有返回按钮完美解决方案> 但是,小程序踩坑之路并没有结束.在公众号网页中通过配置AP ...
- 微信小程序web-view(webview) 嵌套H5页面 唤起微信支付的实现方案
场景:小程序页面有一个web-view组件,组件嵌套的H5页面,要唤起微信支付. 先讲一下我的项目,首先我是自己开发的一个H5触屏版的商城系统,里面含有购物车,订单支付等功能.然后刚开始,我们公众号里 ...
- 小程序webview实践
小程序webview实践 -- 张所勇 大家好,我是转转开放业务部前端负责人张所勇,今天主要来跟大家分享小程序webview方面的问题,但我并不会讲小程序的webview原理,而我主要想讲的是小程序内 ...
- 小程序webview应用实践
原文:小程序webview实践 作者:张所勇(转转开放业务部前端负责人) 公众号:大转转FE Fundebug经授权转载,版权归原作者所有. 大家好,我是转转开放业务部前端负责人张所勇,今天主要来跟大 ...
- 微信小程序web-view之wx.miniProgram.redirectTo
17年微信小程序官方提供了web-view组件. 官方描述:web-view组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面.个人类型与海外类型的小程序暂不支持使用. 这段时间研究了一下小程 ...
- 小程序webview跳转页面后没有返回按钮完美解决方案
随着小程序越来越火爆,使一个产品如果只有公众号H5页面和APP显得不怎么完美,总感觉不搭上小程序这趟流量车,就会少了点什么,心里别扭地很.在此驱动下,我所在公司也决定赶紧上车. 但是,如果要按照小程序 ...
- 微信小程序入门与实战 常用组件API开发技巧项目实战*全
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
随机推荐
- 在CentOS7上无人值守安装Zabbix4.2
#!/bin/bash # 检查操作系统版本,该脚本只能运行在 Centos .x 系统上 cat /etc/redhat-release |grep -i centos |grep '7.[[:di ...
- Spring+Spring MVC+Hibernate框架搭建实例
前言:这里只是说明整个搭建流程,并不进行原理性的讲解 一 下面所需要用到的数据库配置: 数据库方面,使用mysql创建一个users表,具体代码如下: 1 2 3 4 5 6 7 8 9 10 11 ...
- Python基础——函数的装饰器
等待更新…………………… 后面再写
- 万兴神剪手 Wondershare Filmora v9.2.11.6 简体中文版
目录 1. 介绍 2. 简体中文9.2.1.10汉化版下载 3. 安装和激活说明 1. 介绍 万兴神剪手 Filmora 是一款界面简洁时尚.功能强大的视频编辑软件,它是深圳万兴科技公司近年来的代表作 ...
- .htaccess A网站单页面301到B网站单页面
.htaccess 301问题 A网站 a.com/a.html 301到 B网站 b.com/b.html RewriteRule ^a.com/a.html$ http://www.b. ...
- Codeforces 967 贪心服务器分配资源 线性基XOR递增序列构造
A #include<bits/stdc++.h> using namespace std; ][] = {{, -}, {, }, { -, }, {, }}; typedef long ...
- 清北学堂提高组突破营游记day6
还有一天就结束了..QWQ 好快啊. 昨天没讲完的博弈论DP: 一个标准的博弈论dp,一般问的是是否先手赢. 博弈论最关键的问题:dp过程. 对于一个问题,一定有很多状态,每个状态可以转移到其他的一些 ...
- java ArrayList迭代过程中删除
第一种迭代删除方式: 第二种迭代删除方式: 第三种迭代删除: 第四种迭代删除: 第五种迭代删除: 第六种: ArrayList中remove()方法的机制,首先看源码: 真正的删除操作在fastRem ...
- mybatis 的 DefaultVFS 日志乱码问题
mybatis 的 DefaultVFS 日志乱码问题 mybatis DefaultVFS 乱码 1. 问题描述 今天在启动同事搭建的工程时,发现 console 中乱码,细看下,是 mybat ...
- pushd&popd&dirs命令
dirs 显示当前目录栈中的所有记录 -p 一个目录一行显示 -l 以完整格式显示 -c 删除目录栈中的所有记录 -v 每行一个目录来显示,每个目录前加上编号 +N 从左到右的第n个 ...