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的键盘控制事件说明
Apr 15 Javascript
js function定义函数的几种不错方法
Feb 27 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
Dec 31 Javascript
jQuery四种选择器使用及示例
Jun 05 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
Jul 12 Javascript
JS常用函数和常用技巧小结
Oct 15 Javascript
JQuery实现动态操作表格
Jan 11 Javascript
JavaScript常用事件介绍
Jan 21 Javascript
vue轻量级框架无法获取到vue对象解决方法
May 12 Javascript
vue的路由映射问题及解决方案
Oct 14 Javascript
Vue使用自定义指令实现拖拽行为实例分析
Jun 06 Javascript
Vue 事件的$event参数=事件的值案例
Jan 29 Vue.js
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中函数rand和mt_rand的区别比较
2012/12/26 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
探讨JavaScript中的Rest参数和参数默认值
2015/07/29 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
Vue中ref和$refs的介绍以及使用方法示例
2021/01/11 Vue.js
用Python实现一个简单的能够发送带附件的邮件程序的教程
2015/04/08 Python
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
Falsk 与 Django 过滤器的使用与区别详解
2019/06/04 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
会计系毕业个人自荐信格式
2013/09/23 职场文书
2014年党的群众路线教育实践活动整改措施(个人版)
2014/09/25 职场文书
班级联欢会主持词
2015/07/03 职场文书
追悼会答谢词范文
2015/09/29 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
pycharm debug 断点调试心得分享
2021/04/16 Python