|
1 | 1 | ;(function(window, angular, NProgress) {
|
2 | 2 | 'use strict';
|
3 | 3 | var NProgressExist = NProgress && NProgress.start && NProgress.done;
|
| 4 | + var toplevelList = ['signature', 'form_api_secret', 'endpoint', 'host']; |
4 | 5 |
|
5 | 6 | // Inject as a angular module
|
6 | 7 | if (angular) {
|
|
22 | 23 | }
|
23 | 24 |
|
24 | 25 | Upyun.prototype.set = function(k, v) {
|
25 |
| - var toplevel = ['form_api_secret', 'endpoint', 'host']; |
26 | 26 | if (k && v) {
|
27 |
| - if (toplevel.indexOf(k) > -1) |
| 27 | + if (toplevelList.indexOf(k) > -1) |
28 | 28 | this.configs[k] = v;
|
29 | 29 | else
|
30 | 30 | this.configs.params[k] = v;
|
|
64 | 64 | new FormData(document.forms.namedItem(params)) :
|
65 | 65 | new FormData();
|
66 | 66 |
|
67 |
| - var policy = self.base64.encode(JSON.stringify(self.configs.params)); |
| 67 | + var policy = self.configs.policy || self.base64.encode(JSON.stringify(self.configs.params)); |
68 | 68 | var apiendpoint = self.configs.endpoint || 'http://v0.api.upyun.com/' + self.configs.params.bucket;
|
69 | 69 | var imageHost = self.configs.host || 'http://' + self.configs.params.bucket + '.b0.upaiyun.com';
|
70 | 70 |
|
71 | 71 | // by default, if not upload files by form,
|
72 | 72 | // file object will be parse as `params`
|
73 | 73 | if (!uploadByForm) data.append('file', params);
|
74 | 74 | data.append('policy', policy);
|
75 |
| - data.append('signature', md5hash(policy + '&' + self.configs.form_api_secret)); |
| 75 | + data.append('signature', self.configs.signature || md5hash(policy + '&' + self.configs.form_api_secret)); |
76 | 76 |
|
77 | 77 | // open request
|
78 | 78 | req.open('POST', apiendpoint, true);
|
|
120 | 120 | this.config = function(configs) {
|
121 | 121 | if (!configs || !angular.isObject(configs))
|
122 | 122 | return;
|
123 |
| - var toplevel = ['form_api_secret', 'endpoint', 'host']; |
124 | 123 | angular.forEach(configs, function(v, k) {
|
125 |
| - if (toplevel.indexOf(k) > -1) |
| 124 | + if (toplevelList.indexOf(k) > -1) |
126 | 125 | self.configs[k] = v;
|
127 | 126 | else
|
128 | 127 | self.configs.params[k] = v;
|
|
0 commit comments