Page 225 - AngularJS权威教程
P. 225
18.22 出售我们的作品 205
<!-- ... --> 1
<div ng-show="images">
<div class="col-sm-6 col-md-4"
ng-repeat="image in images">
<div class="thumbnail"> 2
<img ng-click="sellImage(image)"
data-ng-src="{{image.itemUrl}}" />
</div> 3
</div>
</div>
4
5
6
7
8
图18-17 图像清单 9
18.22 出售我们的作品 10
我们建立在AWS基础上的演示应用还差一步要做,就是从单页应用创建交易。
11
为了开始处理和接受支付,我们要创建一个StripeService,它为我们处理创建费用的工作。
既然我们想要在模块的.config()方法中配置Stripe,那就需要创建一个.provider()。
12
这个服务自身是非常简单的,因为它把脏活累活都留给Stripe.js库去做了。
// ... 13
.provider('StripeService', function() {
var self = this;
self.setPublishableKey = function(key) { 14
Stripe.setPublishableKey(key);
}
15
self.$get = function($q) {
return {
createCharge: function(obj) {
var d = $q.defer(); 16
if (!obj.hasOwnProperty('number') ||
!obj.hasOwnProperty('cvc') || 17
!obj.hasOwnProperty('exp_month') ||
!obj.hasOwnProperty('exp_year')
) {
d.reject("Bad input", obj); 18