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 相关文章推荐
按钮JS复制文本框和表格的代码
Apr 01 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
Mar 04 Javascript
使用Curl命令查看请求响应时间方法
Nov 04 Javascript
微信小程序 保留小数(toFixed)详细介绍
Nov 16 Javascript
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 jQuery
node.js基于express使用websocket的方法
Nov 09 Javascript
从零开始最小实现react服务器渲染详解
Jan 26 Javascript
垃圾回收器的相关知识点总结
May 13 Javascript
javascript实现鼠标点击生成文字特效
Dec 24 Javascript
js判断密码强度的方法
Mar 18 Javascript
vue打包时去掉所有的console.log
Apr 10 Vue.js
JS精髓原型链继承及构造函数继承问题纠正
Jun 16 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
3款值得推荐的微信开发开源框架
2014/10/28 PHP
php的debug相关函数用法示例
2016/07/11 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
jquery实现适用于门户站的导航下拉菜单效果代码
2015/08/24 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
Json解析的方法小结
2016/06/22 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
2017/06/12 Javascript
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
Python内置的字符串处理函数整理
2013/01/29 Python
Python中的魔法方法深入理解
2014/07/09 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
keras中的卷积层&amp;池化层的用法
2020/05/22 Python
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
面向对象编程是如何提高软件开发水平的
2014/05/06 面试题
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
大四学生毕业自荐信
2013/11/07 职场文书
军神教学反思
2014/02/04 职场文书
高校教师个人工作总结2014
2014/12/17 职场文书
二审代理词范文
2015/05/25 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书