sdk/qywx-sdk/linux/C_sdk/WeWorkFinanceSdk_C.h

153 lines
5.2 KiB
C
Raw Normal View History

2025-08-18 09:05:41 +00:00
// All Rights Reserved.
// *File <20><> WeWorkFinanceSdk_C.h
// @Brief<65><66><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ý<EFBFBD><C3BD><EFBFBD><EFBFBD>Ϣsdkͷ<6B>ļ<EFBFBD>
#pragma once
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
//10000 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//10001 <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//10002 <09><><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD>ʧ<EFBFBD><CAA7>
//10003 ϵͳʧ<CDB3><CAA7>
//10004 <09><>Կ<EFBFBD><D4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ʧ<EFBFBD><CAA7>
//10005 fileid<69><64><EFBFBD><EFBFBD>
//10006 <09><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
//10007 <20>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ܰ汾<DCB0><E6B1BE>˽Կ<CBBD><D4BF><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>´<EFBFBD><C2B4><EFBFBD>˽Կ<CBBD><D4BF>
//10008 <20><><EFBFBD><EFBFBD>encrypt_key<65><79><EFBFBD><EFBFBD>
//10009 ip<69>Ƿ<EFBFBD>
//10010 <20><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>
//10011 ֤<><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct WeWorkFinanceSdk_t WeWorkFinanceSdk_t;
// <20><><EFBFBD><EFBFBD>
typedef struct Slice_t
{
char *buf;
int len;
} Slice_t;
typedef struct MediaData
{
char *outindexbuf;
int out_len;
char *data;
int data_len;
int is_finish;
} MediaData_t;
#ifdef __cplusplus
extern "C"
{
#endif
WeWorkFinanceSdk_t *NewSdk();
/**
* <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* Returnֵ=0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>API<EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
*
* @param [in] sdk NewSdk<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>sdkָ<EFBFBD><EFBFBD>
* @param [in] corpid <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵid<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wwd08c8exxxx5ab44d<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ΢<EFBFBD>Ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>ҵ--<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD>Ϣ<EFBFBD>
* @param [in] secret <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD>Secret<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ΢<EFBFBD>Ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>
*
*
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
* 0 - <EFBFBD>ɹ<EFBFBD>
* !=0 - ʧ<EFBFBD><EFBFBD>
*/
int Init(WeWorkFinanceSdk_t *sdk, const char *corpid, const char *secret);
/**
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* Returnֵ=0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>API<EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
*
*
* @param [in] sdk NewSdk<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>sdkָ<EFBFBD><EFBFBD>
* @param [in] seq <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>seq<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>seq+1<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>seqΪ֮ǰ<EFBFBD>ӿڷ<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>seqֵ<EFBFBD><EFBFBD><EFBFBD>״<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>seq:0
* @param [in] limit һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ1000<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1000<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>
* @param [in] proxy ʹ<EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD>socks5://10.0.0.1:8081 <20><><EFBFBD><EFBFBD> http://10.0.0.1:8081
* @param [in] passwd <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> user_name:passwd_123
* @param [in] timeout <EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
* @param [out] chatDatas <EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>slice<EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><EFBFBD><EFBFBD>errcode/errmsg<EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
{"errcode":0,"errmsg":"ok","chatdata":[{"seq":196,"msgid":"CAQQ2fbb4QUY0On2rYSAgAMgip/yzgs=","publickey_ver":3,"encrypt_random_key":"ftJ+uz3n/z1DsxlkwxNgE+mL38H42/KCvN8T60gbbtPD+Rta1hKTuQPzUzO6Hzne97MgKs7FfdDxDck/v8cDT6gUVjA2tZ/M7euSD0L66opJ/IUeBtpAtvgVSD5qhlaQjvfKJc/zPMGNK2xCLFYqwmQBZXbNT7uA69Fflm512nZKW/piK2RKdYJhRyvQnA1ISxK097sp9WlEgDg250fM5tgwMjujdzr7ehK6gtVBUFldNSJS7ndtIf6aSBfaLktZgwHZ57ONewWq8GJe7WwQf1hwcDbCh7YMG8nsweEwhDfUz+u8rz9an+0lgrYMZFRHnmzjgmLwrR7B/32Qxqd79A==","encrypt_chat_msg":"898WSfGMnIeytTsea7Rc0WsOocs0bIAerF6de0v2cFwqo9uOxrW9wYe5rCjCHHH5bDrNvLxBE/xOoFfcwOTYX0HQxTJaH0ES9OHDZ61p8gcbfGdJKnq2UU4tAEgGb8H+Q9n8syRXIjaI3KuVCqGIi4QGHFmxWenPFfjF/vRuPd0EpzUNwmqfUxLBWLpGhv+dLnqiEOBW41Zdc0OO0St6E+JeIeHlRZAR+E13Isv9eS09xNbF0qQXWIyNUi+ucLr5VuZnPGXBrSfvwX8f0QebTwpy1tT2zvQiMM2MBugKH6NuMzzuvEsXeD+6+3VRqL"}]}
*
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
* 0 - <EFBFBD>ɹ<EFBFBD>
* !=0 - ʧ<EFBFBD><EFBFBD>
*/
int GetChatData(WeWorkFinanceSdk_t *sdk, unsigned long long seq, unsigned int limit, const char *proxy, const char *passwd, int timeout, Slice_t *chatDatas);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD>ҵ΢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] encrypt_key, getchatdata<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>encrypt_random_key,ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>Գֶ<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>ԿRSA<EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] encrypt_msg, getchatdata<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>encrypt_chat_msg
* @param [out] msg, <EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
* 0 - <EFBFBD>ɹ<EFBFBD>
* !=0 - ʧ<EFBFBD><EFBFBD>
*/
int DecryptData(const char *encrypt_key, const char *encrypt_msg, Slice_t *msg);
/**
* <EFBFBD><EFBFBD>ȡý<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* Returnֵ=0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>API<EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
*
*
* @param [in] sdk NewSdk<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>sdkָ<EFBFBD><EFBFBD>
* @param [in] sdkFileid <EFBFBD><EFBFBD>GetChatData<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>У<EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sdkfileid
* @param [in] proxy ʹ<EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD>socks5://10.0.0.1:8081 <20><><EFBFBD><EFBFBD> http://10.0.0.1:8081
* @param [in] passwd <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> user_name:passwd_123
* @param [in] indexbuf ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>״β<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ512k<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ϴε<EFBFBD><EFBFBD>÷<EFBFBD><EFBFBD>ص<EFBFBD>outindexbuf<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>
* @param [in] timeout <EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
* @param [out] media_data <EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.MediaData<EFBFBD><EFBFBD><EFBFBD>.<EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><EFBFBD><EFBFBD>data(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)/outindexbuf(<EFBFBD>´<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)/is_finish(<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>)
*
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
* 0 - <EFBFBD>ɹ<EFBFBD>
* !=0 - ʧ<EFBFBD><EFBFBD>
*/
int GetMediaData(WeWorkFinanceSdk_t *sdk, const char *indexbuf,
const char *sdkFileid, const char *proxy, const char *passwd, int timeout, MediaData_t *media_data);
/**
* @brief <EFBFBD>ͷ<EFBFBD>sdk<EFBFBD><EFBFBD><EFBFBD><EFBFBD>NewSdk<EFBFBD>ɶ<EFBFBD>ʹ<EFBFBD><EFBFBD>
* @return
*/
void DestroySdk(WeWorkFinanceSdk_t *sdk);
//--------------<2D><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>python<6F>ȵ<EFBFBD><C8B5><EFBFBD>c<EFBFBD>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>--------------
Slice_t *NewSlice();
/**
* @brief <EFBFBD>ͷ<EFBFBD>slice<EFBFBD><EFBFBD><EFBFBD><EFBFBD>NewSlice<EFBFBD>ɶ<EFBFBD>ʹ<EFBFBD><EFBFBD>
* @return
*/
void FreeSlice(Slice_t *slice);
/**
* @brief Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ӿ<EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>bufָ<EFBFBD><EFBFBD>
* !=NULL - <EFBFBD>ɹ<EFBFBD>
* NULL - ʧ<EFBFBD><EFBFBD>
*/
char *GetContentFromSlice(Slice_t *slice);
int GetSliceLen(Slice_t *slice);
// ý<><C3BD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ع<EFBFBD><D8B9><EFBFBD>
MediaData_t *NewMediaData();
void FreeMediaData(MediaData_t *media_data);
char *GetOutIndexBuf(MediaData_t *media_data);
char *GetData(MediaData_t *media_data);
int GetIndexLen(MediaData_t *media_data);
int GetDataLen(MediaData_t *media_data);
int IsMediaDataFinish(MediaData_t *media_data);
#ifdef __cplusplus
}
#endif