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 实现父窗口引用弹出窗口的值的脚本
Aug 07 Javascript
csdn 博客中实现运行代码功能实现
Aug 29 Javascript
用jQuery模拟页面加载进度条的实现代码
Dec 19 Javascript
YUI Compressor压缩JavaScript原理及微优化
Jan 07 Javascript
浅谈重写window对象的方法
Dec 29 Javascript
javascript对象的相关操作小结
May 16 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
Oct 27 Javascript
React教程之Props验证的具体用法(Props Validation)
Sep 04 Javascript
详解使用React进行组件库开发
Feb 06 Javascript
Vue 全局loading组件实例详解
May 29 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
Dec 14 Javascript
利用JavaScript模拟京东按键输入功能
Dec 01 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提取字符串中网站url地址的方法
2014/12/03 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
js中this用法实例详解
2015/05/05 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
[01:00:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第三场 1月10日
2021/03/11 DOTA
Python的语言类型(详解)
2017/06/24 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
python文件拆分与重组实例
2018/12/10 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
python绘制雷达图实例讲解
2021/01/03 Python
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
单身旅行者的单身假期:Just You
2018/04/08 全球购物
女娲补天教学反思
2014/02/05 职场文书
六查六看剖析材料
2014/02/15 职场文书
大学军训感言400字
2014/03/11 职场文书
个人承诺书
2014/03/26 职场文书
学校校庆演讲稿
2014/05/22 职场文书
学校督导评估方案
2014/06/10 职场文书
视光学专业自荐信
2014/06/24 职场文书
志愿者工作心得体会
2016/01/15 职场文书
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL