liuliaixue

当白云悠然褪去我已等不及登上高山仰望西方的天空但最美的不是夕阳是夜色如水月色流离


  • 首页

  • 归档

  • 标签

ping++

发表于 2017-09-11

ping++ pc端支付宝支付流程

Ping++ 是为移动端应用以及 PC 网页量身打造的下一代支付系统,通过一个 SDK 便可以同时支持移动端以及 PC 端网页的多种主流支付渠道。Ping++ SDK 包括 Client SDK 和 Server SDK 两部分,支持主流的七种后端开发语言,适配了 Android,iOS 和 HTML5 三种移动端平台以及 PC 端网页。使用 SDK 发起交易的基本流程参见 SDK 交易流程 https://www.pingxx.com/guidance/products/sdk

配置

SDK接入,在https://github.com/PingPlusPlus/pingpp-html5/tree/master/src
下载pingpp-pc.js,并在页面中引入:

1
<script src="/path/to/pingpp-pc.js"></script>

获取支付凭证”charge”

创建”charge”对象,可以参考官方文档 https://www.pingxx.com/document/api#api-c-new

1
2
3
4
5
6
7
//向服务器发送请求获取订单的支付凭证,参数为[订单编号 ,支付完成后返回的地址,支付方式名称]
$.jsonrpc("chuanghe.requestPay", [orderNumber,url,channel], function(e1, r1) {
if(r1){
//在返回的数据中取出"charge",如r1.charge
//发送支付请求
}
});

发送支付请求

1
2
3
pingppPc.createPayment(charge, function(result, err){
// 处理错误信息
});
1
2
3
4
5
6
7
8
9
10
11
//b2b-store 一个支付流程的代码
$.jsonrpc("chuanghe.requestPay", [this.order.orderNumber,"http://1jia2supply.coolcto.com/#!/activity/main/store-order-edit?id="+this.id,"alipay_pc_direct"], function(e1, r1) {
if (r1) {
console.log(r1.depositTicket);
pingppPc.createPayment(r1.depositTicket, function(result, err) {
console.log(result);
console.log(err);
});
}
});
return;

错误

“invalid_charge_no_such_channel” 没有这种支付方式

检查”channel”是否是”alipay_pc_direct”,检查pingpp-pc.js是pc端使用的SDK,查看代码中的对象 “channel”是否含有”alipay_pc_direct”。
SDK的脚本有两个文件,一个是手机端一个是pc端,官方API文档默认是指引到手机端的SDK,下载正确的文件就可以了

成功

成功后会跳转到支付宝的支付页面,在页面上可以看到支付信息

angular infector

发表于 2017-09-11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
var  angular = {};
angular.services = {};
angular.factory = function(serviceName,store){
this.services[serviceName] = store;
};

angular.control = {};

data = {name: 'alan', age: 0};
angular.factory("add",add);
function add (){data.age++}
angular.factory("sub",sub);
function sub(){data.age--}
angular.factory("changeName",changeName);
function changeName(name){data.name = name}

var FN_ARGS = /^function\s*[^\(]*\(\s*([^\)]*)\)/m;
angular.controller = function(infectorName, infector) {
// console.log(infectorName);
// console.log(infector);
// console.log(infector.toString())
const argDecl = infector.toString().match(FN_ARGS);
console.log("infector:" ,argDecl[1])
infector.apply(this,[0,1,2])
}

var infectorUser = function(add, sub, changeName) {
console.log(add, sub, changeName);
}
angular.controller("infectorUser",infectorUser);



// let services = arguments;
// let arg = [];
// services.forEach(function(service){
// for(name of services) {
// if(services[name] === service){
// arg.push(services[name]);
// return false;
// }
// }
// throw service + " not definded"
// });
// return infector.apply(this,arg)

nodejs服务器

发表于 2017-09-11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var http = require('http');

http.createServer(function (request, response) {

// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});

// 发送响应数据 "Hello World"
response.end('Hello World\n');
}).listen(8888);

// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

git push

发表于 2017-09-11
1
git push origin --delete <branchName>
1
2
// push a blank branch to origin,means delete it
git push origin :<branchName>

深入浅出node.js笔记

发表于 2016-10-01

深入浅出node.js

第一章 Node简介

特点

考虑到高性能、符合事件驱动、没有历史包袱这三个原因,Javascript成为了Node的实现语言

异步IO

1
2
3
4
5
var fs=require('fs');
fs.readFile('/path',function(){
console.log('read file success');
});
console.log('start read file request');

事件与回调函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var http = require('http');
var querystring = require('querystring');

//侦听服务器的request事件

http.createServer(function(req,res){
var postData="";
req.setEncoding('utf8');

//侦听请求的data事件

req.on('data',function(chunk){
postData+==chunk;
})

req.on('end',function(){
res.end(postData);
})
}).listen(8080);

console.log("服务器启动完成");
1
2
3
4
5
6
7
8
$.ajax({
'url':"url",
'method':"POST",
'data':{},
'success':function(data){
console.log("success");
}
})

单线程

通过分发子进程来解决单线程中大量计算的问题

第二章 模块机制

CommonJS规范

javaScript的缺陷

没有模块系统
标准库较少
没有标准接口
缺乏包管理系统

Common对模块的定义

1 模块的引用
2 模块的定义
3 模块的标识

1
var math=require('math');
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//math.js
exports.add=function(){
var sum = 0,
i = 0,
args = arguments,
l=args.length;

wihle(i<l){
sum+=args[i];
i++;
}
return sum;


}
1
2
3
4
var math=require('math');
exports.increment=function(val){
return math.add(val,1);
}

exports标识

module 路径

1
console.log(module.paths);
1
2
3
4
5
E:\coolCTO\learn-html\node>node module_path.js
[ 'E:\\coolCTO\\learn-html\\node\\node_modules',
'E:\\coolCTO\\learn-html\\node_modules',
'E:\\coolCTO\\node_modules',
'E:\\node_modules' ]

拓展名(.js .node .json)

1…56
Alan

Alan

55 日志
92 标签
© 2019 Alan
由 Hexo 强力驱动
主题 - NexT.Muse