简体中文
يهدف هذا المشروع إلى ترجمة وثائق WeCom إلى مواصفات OpenAPI، بحيث يمكنك إنشاء تعليمات برمجية للعميل بلغات برمجة مختلفة. حاليًا، نستخدم الإصدار 3.x من مواصفات OpenAPI.
$ npm install
عند تشغيل التطبيق، سيتم إنشاء ملف مواصفات OpenAPI openapi.yaml
. يمكنك فتح http://localhost:3000/openapi
لعرض Swagger UI.
$ npm run start
تعد swagger-codegen أداة شائعة جدًا لإنشاء التعليمات البرمجية من مواصفات OpenAPI. ولكن إذا كنت تستخدم Golang، فيُنصح بالتمرير.
يعتمد go-swagge على مواصفات OpenAPI 2.0، لذا تحتاج إلى الرجوع إلى إصدار سابق.
$ npm install -g api-spec-converter
$ api-spec-converter --from=openapi_3 --to=swagger_2 --syntax=yaml --order=alpha ./openapi.yaml > swagger.yaml
ثم قم بإنشاء كود Golang من ملف swagger.yaml
.
$ brew tap go-swagger/go-swagger
$ brew install go-swagger
$ mkdir wecom-api && cd wecom-api
# NOTE: you need run go mod init to create a go.mod file
$ go mod init wecom-api
$ swagger generate client -f swagger.yaml -t wecom-api
يعتمد هذا المشروع على تكامل Swagger مع NestJS. ارجع إلى OpenAPI(NestJS) للحصول على التفاصيل.
nest g --no-spec controller department
عادة، نعلن عن DTOs والاستجابات في فئات مختلفة.
nest g --no-spec class department/Department
@ApiProperty({
required: false,
type: 'string',
isArray: true,
maxItems: 100,
example: '["abel"]',
description: 'user id list, max length is 100',
})
userid_list: string[];
required
، type
مطلوب.description
example
الموصى به. @ApiOperation({
operationId: 'getGroupChat',
summary: 'Get user group detail',
description: 'Get user group detail',
externalDocs: {
url: 'https://developer.work.weixin.qq.com/document/path/92122',
},
})
operationId
مطلوب، فريد، هو اسم الوظيفة في كود الإنشاء.summary
externalDocs
إلى مستند WeCom الرسمي. أولاً، تحتاج إلى الحصول على access_token
للسماح باستدعاءات واجهة برمجة التطبيقات.
المتصفح لديه مشكلة CORS، لذلك لا يمكننا الوصول إلى wx-work مباشرة. لذلك قمنا بعمل وكيل لك. للوصول، استخدم http://localhost:3000/cgi-bin
.