Skip to content

Commit c4bcee0

Browse files
committed
Implement ts-wechat
1 parent 76188e4 commit c4bcee0

File tree

8 files changed

+743
-35
lines changed

8 files changed

+743
-35
lines changed

generator/data/tpl/tpl.go

+15-14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

generator/template/ts/service_wechat.gots

+35-21
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,23 @@ import {
1010
} from './{{.ClassName}}Objs';
1111
import { generateUrl, errorHandling } from './helper';
1212

13+
const promisify = (wx) => {
14+
return (method) => {
15+
return (option) => {
16+
return new Promise ((resolve,reject) => {
17+
wx[method]({
18+
...option,
19+
success:(res) => { resolve(res) },
20+
fail: (err) => {reject(err)}
21+
})
22+
})
23+
}
24+
}
25+
}
26+
27+
const wxPromisify = promisify(wx)
28+
const wxRequest = wxPromisify('request')
29+
1330
var baseUrl = "http://192.168.115.60:8080";
1431

1532
export function SetBaseUrl(url: string) {
@@ -19,30 +36,27 @@ export function SetBaseUrl(url: string) {
1936
{{- $className := .ClassName -}}
2037

2138
{{- range .Functions}}
22-
{{- $method := "post" -}}
39+
{{- $method := "POST" -}}
2340
{{- if eq (getServiceMtd .Options) "GET" -}}
24-
{{- $method := "get" -}}
41+
{{- $method := "GET" -}}
2542
{{end}}
2643
{{- $error := (getErrorType .Options) }}
44+
2745
export function {{.Name}}(params: {{.InputType}}): Promise<{{.OutputType}} | never> {
28-
let url: string = generateUrl(baseUrl, "{{$className}}", "{{.Name}}");
29-
30-
return axios.{{$method}}(url, {{if ne $method "get" }}params{{else}}{ params }{{end}}, config)
31-
.catch(err => {
32-
// handle error response
33-
return errorHandling(err)
34-
}).then(res => {
35-
if (typeof res.data === 'string') {
36-
try {
37-
var data = JSON.parse(res.data);
38-
39-
return Promise.resolve(data as {{.OutputType}})
40-
} catch (e) {
41-
return Promise.reject(res.data);
42-
}
43-
}
44-
45-
return Promise.reject(res.data);
46-
});
46+
let url: string = generateUrl(baseUrl, "{{$className}}", "{{.Name}}");
47+
48+
return wxRequest({ url: url, data: params, method:'{{$method}}'}).then(res => {
49+
if (typeof res.data === 'object') {
50+
try {
51+
return Promise.resolve(res.data as {{.OutputType}})
52+
} catch (e) {
53+
return Promise.reject(res.data);
54+
}
55+
}
56+
return Promise.reject(res.data);
57+
}).catch(err => {
58+
// handle error response
59+
return errorHandling(err)
60+
});
4761
}
4862
{{end -}}

main_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ func TestCmd(t *testing.T) {
7474
gen --lang=ts test/result/ts test/proto/test.proto
7575
gen --lang=ts-fetch test/result/ts/fetch test/proto/test.proto
7676
gen --lang=ts-axios test/result/ts/axios test/proto/test.proto
77+
gen --lang=ts-wechat test/result/ts/wechat test/proto/test.proto
7778
7879
gen --lang=spring test/result/ test/proto/test.proto
7980

test/expected/ts/wechat/.keep

Whitespace-only changes.

0 commit comments

Comments
 (0)