DTCloud WebSocket params参数使用

# json
data = {
    # 传给用户的
    "values": {
        "code": "10000",
        "msg": "Success",
        "trade_no": "2013112011001004330000121536",
        "gmt_payment": "2014-11-27 15:45:57",
        "fund_bill_list": [
            {
                "fund_channel": "ALIPAYACCOUNT",
                "amount": 10,
                "real_amount": 11.21
            }
        ],
        "store_name": "证大五道口店",
        "buyer_user_id": "2088101117955611",
        "async_payment_mode": "SYNC_DIRECT_PAY",
        "voucher_detail_list": [
            {
                "id": "2015102600073002039000002D5O",
                "purchase_buyer_contribute": 2.01,
                "purchase_merchant_contribute": 1.03,
                "purchase_ant_contribute": 0.82
            }
        ],
    },
    # 系统执行存储的后台需要
    "params": {
        "version": "1.0",  # 默认1.0
        "timestamp": "2022-05-24 02:17:50",  # 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss"
        "conn": "postgresql",  # 数据库连接
        "access_token": "4a62fe6ec31330261f2a2784aa0089d0",  # 用户授权
        "url": 'http://www.amoserp.com:8069',  # 地址
        "notify_url": 'http://www.amoserp.com:8069',  # 消息执行完后通知地址
        "dbname": 'dtcloud',  # 执行的数据库
        "uid": '1',  # 用户ID
        "partner_id": '1',  # partner ID
        "company_id": '1',  # 公司ID
        "context": '["lang":"zh_CN","email":"35350428@qq.com"]',  # 上下文参数
        "method": 'write',  # 接口名称 write,unlink,create
        "model": 'res.partner',  # 表名
        "field": 'date,city,color',  # 操作的字段
 	"values": ['2022-05-26 01:06:04','上海',1]# 操作的字段

        "body": '订单附加信息',  # 描述
        "ids": '1,2,3',  # 执行的ID
        "fun": '_main',  # 执行的方法
        "type": 'sql',  # SQL(本地执行SQL),XMLRPC ,http发给远程地址 url 地址返回 T,log 写入本地文件 log 每小时一个文件名 年,月,日,时
    }
}

判断 type 如果是 log
再判断全局配置文件是否输出日志,默认是输出,定义一个日志文

1,全局变量里增加一个日志路径,判断当前系统

ubuntu /opt/websocket/log/2020-05-28/01.log
Windows c:/opt/websocket/log/2020-05-28/01.log

写入本地文件 log 每小时一个文件名,

2,格式
#::::::::2020-05-28 01:06:04
内容
#:::::::::2020-05-28 01:06:04
内容

判断如果是SQL
系统需要校验 access_token 是否有效
:::::create
通过conn 数据库连接 执行语句
model = res.users 注册点换成下划线
field =date,city, color
values = (‘2022-05-26 01:06:04’,’上海’,2)

INSERT INTO res_partner(date,city, color) VALUES ('2022-05-26 01:06:04','上海',1)

:::::write
通过conn 数据库连接 执行语句
model = res.users 注册点换成下划线
field,ids与values 转成sql

UPDATE res_partner SET date='2022-05-26 01:06:04', city='上海',color=3 WHERE id in (1,2)

判断如果是xmlrpc
url 网址

go_server = xmlrpclib.ServerProxy(‘{}/xmlrpc/2/fuc’.format(url))

params以json字符串参数格式
data = go_server.execute_go(params)

判断如果是http
url 为地址

post params

    url = 'http://xxxxxx/v2/xxxxx/xxxxx/audio'
    params = {
        
    }
    req = requests.post(url,data=json.dumps(params))  # 发post请求,以json字符串参数格式
    print(req.text)

返回的data 在原来节点上加上,相当于替换params

以上四种在执行推送时都要删除 params 节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在前端使用 Vue 脚手架连接 WebSocket 并携带参数的步骤如下: 1. 安装 Socket.IO 客户端库:使用 npm 或 yarn 运行以下命令安装 Socket.IO 客户端库: ``` npm install socket.io-client ``` 2. 在 Vue 组件中创建 WebSocket 连接并携带参数:在 Vue 组件中,可以通过导入 Socket.IO 客户端库并创建一个 Socket.IO 的实例,然后在连接时携带参数: ```javascript import io from 'socket.io-client'; export default { data() { return { socket: null, userId: 'your-user-id', // 替换为实际的用户ID token: 'your-token' // 替换为实际的token }; }, created() { const params = { userId: this.userId, token: this.token // 其他参数 }; this.socket = io('http://your-api-endpoint', { query: params }); this.socket.on('connect', () => { console.log('Connected to the WebSocket server'); }); }, // ... } ``` 3. 在服务器端接收和处理参数:在服务器端,根据你使用的 Socket.IO 库,可以监听连接事件并接收和处理参数。下面以 Socket.IO 的 `socket.io` 库为例: ```javascript const server = require('http').createServer(); const io = require('socket.io')(server); io.on('connection', (socket) => { console.log('A client connected'); const userId = socket.handshake.query.userId; const token = socket.handshake.query.token; // 其他参数 console.log('Received parameters:', { userId, token }); // 广播给其他客户端 socket.broadcast.emit('chat message', { userId, token }); socket.on('disconnect', () => { console.log('A client disconnected'); }); }); server.listen(3000, () => { console.log('Server listening on port 3000'); }); ``` 在上述示例中,前端在连接时,将参数通过 `query` 选项发送给服务器端。服务器端通过 `socket.handshake.query` 获取接收到的参数,并进行相应处理。然后,服务器端可以向客户端发送消息或广播给其他连接的客户端。 请确保将 `'http://your-api-endpoint'` 替换为实际的 WebSocket 服务器地址,将 `'your-user-id'` 和 `'your-token'` 替换为实际的用户ID和token。另外,还需确保 Socket.IO 连接的参数格式与你的实际情况相匹配。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中亿丰数字科技集团有限公司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值