:art: Add api tencentcloud/faceid/eidtoken

huangqimin001 лет %!s(int64=2): %!d(string=назад)
Родитель
Сommit
3678649f11
5 измененных файлов с 84 добавлено и 1 удалено
  1. 16 0
      api/tencentcloud_views.py
  2. 7 1
      api/urls.py
  3. 10 0
      kodo/settings.py
  4. 0 0
      utils/tencentcloud/__init__.py
  5. 51 0
      utils/tencentcloud/faceid.py

+ 16 - 0
api/tencentcloud_views.py

@@ -0,0 +1,16 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from __future__ import division
4
+
5
+from django_logit import logit
6
+from django_response import response
7
+
8
+from utils.tencentcloud.faceid import get_eid_token
9
+
10
+
11
+@logit
12
+def get_faceid_eid_token(request):
13
+    eidtoken = get_eid_token()
14
+    return response(data={
15
+        'eidtoken': eidtoken,
16
+    })

+ 7 - 1
api/urls.py

@@ -5,7 +5,8 @@ from django_file_upload import views as file_views
5 5
 
6 6
 from api import (admin_views, clerk_views, complement_views, distributor_views, encrypt_views, express_views, log_views,
7 7
                  maintenance_point_views, maintenance_views, mch_views, member_views, model_views, operator_views,
8
-                 refresh_views, sr_views, staff_views, tenancy_admin_views, tenancy_views, wx_views, wxa_views)
8
+                 refresh_views, sr_views, staff_views, tenancy_admin_views, tenancy_views, tencentcloud_views, wx_views,
9
+                 wxa_views)
9 10
 from miniapp import qy_views
10 11
 from miniapp import views as mini_views
11 12
 from page import oauth_views, sale_views, screen_views
@@ -356,3 +357,8 @@ urlpatterns += [
356 357
 
357 358
     # 快递信息回调接口
358 359
 ]
360
+
361
+# 腾讯云
362
+urlpatterns += [
363
+    url(r'^tencentcloud/faceid/eidtoken$', tencentcloud_views.get_faceid_eid_token, name='tencentcloud_get_faceid_eid_token'),
364
+]

+ 10 - 0
kodo/settings.py

@@ -233,6 +233,16 @@ WECHAT = {
233 233
 MEMBER_CARD_ID_TAMRON = ''
234 234
 MEMBER_CARD_ID_HANYUAN = ''
235 235
 
236
+# 腾讯云
237
+TENCENTCLOUD = {
238
+    'default': {
239
+        'appid': '',
240
+        'secret_id': '',
241
+        'secret_key': '',
242
+        'merchant_id': '',
243
+    },
244
+}
245
+
236 246
 # 七牛设置
237 247
 QINIU = {
238 248
     'access_key': 'yCE3xWXduLTERkx_vSNVAIHNcg1pje6EwygiRPjP',

+ 0 - 0
utils/tencentcloud/__init__.py


+ 51 - 0
utils/tencentcloud/faceid.py

@@ -0,0 +1,51 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+import json
4
+
5
+from django.conf import settings
6
+from tencentcloud.common import credential
7
+from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
8
+from tencentcloud.common.profile.client_profile import ClientProfile
9
+from tencentcloud.common.profile.http_profile import HttpProfile
10
+from tencentcloud.faceid.v20180301 import faceid_client, models
11
+
12
+
13
+tencentcloud_cfg = settings.TENCENTCLOUD.get('default', {})
14
+secret_id = tencentcloud_cfg.get('secret_id')
15
+secret_key = tencentcloud_cfg.get('secret_key')
16
+merchant_id = tencentcloud_cfg.get('merchant_id')
17
+
18
+
19
+def get_eid_token():
20
+    try:
21
+        # 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
22
+        # 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
23
+        cred = credential.Credential(secret_id, secret_key)
24
+        # 实例化一个http选项,可选的,没有特殊需求可以跳过
25
+        httpProfile = HttpProfile()
26
+        httpProfile.endpoint = "faceid.tencentcloudapi.com"
27
+
28
+        # 实例化一个client选项,可选的,没有特殊需求可以跳过
29
+        clientProfile = ClientProfile()
30
+        clientProfile.httpProfile = httpProfile
31
+        # 实例化要请求产品的client对象,clientProfile是可选的
32
+        client = faceid_client.FaceidClient(cred, "", clientProfile)
33
+
34
+        # 实例化一个请求对象,每个接口都会对应一个request对象
35
+        req = models.GetEidTokenRequest()
36
+        params = {
37
+            "MerchantId": merchant_id
38
+        }
39
+        req.from_json_string(json.dumps(params))
40
+
41
+        # 返回的resp是一个GetEidTokenResponse的实例,与请求对象对应
42
+        resp = client.GetEidToken(req)
43
+        # 输出json格式的字符串回包
44
+        # print(resp.to_json_string())
45
+
46
+        return resp.EidToken
47
+
48
+    except TencentCloudSDKException as err:
49
+        # print(err)
50
+
51
+        return ''