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 二维数组的实现与应用
Mar 16 Javascript
json2.js的初步学习与了解
Oct 06 Javascript
js点击更换背景颜色或图片的实例代码
Jun 25 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
Mar 27 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
May 05 Javascript
JS平滑无缝滚动效果的实现代码
May 06 Javascript
bootstrap modal弹出框的垂直居中
Dec 14 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
Dec 20 Javascript
jQuery获取Table某列的值(推荐)
Mar 03 Javascript
bootstrap响应式表格实例详解
May 15 Javascript
bootstrap基本配置_动力节点Java学院整理
Jul 14 Javascript
妙用缓存调用链实现JS方法的重载
Apr 30 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
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
PHP预定义变量9大超全局数组用法详解
2016/04/23 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
js函数般调用正则
2008/04/08 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
javascript常用的设计模式
2017/02/09 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
JS实现HTML页面中动态显示当前时间完整示例
2018/07/30 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
python每次处理固定个数的字符的方法总结
2013/01/29 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
python数据处理之如何选取csv文件中某几行的数据
2019/09/02 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
在 Pycharm 安装使用black的方法详解
2020/04/02 Python
ProBikeKit英国:在线公路自行车之家
2017/02/10 全球购物
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
什么是反射
2012/03/17 面试题
护士自我评价范文
2014/01/25 职场文书
廉洁使者实施方案
2014/03/29 职场文书
市场营销计划书范文
2015/01/16 职场文书
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers