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 文件的同步加载与异步加载实现原理
Dec 13 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
May 24 Javascript
微信小程序 wxapp内容组件 text详细介绍
Oct 31 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
May 02 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
Sep 20 Javascript
node.js中express模块创建服务器和http模块客户端发请求
Mar 06 Javascript
详解小程序input框失焦事件在提交事件前的处理
May 05 Javascript
jQuery pager.js 插件动态分页功能实例分析
Aug 02 jQuery
Nuxt.js实战和配置详解
Aug 05 Javascript
如何对react hooks进行单元测试的方法
Aug 14 Javascript
JavaScript获取URL参数的方法分享
Apr 07 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中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
PHP asXML()函数讲解
2019/02/03 PHP
jQuery 使用手册(五)
2009/09/23 Javascript
将两个div左右并列显示并实现点击标题切换内容
2013/10/22 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
JS设置下拉列表框当前所选值的方法
2015/12/22 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
理解python多线程(python多线程简明教程)
2014/06/09 Python
Python yield 使用浅析
2015/05/28 Python
浅析python中的分片与截断序列
2016/08/09 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
python的链表基础知识点
2020/09/13 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
学生励志演讲稿
2014/01/06 职场文书
幼儿园托班开学寄语
2014/01/18 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
2014年三万活动总结
2014/04/26 职场文书
2014年度个人工作总结
2014/11/07 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
结婚纪念日感言
2015/08/01 职场文书
暑假生活随笔
2015/08/15 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书
Python借助with语句实现代码段只执行有限次
2022/03/23 Python