diff --git a/README.md b/README.md new file mode 100644 index 0000000..55d5b27 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +通用IM方案JavaScript端sdk + +npm 为上传仓库 + +web为开发代码以及demo diff --git a/web/src/main.js b/web/src/main.js index 13bd831..3024a10 100644 --- a/web/src/main.js +++ b/web/src/main.js @@ -4,8 +4,8 @@ import router from "@/router"; import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' import "@/index"; -// import SzyxPush from "@szyx/szyx-push-web" -import {SzyxPush} from "@/index"; +import SzyxPush from "@szyx/szyx-push-web" +// import {SzyxPush} from "@/index"; SzyxPush.init('123456', 'web').then(() => { diff --git a/web/src/src/szyx-push-sdk.d.ts b/web/src/src/szyx-push-sdk.d.ts new file mode 100644 index 0000000..486ca21 --- /dev/null +++ b/web/src/src/szyx-push-sdk.d.ts @@ -0,0 +1,60 @@ +declare const SzyxPush: ISzyxPush; +export default SzyxPush; + + +export declare type OS_TYPE = "ios" | "android" | "web" | "windows" | "mac" | "unknown"; +export declare type MsgType = "text" | "unknown"; +export declare type MessageListener = (messageType: MsgType, message: Message) => void; + +/** + * 当messageType为text的时候,返回这个 + */ +export declare interface TextMessage { + text: string +} + +export declare interface PictureMessage { + url: string +} + +export declare interface Message { + /** + * 租户id + */ + tenantNo: string; + messageType: MsgType; + messageId: string; + target: string; + fromClientId: string; + toClientId: string; + timestamp: number; + message: string | TextMessage | PictureMessage; +} + + +export declare interface ISzyxPush { + + /** + * 初始化方法,建议放在main.js中 + * @param tenantNo 租户id,在平台获取 + * @param osType 设备类型 + */ + init(tenantNo: string, osType: OS_TYPE): Promise; + + register(userId: string): Promise; + + /** + *添加消息回调,到达的消息统一分发入口 + * @param callback + * @return callbackId 页面关闭时记得用 {@link unMessage}注销 + */ + onMessage(callback: MessageListener): number; + + /** + *注销消息回调 + * @param callId 由{@link onMessage}返回 + */ + unMessage(callId): void; + + sendTextMsg(userId: string, text: string): Promise; +}