ZiGma

【JSBox】利用JSBox在朋友圈斗图(一)

字数统计: 913阅读时长: 4 min
2018/02/01 Share

刷惯了微博,总是想在微信朋友圈里面用因缺思厅的(贱贱的)表情包评论,亦或者在发完朋友圈之后再在评论里面Po出后续。 想了一下,思路不难,只需要将图片通过API接口上传到图床后再通过短链形式发出去即可。 先用了Workflow试水一波,但是自从Workflow被苹果收购以后不得不吐槽一下下降的厉害的软件质量。Get Contents of URL里面填写多个Body值,不是这个无法显示就是那个无法编辑,再加上流程过长修改十分不便,差不多要放弃这个工具App了。 好在之前低价购买了JSBox,虽然还有些功能不是很完善,例如类似Workflow里面的Overlay Image的功能暂时缺失,但是胜在界面清爽和相对完善的官方文档。 关于图床选择有很多,谷歌百度搜索一大把,短链转换也有很多,相对于Workflow,JSBox另一个优势在于内置很多功能,比如长短链的转换,省去了申请API的时间。

关于图床

在微信里面使用图床,最为关键的要看马爸爸有没有屏蔽,在试过几个主流图床后,使用效果如下。

  • 贴图库,勉强能用,如果用Workflow无损上传PNG的话40%会被屏蔽,利用JSBox压缩成jpg基本不会;

  • sm.ms,全站被屏蔽;

  • 七牛云,会提示跳转,需多余操作,体验效果不佳;

  • 微博,新浪已更改API接口,无法使用。

因此在图床上面还是选择贴图库比较妥当,需要注意的是普通用户上传图片7日后会删除,并且频率也会有一定限制。

关于短链转换

虽然JSBox有现成的短链转换函数,但是在Workflow上面还是折腾比较久。因为懒得申请微博API,所以先是在百度找了一个不知名的小站做转换,实际效果是在微信中跳转时要求关注公众号,所以枪毙了。之后在Workflow里面找到一个转短链的流程,里面留了个公用Token,试了试也可以用,而且微信不屏蔽也不需要关注公众号。但是这样用人家的Token始终有些膈应,因此把Workflow流程搬到了JSBox中。

JSBox代码

第一次接触JavaScript,好在有官方文档可以查看。脚本流程原理也很简单,选取相册图片或者直接在相册选取图片以后利用Upload函数上传到图床,并将返回链接转换为短链,并拷贝到粘贴板。 代码如下:添加ID和Token即可食用,配合JSBox里的斗图啦脚本风味更加。

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
function PickImage() {
$photo.pick({
format: "image",
handler: function(resp) {
var image = resp.image
if (image) {
Upload(image.jpg(1, 0))
} else {
$ui.loading(false)
}
}
})
}

function Upload(data) {
$ui.loading(true)
$http.upload({
url: "http://up.imgapi.com/",
form: {
from: "file",
aid: "你的相册ID",
Token: "你的Token"
},
files: [{
"data": data,
"name": "file"
}],
handler: function(resp) {
$ui.loading(false)
var url = resp.data.linkurl
if (url) {
Shorturl(url)
} else {
$ui.alert("图片上传失败")
}
}
})
}

function Shorturl(url) {
$http.shorten({
url: url,
handler: function(url) {
if (url) {
$clipboard.text = "图片评论 " + url
$ui.toast("复制成功", 2)
$app.close(2)
}

}
})
}

var inputData = $context.data
var inputLink = $context.link

if (inputData) {
Upload(inputData)
} else if (inputLink) {
Shorturl(inputLink)
} else {
PickImage()
}

朋友圈效果

JSBox

CATALOG
  1. 1. 关于图床
  2. 2. 关于短链转换
  3. 3. JSBox代码
  4. 4. 朋友圈效果