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 相关文章推荐
IE6,IE7下js动态加载图片不显示错误
Jul 17 Javascript
jQuery ready函数滥用分析
Feb 16 Javascript
js实现日期级联效果
Jan 23 Javascript
JS实现超简单的鼠标拖动效果
Nov 02 Javascript
JavaScript保留关键字汇总
Dec 01 Javascript
JS中mouseover和mouseout多次触发问题如何解决
Jun 06 Javascript
js关于getImageData跨域问题的解决方法
Oct 14 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
Oct 21 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
May 09 Javascript
微信小程序获取微信运动步数的实例代码
Jul 20 Javascript
javascript实现点击星星小游戏
Dec 24 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
Jul 29 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
基于mysql的论坛(6)
2006/10/09 PHP
php 生成WML页面方法详解
2009/08/09 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
简述vue状态管理模式之vuex
2018/08/29 Javascript
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
vue 移动端记录页面浏览位置的方法
2020/03/11 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
Python牛刀小试密码爆破
2011/02/03 Python
Python中的with...as用法介绍
2015/05/28 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
python爬虫超时的处理的实例
2018/12/19 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
ML神器:sklearn的快速使用及入门
2019/07/11 Python
基于Python函数和变量名解析
2019/07/19 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
小平您好观后感
2015/06/09 职场文书
2015年数学教研工作总结
2015/07/22 职场文书
2016国培研修心得体会
2016/01/08 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
详解CocosCreator项目结构机制
2021/04/14 Javascript