1
1
// 二维码工具
2
- layui . define ( [ 'chromeTool' , 'jquery' , 'chromeToolBase' , 'element' ] , function ( exports ) {
2
+ layui . define ( [ 'chromeTool' , 'jquery' , 'chromeToolBase' , 'element' , 'form' ] , function ( exports ) {
3
3
var $ = layui . $ ;
4
4
5
5
var chrome_tool_qrcode = function ( tool_id ) {
6
6
var tool = new layui . chromeToolBase ( tool_id ) ;
7
7
tool . getPageData = function ( flag , key ) {
8
8
var string = layui . chromeTool . clipboardPaste ( ) ;
9
9
return tool . pageData ( flag ) . get ( key , function ( ) {
10
- if ( flag == 'generate' ) {
10
+ if ( flag === 'generate' ) {
11
11
return { "generate_input_content" : string } ;
12
12
}
13
- if ( flag == 'tab' ) {
13
+ if ( flag === 'tab' ) {
14
14
return { "class_tab0" : 'layui-this' , 'class_div0' : 'layui-show' } ;
15
15
}
16
16
return null ;
@@ -26,48 +26,99 @@ layui.define(['chromeTool', 'jquery', 'chromeToolBase', 'element'], function (ex
26
26
} ) ;
27
27
var generate = $ ( "#" + id + " .generate_tab" ) ;
28
28
29
- // 网址二维码生成
29
+ /** 二维码生成 **/
30
30
generate . find ( ".submit_button" ) . on ( "click" , function ( ) {
31
31
var data = {
32
32
"input_content" : generate . find ( '.input_content' ) . val ( ) ,
33
- "output_content" : ""
33
+ "output_content" : "" ,
34
+ "is_short_url" : generate . find ( '.short_url' ) . prop ( "checked" ) ,
35
+ "short_url" : generate . find ( '.short_url' ) . prop ( "checked" ) ,
34
36
} ;
35
- layui . use ( [ 'chrome_tool_library_qrcode' ] , function ( ) {
37
+ if ( generate . find ( '.input_content' ) . val ( ) === '' )
38
+ {
39
+ layui . chromeTool . msg ( "请输入内容" ) ;
40
+ return ;
41
+ }
42
+ var qrcode_generate = function ( callbak ) {
36
43
generate . find ( ".output_content" ) . html ( '' ) ;
37
- layui . chrome_tool_library_qrcode . generate ( generate . find ( ".output_content" ) [ 0 ] , data . input_content ) ;
38
- setTimeout ( function ( ) {
39
- data . output_content = generate . find ( ".output_content" ) . html ( ) ;
40
- tool . pageData ( 'generate' ) . set ( data ) ;
41
- } , 2000 )
42
- } ) ;
44
+ if ( data . is_short_url ) {
45
+ $ . ajax ( {
46
+ url : "http://api.t.sina.com.cn/short_url/shorten.json" ,
47
+ data : { "source" : "2815391962" , "url_long" : data . input_content } ,
48
+ success : function ( result ) {
49
+ if ( result [ 0 ] [ 'url_short' ] ) {
50
+ data . short_url = result [ 0 ] [ 'url_short' ] ;
51
+ callbak ( ) ;
52
+ }
53
+ else {
54
+ layui . chromeTool . msg ( "短网址生成错误!" ) ;
55
+ }
56
+ } ,
57
+ error :function ( ) {
58
+ layui . chromeTool . msg ( "短网址生成错误!" ) ;
59
+ } ,
60
+ dataType : "json"
61
+ } ) ;
62
+ }
63
+ else {
64
+ callbak ( ) ;
65
+ }
66
+ } ;
67
+
68
+ qrcode_generate ( function ( ) {
69
+ layui . use ( [ 'chrome_tool_library_qrcode' ] , function ( ) {
70
+ var content = data . is_short_url ? data . short_url : data . input_content ;
71
+ layui . chrome_tool_library_qrcode . generate ( generate . find ( ".output_content" ) [ 0 ] , content ) ;
72
+ setTimeout ( function ( ) {
73
+ if ( data . is_short_url )
74
+ {
75
+ var short_url_html = '<div style="margin-top:10px;text-align: center;font-weight: bold"><a href="' + data . short_url + '" target="_blank" title="' + data . input_content + '">短链接: ' + data . short_url + '</a></div>' ;
76
+ generate . find ( ".output_content" ) . append ( short_url_html ) ;
77
+ }
78
+ data . output_content = generate . find ( ".output_content" ) . html ( ) ;
79
+ tool . pageData ( 'generate' ) . set ( data ) ;
80
+ } , 2000 )
81
+ } ) ;
82
+ } )
83
+
84
+
43
85
} ) ;
86
+ // 短链接
87
+ layui . form . on ( 'checkbox(short_url)' , function ( data ) {
88
+ if ( data . elem . checked ) {
89
+ generate . find ( '.short_url_text' ) . show ( ) ;
90
+ }
91
+ else {
92
+ generate . find ( '.short_url_text' ) . hide ( ) ;
93
+ }
94
+ } ) ;
95
+
44
96
var decoder = $ ( "#" + id + " .decoder_tab" ) ;
45
97
// 解码方法
46
- var qrcode_decoder = function ( src , callback ) {
47
- var input_img = '<img src="' + src + '" style="width: 320px;">' ;
98
+ var qrcode_decoder = function ( src , callback ) {
99
+ var input_img = '<img src="' + src + '" style="width: 320px;">' ;
48
100
decoder . find ( '.input_img' ) . html ( input_img ) ;
49
101
layui . use ( [ 'chrome_tool_library_qrcode' ] , function ( ) {
50
- layui . chrome_tool_library_qrcode . decoder ( decoder . find ( '.input_img img' ) . attr ( 'src' ) , function ( data ) {
51
- if ( data == "error decoding QR Code" ) {
102
+ layui . chrome_tool_library_qrcode . decoder ( decoder . find ( '.input_img img' ) . attr ( 'src' ) , function ( data ) {
103
+ if ( data == "error decoding QR Code" ) {
52
104
layui . chromeTool . msg ( "该图片无法识别" ) ;
53
105
return null ;
54
106
}
55
- callback ( data , input_img ) ;
107
+ callback ( data , input_img ) ;
56
108
} ) ;
57
109
58
110
} ) ;
59
111
}
60
- // 网址二维码解码
112
+ // 二维码解码
61
113
decoder . find ( ".submit_button" ) . on ( "click" , function ( ) {
62
- if ( ! decoder . find ( '.input_content' ) . val ( ) )
63
- {
114
+ if ( ! decoder . find ( '.input_content' ) . val ( ) ) {
64
115
layui . chromeTool . msg ( "填写图片地址以后再点击解析按钮" ) ;
65
116
return null ;
66
117
}
67
118
var data = {
68
- "input_content" :decoder . find ( '.input_content' ) . val ( )
119
+ "input_content" : decoder . find ( '.input_content' ) . val ( )
69
120
} ;
70
- qrcode_decoder ( data . input_content , function ( result , input_img ) {
121
+ qrcode_decoder ( data . input_content , function ( result , input_img ) {
71
122
data . input_img = input_img ;
72
123
data . output_content = result ;
73
124
decoder . find ( ".output_content" ) . val ( data . output_content ) ;
@@ -77,11 +128,11 @@ layui.define(['chromeTool', 'jquery', 'chromeToolBase', 'element'], function (ex
77
128
} ) ;
78
129
} ) ;
79
130
// 图片上传解码
80
- decoder . find ( ".file_qrcode" ) . change ( function ( ) {
131
+ decoder . find ( ".file_qrcode" ) . change ( function ( ) {
81
132
var reader = new FileReader ( ) ;
82
133
reader . readAsDataURL ( $ ( this ) [ 0 ] . files [ 0 ] ) ;
83
- reader . onload = function ( e ) {
84
- qrcode_decoder ( e . target . result , function ( result , input_img ) {
134
+ reader . onload = function ( e ) {
135
+ qrcode_decoder ( e . target . result , function ( result , input_img ) {
85
136
var data = { } ;
86
137
data . input_img = input_img ;
87
138
data . output_content = result ;
0 commit comments