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中继承的三种方式
Oct 16 Javascript
javascript 打开页面window.location和window.open的区别
Mar 17 Javascript
SWFObject 2.1以上版本语法介绍
Jul 10 Javascript
JavaScript中的数据类型转换方法小结
Oct 26 Javascript
使用Node.js处理前端代码文件的编码问题
Feb 16 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
Aug 06 Javascript
微信小程序 图片宽高自适应详解
May 11 Javascript
js微信应用场景之微信音乐相册案例分享
Aug 11 Javascript
使用javascript做在线算法编程
May 25 Javascript
node.js调用C++函数的方法示例
Sep 21 Javascript
详解小程序横屏方案对比
Jun 28 Javascript
Vue实现下拉加载更多
May 09 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实现分页的一个示例
2006/10/09 PHP
如何写php程序?
2006/12/08 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
PHP读取word文档的方法分析【基于COM组件】
2017/08/01 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
javascript Window及document对象详细整理
2011/01/12 Javascript
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
2012/10/24 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
JS 实现导航栏悬停效果
2013/09/23 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
js计时事件实现圆形时钟
2020/03/25 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
Python查找相似单词的方法
2015/03/05 Python
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
Python实现大文件排序的方法
2015/07/10 Python
Python画图学习入门教程
2016/07/01 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
消防应急演练方案
2014/02/12 职场文书
秋天的雨教学反思
2014/04/27 职场文书
余世维讲座观后感
2015/06/11 职场文书