49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
import hashlib
|
|
from datetime import datetime
|
|
from zoneinfo import ZoneInfo
|
|
|
|
import requests
|
|
from rest_framework import status
|
|
from rest_framework.decorators import action
|
|
from rest_framework.request import Request
|
|
from rest_framework.response import Response
|
|
from rest_framework.routers import DefaultRouter
|
|
from rest_framework.viewsets import ViewSet
|
|
|
|
from sixGuoDjango import BaseResponse, ResData
|
|
|
|
|
|
|
|
|
|
|
|
class 蕊烨打印机接口ViewSets( ViewSet ):
|
|
user: str = "792282@qq.com" # 注册的账号
|
|
user_key: str = "bcdfac0dfdf444b8a4539fcc7dea905c" # 生成的密钥
|
|
sn: str = "30MYD1UMLT0B448" # 打印机机身的SN码
|
|
|
|
@action( detail=False, methods=[ "get", "post", "put", "delete" ], url_path="lable" )
|
|
def 打印标签订单有胶水的( self, request: Request ):
|
|
""""""
|
|
timestamp = str( int( datetime.now( tz=ZoneInfo( "Asia/Shanghai" ) ).timestamp( ) ) )
|
|
签名字符串 = f"{self.user}{self.user_key}{timestamp}"
|
|
sign = hashlib.sha1( data=签名字符串.encode( encoding="utf-8" ), ).hexdigest( )
|
|
json_data = {
|
|
"sn": self.sn,
|
|
"content": """<IMG x="32" y="32" w="100">""",
|
|
"copies": 1,
|
|
"voice": 2,
|
|
"user": self.user,
|
|
"timestamp": timestamp,
|
|
"sign": sign,
|
|
}
|
|
printData = requests.post( url="https://open.xpyun.net/api/openapi/xprinter/printLabel", json=json_data )
|
|
httpResData = BaseResponse( resData=ResData( listData=[ "" ], dictData={ "demo": "xiaozizi" } ), ).model_dump( )
|
|
return Response( data=httpResData, status=status.HTTP_200_OK )
|
|
|
|
|
|
|
|
|
|
|
|
蕊烨打印机接口ViewSetsRouter = DefaultRouter( )
|
|
蕊烨打印机接口ViewSetsRouter.register( prefix="", viewset=蕊烨打印机接口ViewSets, basename="蕊烨打印机接口ViewSets" )
|