{"_id":"@deshun_live/txlive-sdk","_rev":"8-68abdd8bbe0c79f90f9a38370149e1b9","name":"@deshun_live/txlive-sdk","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.0":{"name":"@deshun_live/txlive-sdk","version":"0.1.0","_id":"@deshun_live/txlive-sdk@0.1.0","maintainers":[{"name":"lyb_dev","email":"2289461358@qq.com"}],"dist":{"shasum":"ee1eaa15f3af00d10eca87160a53bcfb932310ba","tarball":"https://registry.npmjs.org/@deshun_live/txlive-sdk/-/txlive-sdk-0.1.0.tgz","fileCount":22,"integrity":"sha512-E0Ee7MrecweJbDO/MI2X+z2188BOkQE6tmDvP0R6zp6J2RsZXi0nRHGGG0eltEXmJ0WRGD0IKTK7VOOqkeMfsQ==","signatures":[{"sig":"MEYCIQD4zXrNdm8WB74mPulm1Z5eKILaW4Coc8x42MFLot3SmAIhAMm9wHJSAfKgmLAF5wllY74mcW5K8RoiaumlawcF/e4L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136310},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"f735ed594f2a85fa5a942fb51c321bf60b6c26ce","scripts":{"build":"vite build -c vite.config.ts && tsc -p tsconfig.json","pack:local":"npm pack"},"_npmUser":{"name":"lyb_dev","email":"2289461358@qq.com"},"_npmVersion":"10.8.2","description":"Browser SDK for TxLive realtime interaction over WebSocket.","directories":{},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"protobufjs":"^8.6.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/txlive-sdk_0.1.0_1784181337579_0.8215780510887232","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@deshun_live/txlive-sdk","version":"0.1.1","license":"UNLICENSED","_id":"@deshun_live/txlive-sdk@0.1.1","maintainers":[{"name":"lyb_dev","email":"2289461358@qq.com"}],"dist":{"shasum":"792d117a0493358c884b7d53dd58e5956f04c74a","tarball":"https://registry.npmjs.org/@deshun_live/txlive-sdk/-/txlive-sdk-0.1.1.tgz","fileCount":88,"integrity":"sha512-RTV9lfAjPF0MsTfDDJ3s90YPs1KtItmFfuZNt+BNOXKys0wmikZDZ7oN0dvKnp/WvXaxQXiy5ElHCzBK4YW0EA==","signatures":[{"sig":"MEYCIQD+Crh+bEWhhl9PveL6MR1xvmRiAQcycTwNm0VojRtwhAIhAJRMYl5al409t7wyH4McS4Emb8Pvpp8kbUC5/gBTujXF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376141},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./*":{"import":{"types":"./dist/*.d.ts","default":"./dist/*.js"},"require":{"types":"./dist/*.d.cts","default":"./dist/*.cjs"}},"./package.json":"./package.json"},"gitHead":"091ca13c962d55031ce73edeab596d1f13e075d5","scripts":{"build":"vite build --config vite.config.ts && tsc -p tsconfig.build.json && node scripts/finalize-types.mjs","prepack":"npm run build"},"_npmUser":{"name":"lyb_dev","email":"2289461358@qq.com"},"_npmVersion":"10.8.2","description":"H5 live interaction SDK: WebSocket, marketing state and Vue TRTC integration","directories":{},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"protobufjs":"^8.6.1","trtc-sdk-v5":"^5.17.1-kit.1"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","vite":"^6.3.5","typescript":"~5.8.3","@types/node":"^25.9.1"},"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/txlive-sdk_0.1.1_1788506937654_0.047788851115524","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@deshun_live/txlive-sdk","version":"0.1.2","keywords":["h5","live-streaming","websocket","trtc","vue"],"author":{"name":"Shandong Deshun Network Technology Co., Ltd."},"license":"UNLICENSED","_id":"@deshun_live/txlive-sdk@0.1.2","maintainers":[{"name":"lyb_dev","email":"2289461358@qq.com"}],"dist":{"shasum":"b4f2b28bbc87d16ee7de92c708afa25483d44a9d","tarball":"https://registry.npmjs.org/@deshun_live/txlive-sdk/-/txlive-sdk-0.1.2.tgz","fileCount":59,"integrity":"sha512-nC/2JMwp0pk/AK1lejUjfg+83Ci8hrK2ZjgpMqFj3oDlSxQUxCNZp/oPNUdOcsJvYBnO38kunAy9xcnpuyKBNA==","signatures":[{"sig":"MEYCIQD3cSzNhPrwBolaeglZAODgy6gBda2822fAtmVRFTfRpgIhAMazY+IQePY64f0/3CTMttDyZm/bNteGoxAM+KEIXQuc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":361329},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./marketing":{"import":{"types":"./dist/marketing.d.ts","default":"./dist/marketing.js"},"require":{"types":"./dist/marketing.d.cts","default":"./dist/marketing.cjs"}},"./package.json":"./package.json"},"gitHead":"091ca13c962d55031ce73edeab596d1f13e075d5","scripts":{"build":"vite build --config vite.config.ts && tsc -p tsconfig.build.json && node scripts/finalize-types.mjs","prepack":"npm run build"},"_npmUser":{"name":"lyb_dev","email":"2289461358@qq.com"},"_npmVersion":"10.8.2","description":"H5 live interaction SDK: WebSocket, marketing state and Vue TRTC integration","directories":{},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"protobufjs":"^8.6.1","trtc-sdk-v5":"^5.17.1-kit.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","vite":"^6.3.5","typescript":"~5.8.3","@types/node":"^25.9.1"},"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/txlive-sdk_0.1.2_1788510363936_0.2085463265973193","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@deshun_live/txlive-sdk","version":"0.1.3","author":{"name":"Shandong Deshun Network Technology Co., Ltd."},"license":"UNLICENSED","_id":"@deshun_live/txlive-sdk@0.1.3","maintainers":[{"name":"lyb_dev","email":"2289461358@qq.com"}],"dist":{"shasum":"eed655ed17b776a8dac357b1abdaa1c2b6b6a19b","tarball":"https://registry.npmjs.org/@deshun_live/txlive-sdk/-/txlive-sdk-0.1.3.tgz","fileCount":59,"integrity":"sha512-ap1ftAK7ScfJnSvZYD97tVKQsPcYzP7nzFMM+OdV2/Dd/iX8I/f8BuEdffUgMTepv5PVdS1+7pDqIDndSpP64A==","signatures":[{"sig":"MEQCIBE8epqWUnWnSpuTySuKVAOhyQKGP8WGj6s7cM0dKfORAiA22+EmHgBVqkI5x1ZVrQdhO3lK4HofvlwLRLMVUIOlCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286905},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./marketing":{"import":{"types":"./dist/marketing.d.ts","default":"./dist/marketing.js"},"require":{"types":"./dist/marketing.d.cts","default":"./dist/marketing.cjs"}},"./package.json":"./package.json"},"gitHead":"0ccce3392163048d77386bd480d0ac72907d334d","scripts":{"build":"vite build --config vite.config.ts && tsc -p tsconfig.build.json && node ../../scripts/finalize-package.mjs sdk","prepack":"npm run build"},"_npmUser":{"name":"lyb_dev","email":"2289461358@qq.com"},"_npmVersion":"10.8.2","description":"H5 live interaction SDK: WebSocket, marketing state and Vue TRTC integration","directories":{},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"protobufjs":"^8.6.1","trtc-sdk-v5":"^5.17.1-kit.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/txlive-sdk_0.1.3_1788839313287_0.4880829441145511","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@deshun_live/txlive-sdk","version":"0.1.4","author":{"name":"Shandong Deshun Network Technology Co., Ltd."},"license":"UNLICENSED","_id":"@deshun_live/txlive-sdk@0.1.4","maintainers":[{"name":"lyb_dev","email":"2289461358@qq.com"}],"dist":{"shasum":"d1b5387dd60c2bf3a439630b51d30b33b5f66f88","tarball":"https://registry.npmjs.org/@deshun_live/txlive-sdk/-/txlive-sdk-0.1.4.tgz","fileCount":60,"integrity":"sha512-NQfvIQapJE0dw7K9HfHeD5YyDmml3raQHHZXAf6T0k23ZpdDfXW+joaXkGey5+68r0uGTiHsaHQEyLwg2XloFg==","signatures":[{"sig":"MEYCIQCUSvljn6l/hLV0Zw6Tmp8rfkWXLQu/VvUQ2eHbvTTktwIhAKWZ3vgNQQ4bC82ynIPSaLpLxq8LO6uHMIzVSNfiFmQ9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289439},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./marketing":{"import":{"types":"./dist/marketing.d.ts","default":"./dist/marketing.js"},"require":{"types":"./dist/marketing.d.cts","default":"./dist/marketing.cjs"}},"./package.json":"./package.json"},"gitHead":"40750a1805b5c290fc92cff3953fe7c5154f96da","scripts":{"build":"vite build --config vite.config.ts && tsc -p tsconfig.build.json && node ../../scripts/finalize-package.mjs sdk","prepack":"npm run build"},"_npmUser":{"name":"lyb_dev","email":"2289461358@qq.com"},"_npmVersion":"10.8.2","description":"H5 live interaction SDK: WebSocket, marketing state and Vue TRTC integration","directories":{},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"protobufjs":"^8.6.1","trtc-sdk-v5":"^5.17.1-kit.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/txlive-sdk_0.1.4_1788848618224_0.09869144066934687","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@deshun_live/txlive-sdk","version":"0.1.5","author":{"name":"Shandong Deshun Network Technology Co., Ltd."},"license":"UNLICENSED","_id":"@deshun_live/txlive-sdk@0.1.5","maintainers":[{"name":"lyb_dev","email":"2289461358@qq.com"}],"dist":{"shasum":"06f4b89a4f50e40b4f91112012f5ca8dbf37acfb","tarball":"https://registry.npmjs.org/@deshun_live/txlive-sdk/-/txlive-sdk-0.1.5.tgz","fileCount":60,"integrity":"sha512-mJaCnNwxKht/nrU/zEG8gCh7mwc0zqMUWRMxugeLMukC6eRiMlsniVwY251YX3M7U+3BNe/fsBvbso9B1xEVtQ==","signatures":[{"sig":"MEUCIFRLNWIoFgxvKl9ckf/SWORKhtJ6qoVtA706FJKtrJ8cAiEA9IY//zJxAt3WzwfAcaWmQdJQFjptJmLJ0jyCyVeEK3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDM62HhMS1CfunItIenBEkwSThn4A7EtDKv4Ay2mKnLSwIhAKoMEt5aAL92r1vzFjj3Dg1FhgGwcokoRRBx0pdbEied","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290580},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./marketing":{"import":{"types":"./dist/marketing.d.ts","default":"./dist/marketing.js"},"require":{"types":"./dist/marketing.d.cts","default":"./dist/marketing.cjs"}},"./package.json":"./package.json"},"gitHead":"49ba27979532ac8ab14e27beb57c03c0675074ff","scripts":{"build":"vite build --config vite.config.ts && tsc -p tsconfig.build.json && node ../../scripts/finalize-package.mjs sdk","prepack":"npm run build"},"_npmUser":{"name":"lyb_dev","email":"2289461358@qq.com"},"_npmVersion":"10.2.0","description":"H5 live interaction SDK: WebSocket, marketing state and Vue TRTC integration","directories":{},"sideEffects":false,"_nodeVersion":"21.1.0","dependencies":{"protobufjs":"^8.6.1","trtc-sdk-v5":"^5.17.1-kit.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/txlive-sdk_0.1.5_1790066824514_0.20116499873603688","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@deshun_live/txlive-sdk","version":"0.1.6","author":{"name":"Shandong Deshun Network Technology Co., Ltd."},"license":"UNLICENSED","_id":"@deshun_live/txlive-sdk@0.1.6","maintainers":[{"name":"lyb_dev","email":"2289461358@qq.com"}],"dist":{"shasum":"2b81a84a8f4ada07c18d298d84b30eeb71fcd771","tarball":"https://registry.npmjs.org/@deshun_live/txlive-sdk/-/txlive-sdk-0.1.6.tgz","fileCount":60,"integrity":"sha512-z6c0Te+EguNnkjb/Q7Ngvccqtv4H3/u3l8R9iq0CYF0ayucPVbuERLdEJcTKnhu3PirnQ6XLWkAMscNUY6+h7Q==","signatures":[{"sig":"MEUCIFwMb/044V+0f9WFITA+l9uTLpPuxvgSVGh1GaFGxIEvAiEA0fddMup8bKto7WKoMX9oEk+GHhtpzvbGm7ZFm0Eppso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEOHX82JN5LwFYcYAp1lXNGRoVpPoylIlV1KnU6wLcsPAiEAsPyo2zXQwcDmilvzX5a5aEbvk1R1zYkb1GxIVOiKHKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308044},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./marketing":{"import":{"types":"./dist/marketing.d.ts","default":"./dist/marketing.js"},"require":{"types":"./dist/marketing.d.cts","default":"./dist/marketing.cjs"}},"./package.json":"./package.json"},"gitHead":"ae051dc5ef51099f2423751b6cd88e079ebfccf1","scripts":{"build":"vite build --config vite.config.ts && tsc -p tsconfig.build.json && node ../../scripts/finalize-package.mjs sdk","prepack":"npm run build"},"_npmUser":{"name":"lyb_dev","email":"2289461358@qq.com"},"_npmVersion":"10.2.0","description":"H5 live interaction SDK: WebSocket, marketing state and Vue TRTC integration","directories":{},"sideEffects":false,"_nodeVersion":"21.1.0","dependencies":{"protobufjs":"^8.6.1","trtc-sdk-v5":"^5.17.1-kit.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/txlive-sdk_0.1.6_1790154309470_0.48330789171235944","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"_id":"@deshun_live/txlive-sdk@0.1.7","dist":{"shasum":"e1c1825a794b353344615744a60054e9406c8575","tarball":"https://registry.npmjs.org/@deshun_live/txlive-sdk/-/txlive-sdk-0.1.7.tgz","fileCount":60,"integrity":"sha512-s2qV9I0EOclDAfhWnFKCYJ1oHakaC+7T8JlFPBQH5R+mBwX06czKqwNIIAcjSV/hfmLPW0L+ts5tpDTs1oH+iQ==","signatures":[{"sig":"MEUCIQDp2hQ78hiE9LtXo+ec2zWpdmh4CvgkFBPRC7KN+i33PwIgSvMaB8cx7KBAzg4axoqMnVhrBGEi/Ymx1j/dTvxtSTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID6ZTJV+IqHLsBuiDxfVIS4UTzQiNMhhB0tCOm6KPvvwAiAe4+OS6okPWcv6MIizKhFuR238q1+IOEmVNsx9WipvyA=="}],"unpackedSize":307986},"main":"./dist/index.cjs","name":"@deshun_live/txlive-sdk","type":"module","types":"./dist/index.d.ts","author":{"name":"Shandong Deshun Network Technology Co., Ltd."},"module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./core":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./marketing":{"import":{"types":"./dist/marketing.d.ts","default":"./dist/marketing.js"},"require":{"types":"./dist/marketing.d.cts","default":"./dist/marketing.cjs"}},"./package.json":"./package.json"},"gitHead":"ece7a118506d43d979ef01174bea8e203817f5d9","license":"UNLICENSED","scripts":{"build":"vite build --config vite.config.ts && tsc -p tsconfig.build.json && node ../../scripts/finalize-package.mjs sdk","prepack":"npm run build"},"version":"0.1.7","_npmUser":{"name":"lyb_dev","email":"2289461358@qq.com"},"_npmVersion":"10.2.0","description":"H5 live interaction SDK: WebSocket, marketing state and Vue TRTC integration","directories":{},"maintainers":[{"name":"lyb_dev","email":"2289461358@qq.com"}],"sideEffects":false,"_nodeVersion":"21.1.0","dependencies":{"protobufjs":"^8.6.1","trtc-sdk-v5":"^5.17.1-kit.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.5.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/txlive-sdk_0.1.7_1790157627828_0.14840745010564116"}}},"time":{"created":"2026-07-16T05:55:37.418Z","modified":"2026-09-23T10:00:28.116Z","0.1.0":"2026-07-16T05:55:37.736Z","0.1.1":"2026-09-04T07:28:57.816Z","0.1.2":"2026-09-04T08:26:04.156Z","0.1.3":"2026-09-08T03:48:33.418Z","0.1.4":"2026-09-08T06:23:38.341Z","0.1.5":"2026-09-22T08:47:04.616Z","0.1.6":"2026-09-23T09:05:09.560Z","0.1.7":"2026-09-23T10:00:27.938Z"},"author":{"name":"Shandong Deshun Network Technology Co., Ltd."},"license":"UNLICENSED","description":"H5 live interaction SDK: WebSocket, marketing state and Vue TRTC integration","maintainers":[{"name":"lyb_dev","email":"2289461358@qq.com"}],"readme":"# @deshun_live/txlive-sdk\r\n\r\nTxLive H5 直播互动 SDK，提供 WebSocket、Protobuf 消息、营销互动状态和 Vue 3 TRTC 连麦能力。\r\n\r\n**著作权人：山东德顺网络科技有限公司。**\r\n\r\nCopyright (c) 2022-2026 Shandong Deshun Network Technology Co., Ltd. All rights reserved.\r\n\r\n本包沿用公司既有授权条款，详见 [LICENSE](./LICENSE)。\r\n\r\n## 安装\r\n\r\n```bash\r\nnpm install @deshun_live/txlive-sdk\r\n```\r\n\r\n要求 Vue 3.5 或更高版本。SDK 同时提供 ESM、CommonJS 和 TypeScript 类型声明。\r\n\r\n## 功能入口\r\n\r\n| 入口 | 功能 |\r\n| --- | --- |\r\n| `@deshun_live/txlive-sdk` | 完整导出和 `createLiveSdk` |\r\n| `@deshun_live/txlive-sdk/core` | Socket、协议、队列和消息发送 |\r\n| `@deshun_live/txlive-sdk/marketing` | 抽奖、投票、话题 PK 和红包状态 |\r\n| `@deshun_live/txlive-sdk/vue` | 观看模式和 TRTC 会话 |\r\n\r\n这些入口是包的稳定公开 API。按功能入口引入可以让业务代码和 SDK 内部文件结构解耦：\r\n\r\n```ts\r\nimport { createLiveSocket } from '@deshun_live/txlive-sdk/core'\r\nimport type { LotteryActivity } from '@deshun_live/txlive-sdk/marketing'\r\n```\r\n\r\n## 创建 SDK\r\n\r\n宿主应用负责实现 HTTP 请求、身份认证和配置管理。请求成功后应返回 `{ data, message? }`。\r\n\r\n```ts\r\nimport { createLiveSdk, type LiveSdkApi } from '@deshun_live/txlive-sdk'\r\n\r\nconst api: LiveSdkApi = {\r\n  submitVote,\r\n  submitTopic,\r\n  joinLottery,\r\n  getLotteryMyResult,\r\n  getLiveSeats,\r\n}\r\n\r\nconst sdk = createLiveSdk({\r\n  socket: {\r\n    wsBaseUrl: 'wss://live.example.com',\r\n    logger: console,\r\n  },\r\n  api,\r\n  resolveAssetUrl: (url) =>\r\n    url ? new URL(url, 'https://cdn.example.com/').href : undefined,\r\n})\r\n```\r\n\r\n建立互动连接：\r\n\r\n```ts\r\nsdk.messageQueue.subscribe(sdk.messageDispatcher.dispatch)\r\nsdk.messageQueue.start()\r\n\r\nsdk.socket.connect({\r\n  liveId,\r\n  sceneId,\r\n  ticket: wsTicket,\r\n  getTicket: refreshWsTicket,\r\n  onMessage: sdk.messageQueue.push,\r\n})\r\n```\r\n\r\n离开房间时释放实例：\r\n\r\n```ts\r\nsdk.destroy()\r\n```\r\n\r\n## 抽奖结果查询\r\n\r\n- 所有观众都接收 `LOTTERY_DRAWN`，它仅作为开奖通知：同步活动为 `drawn` 并清零倒计时，不读取广播中奖名单。\r\n- 仅本地已确认参与成功的观众调用宿主提供的 `getLotteryMyResult`，不依赖响应中的 `activity.joined`。收到通知后的首次查询随机延迟 0～3000 毫秒；自然到期未收到通知时先等待 3 秒，再叠加首次查询的随机延迟（共约 3～6 秒）。\r\n- `/my-result` 返回 `activityId`、`status`、`ready`、`drawn`、`won`、`winner` 和 `retryAfterMs`，不再返回 `activity` 快照；`status` 包含缓存准备或重建时的 `processing`。只有 `ready=true` 的结果才可用于最终判奖，`ready=false` 时不能将 `won=false` 判为未中奖。\r\n- 广播和兜底共用查询任务；`ready=false` 时按 `retryAfterMs` 加 0～500 毫秒随机抖动重试。网络错误或缺少合法重试间隔时使用 2000 毫秒加同样抖动的兜底间隔；初次查询后最多再试 5 次。\r\n- 首个开奖通知可重排尚未发出的首次查询，但不会打断已按 `retryAfterMs` 安排的重试；重复通知不重复查询。\r\n- `LotteryActivity.resultQueryState` 提供 `loading/error/ready/unavailable` 状态；只有最终个人结果确认后才触发一次 `onDraw`。H5 在查询最终失败时提示前往“更多-中奖记录”，随后清理该轮活动，不保留失败重试入口。\r\n- `winners` 仅保存本人中奖记录；名单由宿主在点击入口后另行查询 `/winners?page=1&size=10`。中奖时将 `myWinner` 放在首位，再展示 `others.records`；未中奖时只展示其他观众。总中奖人数为 `others.total` 加本人中奖时的 1 人，不使用当前页条数代替总人数。\r\n- 名单入口使用的实际中奖人数可由开奖通知的汇总 `winnerCount` 同步（不是活动配置的计划名额）。完全漏通知且本地没有最终人数时，扁平 `/my-result` 无法补齐这一字段，需要另外明确轻量汇总来源。\r\n- 宿主通过 `dismiss(activityId)` 在本地结束指定轮次：移除活动、倒计时、查询任务及参与状态，只保留本会话的忽略 ID，防止重复通知和迟到快照重新创建活动。已发出的请求无法撤回，但其响应不会恢复状态或触发下一次查询。\r\n- H5 在关闭结果（含未领取关闭）、名单查询失败、结果弹窗领奖流程成功或失败时均清理该轮；后端中奖记录和“更多-中奖记录”的查看、收货信息填写、补领功能不受影响。返回中奖名单只关闭名单层，不视为放弃当前结果。\r\n- 同房间 `replaceCurrent` 保留已开奖状态及在途查询；切换房间或销毁时调用 `clear()` / `destroy()` 清理。\r\n\r\n## Vue 3 TRTC\r\n\r\n在 Vue `setup` 或活动的 `effectScope` 中创建会话：\r\n\r\n```ts\r\nimport { useH5TrtcWebSession } from '@deshun_live/txlive-sdk/vue'\r\n\r\nconst session = useH5TrtcWebSession({\r\n  liveId: () => liveId,\r\n  socketSender: sdk.useSocketSender(() => liveId),\r\n  getLiveSeats: api.getLiveSeats,\r\n})\r\n```\r\n\r\n宿主应用负责提供后端签发的 TRTC 配置和音视频 DOM 容器。Vue scope 销毁时，会话会自动释放。\r\n\r\n## 说明\r\n\r\n- SDK 面向 H5 浏览器，不提供 Node.js 服务端音视频能力。\r\n- SDK 不包含 UI、路由、状态仓库、HTTP 客户端或登录逻辑。\r\n- `send()` 返回值只表示消息是否写入当前 Socket；业务结果以服务端响应为准。\r\n- 摄像头和麦克风需要浏览器支持及安全上下文。\r\n- 包可以从公开 npm 仓库下载，但使用、复制和分发仍受随包发布的许可证约束。\r\n","readmeFilename":"README.md"}