Electron-vue开发的客户端支付收款工具的实现


Posted in Javascript onMay 24, 2019

目前实现了支付宝当面付的扫码支付功能、二维码支付功能,即主动扫和被动扫。测试请使用支付宝沙箱环境,支付宝是沙箱版。

最终效果如下:

Electron-vue开发的客户端支付收款工具的实现

Electron-vue开发的客户端支付收款工具的实现

前端页面使用阿里的组件,ant-design-vue

通过node,使用nedb内存数据库进行本地数据存储

Electron-vue开发的客户端支付收款工具的实现

安装文件支持自定义。生成的exe,安装过程如下

Electron-vue开发的客户端支付收款工具的实现

程序代码简述

Electron-vue开发的客户端支付收款工具的实现

main.js

import devtools from '@vue/devtools'
import Vue from 'vue'
import axios from 'axios'

import App from './App'
import router from './router'
import store from './store'
import db from './nedb'//订单表

import Antd from 'ant-design-vue'
import 'ant-design-vue/dist/antd.css'
import alipayhelper from './alipayhelper'

import moment from 'moment'//导入文件

Vue.prototype.$moment = moment;//赋值使用
Vue.prototype.$db = db
Vue.prototype.alipayhelper = alipayhelper;
Vue.use(Antd)

if (!process.env.IS_WEB) Vue.use(require('vue-electron'))
Vue.http = Vue.prototype.$http = axios
Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
 components: { App },
 router,
 store,
 template: '<App/>'
}).$mount('#app')

alipayhelper.js 里存储的支付宝收款方的APPID,pem路径下应用私钥。这些信息可以通过阿里官方申请,即可以在线收款

const path = require('path');
const fs = require('fs');
const moment = require('moment');
const crypto = require('crypto');
const electron = require('electron');
const dataPath = (electron.app || electron.remote.app).getPath('userData');
const home = (electron.app || electron.remote.app).getPath('home');
const appData = (electron.app || electron.remote.app).getPath('appData');
let ALI_PAY_SETTINGS = {
  APP_ID: '2016100100638328',
  APP_GATEWAY_URL: 'http://localhost',//用于接收支付宝异步通知
  AUTH_REDIRECT_URL: 'xxxxxxx',//第三方授权或用户信息授权后回调地址。授权链接中配置的redirect_uri的值必须与此值保持一致。
  //__dirname 获取当前目录,无法在生产模式assr 获取到路径
  /* APP_PRIVATE_KEY_PATH: path.join(__dirname, 'pem', 'rsa_private_key.pem'),//应用私钥
  APP_PUBLIC_KEY_PATH: path.join(__dirname, 'pem', 'rsa_public_key.pem'),//应用公钥
  ALI_PUBLIC_KEY_PATH: path.join(__dirname, 'pem','ali_rsa_public_key.pem'),//阿里公钥*/
  APP_PRIVATE_KEY_PATH: path.join(__static, '/pem/rsa_private_key.pem'),//应用私钥
  APP_PUBLIC_KEY_PATH: path.join(__static, '/pem/rsa_public_key.pem'),//应用公钥
  ALI_PUBLIC_KEY_PATH: path.join(__static, '/pem/ali_rsa_public_key.pem'),//阿里公钥
  AES_PATH: path.join(__dirname, 'pem', 'remind', 'sandbox', 'aes.txt'),//aes加密(暂未使用)
  ALI_GATEWAY_URL: 'https://openapi.alipaydev.com/gateway.do?',//用于接收支付宝异步通知
};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用 Javascript 验证表单(form)中的单选(radio)值
Sep 08 Javascript
浅析jquery的js图表组件highcharts
Mar 06 Javascript
js控制鼠标事件移动及移出效果显示
Oct 19 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
Apr 17 Javascript
jQuery实现网站添加高亮突出显示效果的方法
Jun 26 Javascript
js控制div层的叠加简单方法
Oct 15 Javascript
浅谈Vue路由快照实现思路及其问题
Jun 07 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
Aug 13 Javascript
微信公众号H5支付接口调用方法
Jan 10 Javascript
jQuery each和js forEach用法比较
Feb 27 jQuery
浅谈layui分页控件field参数接收对象的问题
Sep 20 Javascript
vue+Element-ui前端实现分页效果
Nov 15 Javascript
JS实现判断数组是否包含某个元素示例
May 24 #Javascript
JS实现查找数组中对象的属性值是否存在示例
May 24 #Javascript
jQuery中使用validate插件校验表单功能
May 24 #jQuery
echarts多条折线图动态分层的实现方法
May 24 #Javascript
Echarts动态加载多条折线图的实现代码
May 24 #Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
May 24 #Javascript
微信小程序wepy框架学习和使用心得详解
May 24 #Javascript
You might like
一个很不错的PHP翻页类
2009/06/01 PHP
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
jQuery 处理表单元素的代码
2010/02/15 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
2016/05/18 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
javascript用rem来做响应式开发
2018/01/13 Javascript
使用JavaScript实现node.js中的path.join方法
2018/08/12 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
layui动态表头的实现代码
2019/08/22 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
总结python中pass的作用
2019/02/27 Python
Pycharm安装并配置jupyter notebook的实现
2020/05/18 Python
Staples加拿大官方网站:办公用品一站式采购
2016/09/25 全球购物
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
地球上最先进的胡子和头发修剪器:Bevel
2018/01/23 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
新农村建设汇报材料
2014/08/15 职场文书
英语课外活动总结
2014/08/27 职场文书
出纳试用期自我评价
2015/03/10 职场文书
2015年庆祝国庆节66周年演讲稿
2015/07/30 职场文书
php去除deprecated的实例方法
2021/11/17 PHP