diff --git a/TUIKit/components/TUIChat/chat-header/index.vue b/TUIKit/components/TUIChat/chat-header/index.vue
index 95781f9..dc0bbc5 100644
--- a/TUIKit/components/TUIChat/chat-header/index.vue
+++ b/TUIKit/components/TUIChat/chat-header/index.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/TUIKit/components/TUIConversation/index.vue b/TUIKit/components/TUIConversation/index.vue
index 0768410..79aecac 100644
--- a/TUIKit/components/TUIConversation/index.vue
+++ b/TUIKit/components/TUIConversation/index.vue
@@ -25,7 +25,7 @@
/>
-
+
\r\n\r\n\r\n"],"names":["optionsArray","uni","request"],"mappings":";;;;AA8IA,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,SAAS;AAAA;AAAA,MACT,QAAQ;AAAA,QACN,EAAE,OAAO,KAAK,OAAO,EAAG;AAAA,QACxB,EAAE,OAAO,KAAK,OAAO,EAAG;AAAA,MACzB;AAAA,MACD,SAASA,8BAAY;AAAA,MACrB,UAAU;AAAA;AAAA,MACV,YAAY;AAAA;AAAA,MACZ,aAAa;AAAA;AAAA,MACb,SAAS;AAAA;AAAA,MACT,SAAS;AAAA;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,MACN,gBAAgB;AAAA;AAAA,MAChB,IAAI;AAAA;AAAA,MACJ,aAAa;AAAA;AAAA,MACb,YAAY;AAAA;AAAA,MACZ,sBAAsB;AAAA;AAAA;EAEzB;AAAA,EACD,UAAU;AACRC,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AAAA,MACpB;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,OAAO,MAAM;AACX,WAAK,UAAU,KAAK;AACpBA,oBAAAA,MAAA,MAAA,OAAA,0CAAY,IAAI;AAAA,IACjB;AAAA,IAED,QAAQ,MAAM;AACZ,WAAK,WAAW,KAAK;AACrBA,oBAAAA,MAAA,MAAA,OAAA,0CAAY,IAAI;AAAA,IACjB;AAAA,IAED,mBAAmB,OAAO;AACxB,UAAI,MAAM,WAAW,KAAK,KAAK;AAC7B,aAAK,UAAU;AACf,aAAK,OAAO;AAAA,MACd;AAAA,IACD;AAAA,IACD,OAAO;AACL,UAAI,KAAK,SAAS;AAChB,aAAK,UAAU;AACf,aAAK,OAAO;AACZ,aAAK,aAAa;AAClB,aAAK,UAAU;AACf,aAAK,cAAc;AACnB,aAAK,UAAU;AACf,aAAK,iBAAiB;AACtB,aAAK,WAAW;AAChB,aAAK,UAAU;AAAA,aACV;AACL,aAAK,UAAU;AAAA,MACjB;AAAA,IACD;AAAA;AAAA,IAED,KAAK,OAAM;AACT,UAAG,KAAK,eAAe,MAAM,OAAO,OAAM;AACxC,aAAK,aAAa,MAAM,OAAO;AAC/BA,sBAAAA,MAAI,YAAY;AAAA,UAChB,OAAO;AAAA,UACP,MAAM;AAAA,QACR,CAAC;AACCA,sBAAAA,MAAI,QAAQ;AAAA,UACZ,KAAK,uCAAqC,KAAK;AAAA,UAC/C,SAAQ,CAAC,QAAM;AACb,gBAAI,IAAI,KAAK,SAAS,KAAK;AACzBA,4BAAG,MAAC,YAAW;AACfA,4BAAAA,MAAI,UAAU;AAAA,gBACZ,OAAO;AAAA,gBACP,MAAM;AAAA,gBACN,UAAU;AAAA,eACX;AACD,mBAAK,uBAAuB,IAAI,KAAK;AAAA,mBACjC;AACJA,4BAAG,MAAC,YAAW;AACfA,4BAAAA,MAAI,UAAU;AAAA,gBACZ,OAAO;AAAA,gBACP,MAAM;AAAA,gBACN,UAAU;AAAA,eACX;AAAA,YACH;AAAA,UACD;AAAA,UACD,MAAM,SAAU,KAAK;AACnBA,0BAAG,MAAC,YAAW;AACfA,0BAAAA,MAAI,UAAU;AAAA,cACV,OAAO;AAAA,cACP,MAAM;AAAA,cACN,UAAU;AAAA,aACX;AAAA,UACJ;AAAA,QACH,CAAC;AAAA,aACI;AACH;AAAA,MACF;AAAA,IACD;AAAA,IACD,MAAM,UAAU;AAEd,UACE,KAAK,eAAe,MACpB,KAAK,YAAY,KACjB,KAAK,gBAAgB,MACrB,KAAK,aAAa,MAClB,KAAK,mBAAmB,MACxB,KAAK,YAAY,MACjB,KAAK,yBAAyB,IAC9B;AACA,aAAK,OAAO;AACZ;AAAA,MACF;AAEA,YAAM,YAAY,KAAK,eAAe,QAAQ,KAAK,GAAG;AACtD,YAAM,YAAY,KAAK,MAAM,SAAS;AACtC,UAAI,MAAM,SAAS,GAAG;AACpB,cAAM,IAAI,MAAM,wBAAwB,KAAK,cAAc,EAAE;AAAA,MAC/D;AACA,WAAK,cAAc,KAAK,MAAM,YAAY,GAAI;AAC9C,YAAM,mBAAmB,KAAK,MAAM,KAAK,IAAG,IAAK,GAAI;AAErD,UAAI,KAAK,cAAc,kBAAkB;AACvCA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AACD;AAAA,MACF;AAEAA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AACD,YAAM,MAAM,MAAMC,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,UAAU,KAAK;AAAA,UACf,QAAQ,KAAK;AAAA,UACb,KAAK,KAAK;AAAA,UACV,SAAS,KAAK;AAAA,UACd,MAAM,KAAK;AAAA,UACX,QAAQ,KAAK;AAAA,UACb,UAAU,KAAK;AAAA,UACf,YAAY,KAAK;AAAA,UACjB,UAAU,KAAK;AAAA,QAChB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC;AACD,UAAI,IAAI,SAAS,KAAK;AACpB,aAAK,UAAU;AACf,aAAK,OAAO;AACZ,aAAK,aAAa;AAClB,aAAK,UAAU;AACf,aAAK,cAAc;AACnB,aAAK,UAAU;AACf,aAAK,iBAAiB;AACtB,aAAK,UAAU;AACf,aAAK,uBAAuB;AAC5BD,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,aACI;AACLA,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACD;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
+{"version":3,"file":"NewAddedPk.js","sources":["pages/NewAddedPk/NewAddedPk.vue"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n 请检查主播名称是否正确 \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n 请选择国家 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 请选择性别 \r\n \r\n \r\n\r\n \r\n \r\n 金币数量: \r\n \r\n 单位: \r\n K \r\n \r\n 请填写金币数量 \r\n \r\n\r\n \r\n \r\n 请选择日期 \r\n \r\n \r\n \r\n \r\n 选择场数: \r\n \r\n 次 \r\n \r\n 请填写场数 \r\n \r\n \r\n \r\n\r\n \r\n 发布 \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n"],"names":["optionsArray","uni","request"],"mappings":";;;;AAmJA,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,SAAS;AAAA;AAAA,MACT,QAAQ;AAAA,QACN,EAAE,OAAO,KAAK,OAAO,EAAG;AAAA,QACxB,EAAE,OAAO,KAAK,OAAO,EAAG;AAAA,MACzB;AAAA,MACD,SAASA,8BAAY;AAAA,MACrB,UAAU;AAAA;AAAA,MACV,YAAY;AAAA;AAAA,MACZ,aAAa;AAAA;AAAA,MACb,SAAS;AAAA;AAAA,MACT,SAAS;AAAA;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,MACN,gBAAgB;AAAA;AAAA,MAChB,IAAI;AAAA;AAAA,MACJ,aAAa;AAAA;AAAA,MACb,YAAY;AAAA;AAAA,MACZ,sBAAsB;AAAA;AAAA;EAEzB;AAAA,EACD,UAAU;AACRC,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AAAA,MACpB;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,OAAO,MAAM;AACX,WAAK,UAAU,KAAK;AACpBA,oBAAAA,MAAA,MAAA,OAAA,0CAAY,IAAI;AAAA,IACjB;AAAA,IAED,QAAQ,MAAM;AACZ,WAAK,WAAW,KAAK;AACrBA,oBAAAA,MAAA,MAAA,OAAA,0CAAY,IAAI;AAAA,IACjB;AAAA,IAED,mBAAmB,OAAO;AACxB,UAAI,MAAM,WAAW,KAAK,KAAK;AAC7B,aAAK,UAAU;AACf,aAAK,OAAO;AAAA,MACd;AAAA,IACD;AAAA,IACD,OAAO;AACL,UAAI,KAAK,SAAS;AAChB,aAAK,UAAU;AACf,aAAK,OAAO;AACZ,aAAK,aAAa;AAClB,aAAK,UAAU;AACf,aAAK,cAAc;AACnB,aAAK,UAAU;AACf,aAAK,iBAAiB;AACtB,aAAK,WAAW;AAChB,aAAK,UAAU;AAAA,aACV;AACL,aAAK,UAAU;AAAA,MACjB;AAAA,IACD;AAAA;AAAA,IAED,KAAK,OAAO;AACV,UAAI,KAAK,eAAe,MAAM,OAAO,OAAO;AAC1C,aAAK,aAAa,MAAM,OAAO;AAC/BA,sBAAAA,MAAI,YAAY;AAAA,UACd,OAAO;AAAA,UACP,MAAM;AAAA,QACR,CAAC;AACDA,sBAAAA,MAAI,QAAQ;AAAA,UACV,KAAK,mCAAmC,KAAK;AAAA,UAC7C,SAAS,CAAC,QAAQ;AAChB,gBAAI,IAAI,KAAK,SAAS,KAAK;AACzBA,4BAAG,MAAC,YAAW;AACfA,4BAAAA,MAAI,UAAU;AAAA,gBACZ,OAAO;AAAA,gBACP,MAAM;AAAA,gBACN,UAAU;AAAA,cACZ,CAAC;AACD,mBAAK,uBAAuB,IAAI,KAAK;AAAA,mBAChC;AACLA,4BAAG,MAAC,YAAW;AACfA,4BAAAA,MAAI,UAAU;AAAA,gBACZ,OAAO;AAAA,gBACP,MAAM;AAAA,gBACN,UAAU;AAAA,cACZ,CAAC;AAAA,YACH;AAAA,UACD;AAAA,UACD,MAAM,SAAU,KAAK;AACnBA,0BAAG,MAAC,YAAW;AACfA,0BAAAA,MAAI,UAAU;AAAA,cACZ,OAAO;AAAA,cACP,MAAM;AAAA,cACN,UAAU;AAAA,YACZ,CAAC;AAAA,UACF;AAAA,QACH,CAAC;AAAA,aACI;AACL;AAAA,MACF;AAAA,IACD;AAAA,IACD,MAAM,UAAU;AAEd,UACE,KAAK,eAAe,MACpB,KAAK,YAAY,KACjB,KAAK,gBAAgB,MACrB,KAAK,aAAa,MAClB,KAAK,mBAAmB,MACxB,KAAK,YAAY,MACjB,KAAK,yBAAyB,IAC9B;AACA,aAAK,OAAO;AACZ;AAAA,MACF;AAEA,UAAI,KAAK,QAAQ,SAAS,KAAK,UAAU,GAAG;AAC1CA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AACD;AAAA,MACF;AAEA,YAAM,YAAY,KAAK,eAAe,QAAQ,KAAK,GAAG;AACtD,YAAM,YAAY,KAAK,MAAM,SAAS;AACtC,UAAI,MAAM,SAAS,GAAG;AACpB,cAAM,IAAI,MAAM,wBAAwB,KAAK,cAAc,EAAE;AAAA,MAC/D;AACA,WAAK,cAAc,KAAK,MAAM,YAAY,GAAI;AAC9C,YAAM,mBAAmB,KAAK,MAAM,KAAK,IAAG,IAAK,GAAI;AAErD,UAAI,KAAK,cAAc,kBAAkB;AACvCA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AACD;AAAA,MACF;AAEAA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AACD,YAAM,MAAM,MAAMC,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,UAAU,KAAK;AAAA,UACf,QAAQ,KAAK;AAAA,UACb,KAAK,KAAK;AAAA,UACV,SAAS,KAAK;AAAA,UACd,MAAM,KAAK;AAAA,UACX,QAAQ,KAAK;AAAA,UACb,UAAU,KAAK;AAAA,UACf,YAAY,KAAK;AAAA,UACjB,UAAU,KAAK;AAAA,QAChB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC;AACD,UAAI,IAAI,SAAS,KAAK;AACpB,aAAK,UAAU;AACf,aAAK,OAAO;AACZ,aAAK,aAAa;AAClB,aAAK,UAAU;AACf,aAAK,cAAc;AACnB,aAAK,UAAU;AACf,aAAK,iBAAiB;AACtB,aAAK,UAAU;AACf,aAAK,uBAAuB;AAC5BD,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,aACI;AACLA,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACD;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/components/TUIChat/chat-header/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/components/TUIChat/chat-header/index.js.map
index 3bea9da..aeecd35 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/components/TUIChat/chat-header/index.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/components/TUIChat/chat-header/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/chat-header/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L2NoYXQtaGVhZGVyL2luZGV4LnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n\r\n\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/chat-header/index.vue'\nwx.createComponent(Component)"],"names":["ref","TUIGlobal","onMounted","TUIStore","StoreName","onUnmounted","onLoad","TUITranslateService","Component"],"mappings":";;;;;;;;AAkBA,UAAM,sBAAsBA,cAAAA;AACtB,UAAA,eAAeA,kBAAI,KAAK;AAyBxB,UAAA,uBAAuB,CAAC,YAAoB;;AAChDC,0BAAAA,MAAAA,mBAAW,sBAAsB;AAAA,QAC/B,OAAO,WAAW;AAAA,MAAA;AAAA,IACnB;AAGHC,kBAAAA,UAAU,MAAM;AACLC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,qBAAqB;AAAA,MAAA,CACtB;AACQD,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,cAAc;AAAA,MAAA,CACf;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AACPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,qBAAqB;AAAA,MAAA,CACtB;AACQD,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,cAAc;AAAA,MAAA,CACf;AAAA,IAAA,CACF;AAEDE,kBAAAA,OAAO,MAAM;;AACU,4BAAA,yBAAoB,UAApB,mBAA2B,aAAa;AAAA,IAAA,CAC9D;AAED,aAAS,6BAA6B,cAAkC;;AACtE,0BAAoB,QAAQ;AACxB,UAAA,CAAC,aAAa,OAAO;AACF,8BAAA,gEAAqB,UAArB,mBAA4B,aAAa;AAAA,MAChE;AAAA,IACF;AAEA,aAAS,sBAAsB,QAAiB;;AAC9C,mBAAa,QAAQ;AACrB,UAAI,aAAa,OAAO;AACD,6BAAAC,cAAA,GAAoB,EAAE,gBAAgB,CAAC;AAAA,MAAA,OACvD;AACgB,8BAAA,yBAAoB,UAApB,mBAA2B,aAAa;AAAA,MAC/D;AAAA,IACF;;;;;;ACrFA,GAAG,gBAAgBC,SAAS;"}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/chat-header/index.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9UVUlLaXQvY29tcG9uZW50cy9UVUlDaGF0L2NoYXQtaGVhZGVyL2luZGV4LnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n\r\n\r\n","import Component from 'D:/项目/tk-mini-program/TUIKit/components/TUIChat/chat-header/index.vue'\nwx.createComponent(Component)"],"names":["ref","TUIGlobal","onMounted","TUIStore","StoreName","onUnmounted","onLoad","TUITranslateService","Component"],"mappings":";;;;;;;;AAkBA,UAAM,sBAAsBA,cAAAA;AACtB,UAAA,eAAeA,kBAAI,KAAK;AAyBxB,UAAA,uBAAuB,CAAC,YAAoB;;AAChDC,0BAAAA,MAAAA,mBAAW,sBAAsB;AAAA,QAC/B,OAAO,WAAW;AAAA,MAAA;AAAA,IACnB;AAGHC,kBAAAA,UAAU,MAAM;AACLC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,qBAAqB;AAAA,MAAA,CACtB;AACQD,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,cAAc;AAAA,MAAA,CACf;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AACPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,qBAAqB;AAAA,MAAA,CACtB;AACQD,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,cAAc;AAAA,MAAA,CACf;AAAA,IAAA,CACF;AAEDE,kBAAAA,OAAO,MAAM;;AACU,4BAAA,yBAAoB,UAApB,mBAA2B,aAAa;AAAA,IAAA,CAC9D;AAED,aAAS,6BAA6B,cAAkC;;AACtE,0BAAoB,QAAQ;AACxB,UAAA,CAAC,aAAa,OAAO;AACF,8BAAA,gEAAqB,UAArB,mBAA4B,aAAa;AAAA,MAChE;AAAA,IACF;AAEA,aAAS,sBAAsB,QAAiB;;AAC9C,mBAAa,QAAQ;AACrB,UAAI,aAAa,OAAO;AACD,6BAAAC,cAAA,GAAoB,EAAE,gBAAgB,CAAC;AAAA,MAAA,OACvD;AACgB,8BAAA,yBAAoB,UAApB,mBAA2B,aAAa;AAAA,MAC/D;AAAA,IACF;;;;;;ACrFA,GAAG,gBAAgBC,SAAS;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/components/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/components/index.js.map
index 89d1340..8229db8 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/components/index.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/TUIKit/components/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/index.vue","TUIKit/components/TUIChat/index.ts","TUIKit/components/TUIConversation/index.ts","TUIKit/components/TUISearch/index.vue","TUIKit/components/TUISearch/index.ts","TUIKit/components/TUIContact/index.vue","TUIKit/components/TUIContact/index.ts","TUIKit/components/TUIGroup/index.vue","TUIKit/components/TUIGroup/index.ts","TUIKit/components/TUIConversation/index.vue"],"sourcesContent":["\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
changeToolbarDisplayType('none')\"\r\n @toggleMultipleSelectMode=\"toggleMultipleSelectMode\"\r\n />\r\n \r\n {{ leaveGroupReasonText }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
0\r\n \"\r\n class=\"group-profile\"\r\n @click=\"handleGroup\"\r\n >\r\n {{ headerExtensionList[0].text }}\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n","import TUIChat from './index.vue';\r\nimport Server from './server';\r\n\r\nnew Server();\r\n\r\nexport default TUIChat;\r\n","import TUIConversation from \"./index.vue\";\r\nimport TUIConversationServer from \"./server\";\r\nnew TUIConversationServer();\r\n\r\nexport default TUIConversation;\r\n","\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n\r\n","import TUISearch from './index.vue';\r\nimport Server from './server';\r\nnew Server();\r\n\r\nexport default TUISearch;\r\n","\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n","import TUIContact from './index.vue';\r\nimport Server from './server';\r\nServer.getInstance();\r\n\r\nexport default TUIContact;\r\n","\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n\r\n","import TUIGroup from './index.vue';\r\nimport Server from './server';\r\n\r\nServer.getInstance();\r\n\r\nexport default TUIGroup;\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n\r\n\r\n"],"names":["useCounterStore","ref","onLoad","initChat","uni","onUnload","logout","TUIChatConfig","onMounted","TUIStore","StoreName","onUnmounted","myitem","youritem","request","generateMsgId","isEnabledMessageReadReceiptGlobal","TUIChatEngine","OfflinePushInfoManager","TUIChatService","res","computed","isUniFrameWork","TUITranslateService","TUIConversationService","TUICore","TUIConstants","Server","TUIConversationServer","isPC","searchMessageTypeDefault","searchMessageTimeDefault","outsideClick","TUIGlobal","watchEffect","onHide"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwHA,MAAA,aAAuB,MAAA;AACvB,MAAA,cAAwB,MAAA;AACxB,MAAA,eAAyB,MAAA;AACzB,MAAA,sBAAgC,MAAA;AAChC,MAAA,UAAoB,MAAA;AACpB,MAAA,sBAAgC,MAAA;;;;;AAahC,UAAM,UAAUA,eAAAA;AAEhB,QAAI,SAASC,cAAAA;AACb,QAAI,WAAWA,cAAAA;AACOA,sBAAI;AAC1BC,kBAAA,OAAO,CAAC,YAAY;AAClBC,8CAAA,SAAS,OAAO;AAChB,aAAO,QAAQ,KAAK,MAAM,QAAQ,MAAM;AACxCC,oBAAA,MAAI,MAAM,OAAM,8CAA6C,OAAO,KAAK;AACzE,eAAS,QAAQ,KAAK,MAAM,QAAQ,QAAQ;AAC5CA,oBAAA,MAAI,MAAM,OAAM,8CAA6C,SAAS,KAAK;AAC3E,cAAQ,OAAO,EAAE,UAAU,SAAS,MAAO,CAAA;AAC3C,iBAAW,MAAM;AACG,0BAAA,OAAO,OAAO,SAAS,KAAK;AAAA,SAC7C,GAAI;AAAA,IAAA,CACR;AAEDC,kBAAAA,SAAS,MAAM;AAENC,qDAAA,KAAK,EACT,KAAK,MAAM;AAAA,MAAA,CAEX,EACA,MAAM,MAAM;AAAA,MAAA,CAEZ;AAAA,IAAA,CACJ;AAGD,UAAM,QAAQ;AAER,UAAA,UAAUL,cAAAA,IAAI,MAAS;AACvB,UAAA,UAAUA,kBAAI,KAAK;AACnB,UAAA,eAAeA,kBAAI,KAAK;AAC9B,UAAM,mBAAmBA,cAAAA;AACzB,UAAM,wBAAwBA,cAAAA;AACxB,UAAA,uBAAuBA,kBAAI,KAAK;AAChC,UAAA,0BAA0BA,kBAAwB,MAAM;AAC9D,UAAM,kBAAkBA,cAAAA;AACxB,UAAM,iBAAiBA,cAAAA;AACjB,UAAA,sBAAsBA,kBAAqB,CAAA,CAAE;AAC7C,UAAA,gBAAgBM,4CAAc;AAEpCC,kBAAAA,UAAU,MAAM;AACLC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,qBAAqB;AAAA,MAAA,CACtB;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AACPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,qBAAqB;AAAA,MAAA,CACtB;AACK;IAAA,CACP;AAGD,QAAI,sBAAsBT,cAAAA;AAEjBQ,qBAAA,MAAMC,gBAAU,MAAM;AAAA,MAC7B,qBAAqB,CAAC,iBAAiB;AACrC,4BAAoB,QAAQ;AAAA,MAC9B;AAAA,IAAA,CACD;AAEQ,aAAA,kBAAkBE,SAAQC,WAAU;AACnCC,iCAAA;AAAA,QACN,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,OAAOD,UAAS;AAAA,UAChB,OAAOD,QAAO;AAAA,UACd,SAASC,UAAS;AAAA,UAClB,SAASD,QAAO;AAAA,UAChB,QAAQC,UAAS;AAAA,UACjB,UAAUA,UAAS;AAAA,UACnB,WAAWA,UAAS;AAAA,UACpB,WAAWD,QAAO;AAAA,UAClB,aAAaC,UAAS;AAAA,UACtB,aAAaD,QAAO;AAAA,UACpB,OAAOC,UAAS;AAAA,UAChB,OAAOD,QAAO;AAAA,QAChB;AAAA,QACA,UAAU;AAAA,MAAA,CACX,EAAE,KAAK,CAAC,QAAQ;;AACX,YAAA,IAAI,SAAS,KAAK;AACpBR,wBAAA,MAAI,MAAM,OAAM,8CAA6C,QAAQ,IAAI,IAAI;AAE7E,gBAAM,QAAQW,yBAAAA;AACd,gBAAM,UAAU;AAAA,YACd,MAAM,KAAK,UAAU;AAAA,cACnB,YAAY;AAAA,cACZ;AAAA,cACA,QAAQ,QAAQ,OAAO;AAAA,cACvB,OAAOF,UAAS;AAAA,cAChB,OAAOD,QAAO;AAAA,cACd,SAASC,UAAS;AAAA,cAClB,SAASD,QAAO;AAAA,cAChB,QAAQC,UAAS;AAAA,cACjB,UAAUA,UAAS;AAAA,cACnB,IAAG,IAAI,KAAK;AAAA,cACZ,MAAM;AAAA,cACN,YAAY;AAAA,YAAA,CACb;AAAA,YACD,aAAa;AAAA,YACb,WAAW;AAAA,UAAA;AAEb,gBAAM,UAAU;AAAA,YACd,MACE,sEAAqB,UAArB,mBAA4B,iBAA5B,mBAA0C,cAC1C,sEAAqB,UAArB,mBAA4B,gBAA5B,mBAAyC;AAAA,YAC3C,mBAAkB,gEAAqB,UAArB,mBAA4B;AAAA,YAC9C;AAAA,YACA,iBAAiBG,sCAAAA,kCAAkC;AAAA,UAAA;AAErD,gBAAM,8BAA8B;AAAA,YAClC,cAAc,oBAAoB;AAAA,YAClC,SAAS,QAAQ;AAAA,YACjB,aAAaC,cAAAA,GAAc,MAAM;AAAA,UAAA;AAEnC,gBAAM,qBAAqB;AAAA,YACzB,iBAAiBC,uDAAAA,uBAAuB,OAAO,2BAA2B;AAAA,UAAA;AAE5EC,wBAAA,GAAe,kBAAkB,SAAS,kBAAkB,EAAE,KAAK,CAACC,SAAQ;AACxDN,uCAAQ;AAAA,cACxB,KAAK;AAAA,cACL,QAAQ;AAAA,cACR,MAAM;AAAA,gBACJ,aAAa,KAAK,UAAUM,KAAI,KAAK,OAAO;AAAA,gBAC5C,OAAO;AAAA,cACT;AAAA,cACA,UAAU;AAAA,YAAA,CACX;AAAA,UAAA,CACF;AACDR,kBAAO,QAAQ;AACfC,oBAAS,QAAQ;AACjB,8BAAoB,QAAQ;AAAA,QAAA,OACvB;AACLT,wBAAAA,MAAI,UAAU;AAAA,YACZ,OAAO,IAAI;AAAA,YACX,MAAM;AAAA,YACN,UAAU;AAAA,UAAA,CACX;AAAA,QACH;AAAA,MAAA,CACD;AAAA,IACH;AAEM,UAAA,qBAAqBiB,cAAAA,SAAkB,MAAM;AAC1C,aAAAC,iBAAA,iBAAiB,wBAAwB,UAAU,SAAS;AAAA,IAAA,CACpE;AAEK,UAAA,uBAAuBD,cAAAA,SAAiB,MAAM;AAClD,UAAI,OAAO;AACX,cAAQ,iBAAiB,OAAO;AAAA,QAC9B,KAAK;AACI,iBAAAE,cAAA,GAAoB,EAAE,oBAAoB;AACjD;AAAA,QACF,KAAK;AACI,iBAAAA,cAAA,GAAoB,EAAE,iBAAiB;AAC9C;AAAA,QACF,KAAK;AACI,iBAAAA,cAAA,GAAoB,EAAE,iBAAiB;AAC9C;AAAA,QACF;AACS,iBAAAA,cAAA,GAAoB,EAAE,iBAAiB;AAC9C;AAAA,MACJ;AACO,aAAA;AAAA,IAAA,CACR;AAED,UAAM,QAAQ,MAAM;AAClBC,uBAAuB,mBAAmB,EAAE;AAAA,IAAA;AAGxC,UAAA,YAAY,CAAC,mBAA2B;AAC5C,YAAM,aAAa,cAAc;AAC3B;IAAA;AAGF,UAAA,cAAc,CAAC,aAAqB;;AACxB,4BAAA,UAAA,mBAAO,YAAY;AAAA,IAAQ;AAGvC,UAAA,eAAe,CAAC,SAAwB,SAAiB;;AACzD,UAAA,CAAC,WAAW,CAAC;AAAM;AACvB,cAAQ,MAAM;AAAA,QACZ,KAAK;AAEH;AAAA,QACF,KAAK;AAEH;AAAA,QACF,KAAK;AACC,eAAA,wCAAS,YAAT,mBAAkB,MAAM;AAC1B,qEAAiB,UAAjB,mBAAwB,QAAO,wCAAS,YAAT,mBAAkB;AAAA,UACnD;AACA;AAAA,MAGJ;AAAA,IAAA;AAGF,UAAM,cAAc,MAAM;AACJ,0BAAA,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,SAAS,QAAQ,MAAA,CAAO;AAAA,IAAA;AAG5E,aAAS,aAAa;AACpBpB,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MAAA,CACR;AAAA,IACH;AAEA,aAAS,yBAAyB,MAA0B;AAC1D,8BAAwB,QAAQ,wBAAwB,UAAU,OAAO,SAAS;AAC9E,UAAA,wBAAwB,UAAU,UAAUkB,iCAAgB;AAC9DlB,4BAAI,MAAM,kBAAkB;AAAA,MAC9B;AAAA,IACF;AAEA,aAAS,wBAAwB;;AAC/B,2BAAe,UAAf,mBAAsB;AAAA,IACxB;AAEA,aAAS,yBAAyB,SAAmB;AACnD,2BAAqB,QACnB,YAAY,SAAY,CAAC,qBAAqB,QAAQ;AAAA,IAC1D;AAEA,aAAS,sBAAsB;;AAC7B,2BAAe,UAAf,mBAAsB;AAAA,IACxB;AAEA,aAAS,yBAAyB;;AAChC,2BAAe,UAAf,mBAAsB;AAAA,IACxB;AAEA,aAAS,uBAAuB,cAAkC;AAC5D,WAAA,6CAAc,iBAAgB,GAAG;AACnC,4BAAoB,QAAQ;AAC5B,qBAAa,QAAQ;AAMrB,yBAAiB,QAAQ,6CAAc;AAAA,MAAA,OAClC;AACL,qBAAa,QAAQ;AACrB,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IACF;AAEA,aAAS,4BAA4B,cAAkC;AACrE,6BAAuB,YAAY;AAEnC,UAAI,CAAC,cAAc;AACjB;AAAA,MACF;AAEI,UAAA,sBAAsB,WAAU,6CAAc,iBAAgB;AAChE;AAAA,MACF;AAEA,cAAQ,QAAQ;AACZ,UAAA,mBAAmBa,cAAAA,GAAc,MAAM;AAC3C,YAAM,iBAAiB,aAAa;AACpC,UAAI,eAAe,WAAWA,cAAc,GAAA,MAAM,UAAU,GAAG;AAC7D,2BAAmBA,cAAAA,GAAc,MAAM;AACvC,gBAAQ,QAAQ;AAChB,gBAAQ,QAAQ,eAAe,QAAQA,cAAc,GAAA,MAAM,YAAY,EAAE;AAAA,MAC3E;AAEA,0BAAoB,QAAQ;AAC5B,2BAAqB,QAAQ;AAE7BV,kDAAc,YAAY,gBAAgB;AAElCkB,oBAAAA,EAAA;AAAA,QACNC,gBAAa,QAAQ,MAAM;AAAA,QAC3BA,gBAAa,QAAQ,cAAc;AAAA,QACnC,EAAE,SAAS,QAAQ,MAAM;AAAA,MAAA;AAG3BD,oBAAAA,EAAQ,YAAY;AAAA,QAClB,aAAaC,cAAa,EAAA,yBAAyB,QAAQ;AAAA,QAC3D,QAAQA,cAAAA,EAAa,yBAAyB,QAAQ,OAAO;AAAA,QAC7D,QAAQ,EAAE,eAA+B;AAAA,MAAA,CAC1C;AAED,UAAInB,iCAAAA,WAAc,YAAY,MAAMmB,cAAa,EAAA,QAAQ,KAAK,MAAM;AAClE,YACEnB,iCAAAA,WAAc,iBAAiBmB,cAAA,EAAa,QAAQ,QAAQ,UAAU,MAAM,MAC5E;AACAnB,sDAAc,SAAS,OAAO;AAC9B,gCAAsB,QAAQ;AAC9B;AAAA,QACF;AAAA,MACF;AAEA,UAAIA,iCAAAA,WAAc,YAAY,MAAMmB,cAAa,EAAA,QAAQ,KAAK,OAAO;AACnE,4BAAoB,QAAQD,cAAAA,EAAQ;AAAA,UAClCC,cAAAA,EAAa,QAAQ,UAAU,YAAY;AAAA,QAAA;AAAA,MAE/C;AACAjB,oBAAA,GAAS,OAAOC,cAAA,EAAU,QAAQ,sBAAsB,cAAc;AACtE,4BAAsB,QAAQ;AAAA,IAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzbA,IAAIiB,+CAAO;ACDX,IAAIC,+DAAsB;;;;ACwF1B,MAAA,cAAwB,MAAA;AACxB,MAAA,kBAA4B,MAAA;AAC5B,MAAA,eAAyB,MAAA;;;;;;;;;AAOzB,UAAM,QAAQ;AAUd,UAAM,kBAAkB3B,cAAAA;AAClB,UAAA,wBAAwBA,kBAAY,EAAE;AACtC,UAAA,kBAAkBA,kBAAa,KAAK;AAEpC,UAAA,6BAA6BA,kBAAaqB,iBAAAA,cAAc;AAE9D,UAAM,eAAeD,cAAA;AAAA,MACnB,MACE,CAACQ,iBAAA,SACI,MAAM,eAAe,YAAY,gBAAgB,SAClD,MAAM,eAAe,kBAAkB,2BAA2B;AAAA,IAAA;AAGpE,UAAA,kBAAkB,CAAC,eAA4B;AAC1CpB,oBAAAA,GAAA,OAAOC,gBAAU,QAAQ,2BAA2B;AAAA,QAC3D,OAAO;AAAA,QACP;AAAA,MAAA,CACD;AACQD,oBAAAA,GAAA,OAAOC,gBAAU,QAAQ,4BAA4B;AAAA,QAC5D,OAAOoB,oEAAyB,UAAU;AAAA,QAC1C;AAAA,MAAA,CACD;AACQrB,oBAAAA,GAAA,OAAOC,gBAAU,QAAQ,4BAA4B;AAAA,QAC5D,OAAOqB,2CAAA;AAAA,QACP;AAAA,MAAA,CACD;AAAA,IAAA;AAGH,aAAS,8BAA8B,gBAAwB;AAC7D,UAAI,CAACT,iBAAA,kBAAkB,sBAAsB,UAAU,gBAAgB;AAE3C;MAC5B;AACA,4BAAsB,QAAQ;AAAA,IAChC;AAEA,aAAS,+BAA+B,OAAyB;;AAC3D,WAAA,+BAAO,gBAAe,MAAM,YAAY;AAC1C,wBAAgB,QAAQ,+BAAO;AAE/B,aAAI,+BAAO,gBAAe,YAAY,gBAAgB,OAAO;AACvD,cAAAO,iBAAA,QAAQ,MAAM,aAAa;AAC7BG,0BAAAA,EAAa,OAAO;AAAA,cAClB,SAAS,gBAAgB;AAAA,cACzB,SAAS;AAAA,YAAA,CACV;AAAA,UACH;AAAA,QACF;AACI,aAAA,+BAAO,gBAAe,YAAYV,iCAAgB;AAEpD,gBAAM,eAAcW,yBAAAA,MAAAA,mBAAW,iBAAXA,mBAAyB,MAAM,MAAM;AAAA,UAAgB,MAAIA,yBAAA,MAAAA,mBAAW,iBAAXA,mBAAyB,MAAM,MAAM;AAAA,UAAA;AAAA,QACpH;AAAA,MACF;AAAA,IACF;AAEA,aAAS,mCAAmC,OAAgB;AAC/B,iCAAA,QAAQ,QAAQ,OAAO;AACvB,iCAAA,SAAS,gBAAgB,MAAM,UAAU;AAAA,IACtE;AAEAzB,kBAAAA,UAAU,MAAM;AAEd,OAAC,UAAU,cAAc,EAAE,QAAQ,CAAC,SAAiB;AACnD,wBAAgB,IAAmB;AAAA,MAAA,CACpC;AAEQC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,uBAAuB;AAAA,MAAA,CACxB;AACQD,uBAAA,MAAMC,gBAAU,QAAQ;AAAA,QAC/B,wBAAwB;AAAA,QACxB,4BAA4B;AAAA,MAAA,CAC7B;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AAEPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,uBAAuB;AAAA,MAAA,CACxB;AACQD,uBAAA,QAAQC,gBAAU,QAAQ;AAAA,QACjC,wBAAwB;AAAA,QACxB,4BAA4B;AAAA,MAAA,CAC7B;AAAA,IAAA,CACF;AAED,aAAS,oBAAoB;AAClBD,oBAAAA,GAAA,OAAOC,gBAAU,QAAQ,0BAA0B;AAAA,QAC1D,aAAa;AAAA,QACb,YAAY,MAAM;AAAA,MAAA,CACnB;AAAA,IACH;AAEA,aAAS,4BAA4B;AACnCD,oBAAA,GAAS,OAAOC,cAAA,EAAU,QAAQ,8BAA8B,KAAK;AAAA,IACvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1MA,IAAIiB,mDAAO;;;;ACsBX,MAAA,eAAyB,MAAA;AACzB,MAAA,gBAA0B,MAAA;AAC1B,MAAA,cAAwB,MAAA;AACxB,MAAA,cAAwB,MAAA;;;;;;;;;;;;;;AAExB,UAAM,QAAQ;AAEd,UAAM,QAAQ;AASd,UAAM,iBAAiB1B,cAAA,IAAY,MAAM,eAAe,aAAa;AAC/D,UAAA,qBAAqBA,kBAAI,KAAK;AAC9B,UAAA,oBAAoBA,kBAAI,IAAI;AAC5B,UAAA,oBAAoBA,kBAAI,IAAI;AAElCiC,kBAAAA,YAAY,MAAM;AACE,wBAAA,SAAQ,+BAAO,iBAAgB;AAAA,IAAA,CAClD;AAEQzB,qBAAA,MAAMC,gBAAU,QAAQ;AAAA,MAC/B,6BAA6B,CAAC,SAAc;;AAC1C,YAAI,CAACY,iBAAA,mBAAkB,+BAAO,iBAAgB,gBAAgB;AAC5D,6BAAmB,QAAQ;AAC3B,4BAAkB,QAAQ;AAC1B;AAAA,QACF;AACA,YAAI,MAAM;AACR,6BAAmB,QAAQ;AAC3B,cAAIA,iCAAgB;AAClB,2BAAe,QAAQ;AACvBW,gCAAA,MAAAA,mBAAW;AAAA,UACb;AAAA,QAAA,OACK;AACL,6BAAmB,QAAQ;AAC3B,cAAIX,iCAAgB;AAClB,2BAAe,QAAQ,MAAM;AAClBW,4CAAAA,mBAAA,iBAAAA,mBAAc,MAAM,MAAM;AAAA,YAAA;AAAA,UACvC;AAAA,QACF;AAAA,MACF;AAAA,MACA,oBAAoB,CAAC,gBAAqB;;AACtB,0BAAA,QAAQJ,yBAAS,eAAe,OAAO,gBAAgB,cAAY,YAAO,KAAK,WAAW,MAAvB,mBAA0B,UAAS;AAAA,MAC1H;AAAA,IAAA,CACD;AAEK,UAAA,qBAAqB,CAAC,SAAc;;AACxCP,uBAAA,oBACGW,yBAAAA,mBAAW,WAAW;AAAA,QACvB,KAAK;AAAA,MAAA;AAEP,YAAM,sBAAsB,IAAI;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;AC9ElCN,oCAAA,iBAAO,YAAY;;;;ACYnB,MAAA,cAAwB,MAAA;AACxB,MAAA,cAAwB,MAAA;AACxB,MAAA,eAAyB,MAAA;;;;AAEnB,UAAA,oBAAoB1B,kBAAI,KAAK;AAC7B,UAAA,oBAAoBA,kBAAI,KAAK;AAC7B,UAAA,qBAAqBA,kBAAI,KAAK;AAE3BQ,qBAAA,MAAMC,gBAAU,KAAK;AAAA,MAC5B,uBAAuB,CAAC,SAAc;AACpC,YAAI,MAAM;AACR,4BAAkB,QAAQ;AAAA,QAAA,OACrB;AACL,4BAAkB,QAAQ;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,uBAAuB,CAAC,SAAc;AACpC,YAAI,MAAM;AACR,4BAAkB,QAAQ;AAAA,QAAA,OACrB;AACL,4BAAkB,QAAQ;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,uBAAuB,CAAC,SAAc;AACpC,YAAI,MAAM;AACR,6BAAmB,QAAQ;AAAA,QAAA,OACtB;AACL,6BAAmB,QAAQ;AAAA,QAC7B;AAAA,MACF;AAAA,IAAA,CACD;;;;;;;;;;;;;;;ACzCDiB,kCAAA,eAAO,YAAY;;;;AC+BnB,MAAA,YAAsB,MAAA;AACtB,MAAA,mBAA6B,MAAA;AAC7B,MAAA,qBAA+B,MAAA;AAC/B,MAAA,sBAAgC,MAAA;AAEhC,MAAA,SAAmB,MAAA;;;;;AAOnB,UAAM,QAAQ;AAER,UAAA,mBAAmB1B,kBAAI,CAAC;AAC9B,UAAM,YAAYA,cAAAA;AAClB,UAAM,yBAAyBA,cAAAA;AACzB,UAAA,SAASA,kBAAY,CAAC;AACtB,UAAA,SAASA,kBAAY,CAAC;AACtB,UAAA,2BAA2BA,kBAAa,IAAI;AAEzCQ,qBAAA,MAAMC,gBAAU,MAAM;AAAA,MAC7B,kBAAkB,CAAC,UAAkB;AACnC,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IAAA,CACD;AAEQD,qBAAA,MAAMC,gBAAU,QAAQ;AAAA,MAC/B,0BAA0B,CAAC,eAAwB;AACjD,iCAAyB,QAAQ,eAAe;AAAA,MAClD;AAAA,IAAA,CACD;AAEK,UAAA,2BAA2B,CAAC,mBAA2B;;AAC3DuB,0BAAAA,MAAAA,mBAAW,WAAW;AAAA,QACpB,KAAK;AAAA,MAAA;AAEP,YAAM,4BAA4B,cAAc;AAAA,IAAA;AAGlD,UAAM,gBAAgB,MAAM;;AAC1B,mDAAW,UAAX,mBAAkB;AAClB,6EAAwB,UAAxB,mBAA+B;AAAA,IAAc;AAG/C,UAAM,kBAAkB,MAAM;AACd;IAAA;AAGhBE,kBAAA,OAAO,aAAa;AAEd,UAAA,mBAAmB,CAAC,MAAW;AACnC,aAAO,QAAQ,EAAE,eAAe,CAAC,EAAE;AACnC,aAAO,QAAQ,EAAE,eAAe,CAAC,EAAE;AAAA,IAAA;AAG/B,UAAA,iBAAiB,CAAC,MAAW;AACjC,YAAM,IAAI,EAAE,eAAe,CAAC,EAAE;AAC9B,YAAM,IAAI,EAAE,eAAe,CAAC,EAAE;AAC9B,UAAI,OAAO;AACP,UAAA,IAAI,OAAO,QAAQ,MAAM,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI;AAErD,eAAA;AAAA,MACT,WAAW,IAAI,OAAO,QAAQ,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI;AAE7D,eAAA;AAAA,MACT;AACI,UAAA,IAAI,OAAO,QAAQ,MAAM,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI;AAErD,eAAA;AAAA,MACT,WAAW,IAAI,OAAO,QAAQ,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI;AAE7D,eAAA;AAAA,MACT;AAEI,UAAA,SAAS,UAAU,SAAS,MAAM;AACtB;MAChB;AAAA,IAAA;AAGI,UAAA,gBAAgB,CAAClC,SAAQ;AAC7BA,WAAI,QAAQ,uBAAuB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["TUIKit/components/TUIChat/index.vue","TUIKit/components/TUIChat/index.ts","TUIKit/components/TUIConversation/index.ts","TUIKit/components/TUISearch/index.vue","TUIKit/components/TUISearch/index.ts","TUIKit/components/TUIContact/index.vue","TUIKit/components/TUIContact/index.ts","TUIKit/components/TUIGroup/index.vue","TUIKit/components/TUIGroup/index.ts","TUIKit/components/TUIConversation/index.vue"],"sourcesContent":["\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
changeToolbarDisplayType('none')\"\r\n @toggleMultipleSelectMode=\"toggleMultipleSelectMode\"\r\n />\r\n \r\n {{ leaveGroupReasonText }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
0\r\n \"\r\n class=\"group-profile\"\r\n @click=\"handleGroup\"\r\n >\r\n {{ headerExtensionList[0].text }}\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n","import TUIChat from './index.vue';\r\nimport Server from './server';\r\n\r\nnew Server();\r\n\r\nexport default TUIChat;\r\n","import TUIConversation from \"./index.vue\";\r\nimport TUIConversationServer from \"./server\";\r\nnew TUIConversationServer();\r\n\r\nexport default TUIConversation;\r\n","\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n\r\n","import TUISearch from './index.vue';\r\nimport Server from './server';\r\nnew Server();\r\n\r\nexport default TUISearch;\r\n","\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n","import TUIContact from './index.vue';\r\nimport Server from './server';\r\nServer.getInstance();\r\n\r\nexport default TUIContact;\r\n","\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n\r\n","import TUIGroup from './index.vue';\r\nimport Server from './server';\r\n\r\nServer.getInstance();\r\n\r\nexport default TUIGroup;\r\n","\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n\r\n\r\n"],"names":["useCounterStore","ref","onLoad","initChat","uni","onUnload","logout","TUIChatConfig","onMounted","TUIStore","StoreName","onUnmounted","myitem","youritem","request","generateMsgId","isEnabledMessageReadReceiptGlobal","TUIChatEngine","OfflinePushInfoManager","TUIChatService","res","computed","isUniFrameWork","TUITranslateService","TUIConversationService","TUICore","TUIConstants","Server","TUIConversationServer","isPC","searchMessageTypeDefault","searchMessageTimeDefault","outsideClick","TUIGlobal","watchEffect","onHide"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA6HA,MAAA,aAAuB,MAAA;AACvB,MAAA,cAAwB,MAAA;AACxB,MAAA,eAAyB,MAAA;AACzB,MAAA,sBAAgC,MAAA;AAChC,MAAA,UAAoB,MAAA;AACpB,MAAA,sBAAgC,MAAA;;;;;AAahC,UAAM,UAAUA,eAAAA;AAEhB,QAAI,SAASC,cAAAA;AACb,QAAI,WAAWA,cAAAA;AACOA,sBAAI;AAC1BC,kBAAA,OAAO,CAAC,YAAY;AAClBC,8CAAA,SAAS,OAAO;AAChB,aAAO,QAAQ,KAAK,MAAM,QAAQ,MAAM;AACxCC,oBAAA,MAAI,MAAM,OAAM,8CAA6C,OAAO,KAAK;AACzE,eAAS,QAAQ,KAAK,MAAM,QAAQ,QAAQ;AAC5CA,oBAAA,MAAI,MAAM,OAAM,8CAA6C,SAAS,KAAK;AAC3E,cAAQ,OAAO,EAAE,UAAU,SAAS,MAAO,CAAA;AAC3C,iBAAW,MAAM;AACG,0BAAA,OAAO,OAAO,SAAS,KAAK;AAAA,SAC7C,GAAI;AAAA,IAAA,CACR;AAEDC,kBAAAA,SAAS,MAAM;AAENC,qDAAA,KAAK,EACT,KAAK,MAAM;AAAA,MAAA,CAEX,EACA,MAAM,MAAM;AAAA,MAAA,CAEZ;AAAA,IAAA,CACJ;AAGD,UAAM,QAAQ;AAER,UAAA,UAAUL,cAAAA,IAAI,MAAS;AACvB,UAAA,UAAUA,kBAAI,KAAK;AACnB,UAAA,eAAeA,kBAAI,KAAK;AAC9B,UAAM,mBAAmBA,cAAAA;AACzB,UAAM,wBAAwBA,cAAAA;AACxB,UAAA,uBAAuBA,kBAAI,KAAK;AAChC,UAAA,0BAA0BA,kBAAwB,MAAM;AAC9D,UAAM,kBAAkBA,cAAAA;AACxB,UAAM,iBAAiBA,cAAAA;AACjB,UAAA,sBAAsBA,kBAAqB,CAAA,CAAE;AAC7C,UAAA,gBAAgBM,4CAAc;AAEpCC,kBAAAA,UAAU,MAAM;AACLC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,qBAAqB;AAAA,MAAA,CACtB;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AACPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,qBAAqB;AAAA,MAAA,CACtB;AACK;IAAA,CACP;AAGD,QAAI,sBAAsBT,cAAAA;AAEjBQ,qBAAA,MAAMC,gBAAU,MAAM;AAAA,MAC7B,qBAAqB,CAAC,iBAAiB;AACrC,4BAAoB,QAAQ;AAAA,MAC9B;AAAA,IAAA,CACD;AAEQ,aAAA,kBAAkBE,SAAQC,WAAU;AACnCC,iCAAA;AAAA,QACN,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,OAAOD,UAAS;AAAA,UAChB,OAAOD,QAAO;AAAA,UACd,SAASC,UAAS;AAAA,UAClB,SAASD,QAAO;AAAA,UAChB,QAAQC,UAAS;AAAA,UACjB,UAAUA,UAAS;AAAA,UACnB,WAAWA,UAAS;AAAA,UACpB,WAAWD,QAAO;AAAA,UAClB,aAAaC,UAAS;AAAA,UACtB,aAAaD,QAAO;AAAA,UACpB,OAAOC,UAAS;AAAA,UAChB,OAAOD,QAAO;AAAA,QAChB;AAAA,QACA,UAAU;AAAA,MAAA,CACX,EAAE,KAAK,CAAC,QAAQ;;AACX,YAAA,IAAI,SAAS,KAAK;AACpBR,wBAAA,MAAI,MAAM,OAAM,8CAA6C,QAAQ,IAAI,IAAI;AAE7E,gBAAM,QAAQW,yBAAAA;AACd,gBAAM,UAAU;AAAA,YACd,MAAM,KAAK,UAAU;AAAA,cACnB,YAAY;AAAA,cACZ;AAAA,cACA,QAAQ,QAAQ,OAAO;AAAA,cACvB,OAAOF,UAAS;AAAA,cAChB,OAAOD,QAAO;AAAA,cACd,SAASC,UAAS;AAAA,cAClB,SAASD,QAAO;AAAA,cAChB,QAAQC,UAAS;AAAA,cACjB,UAAUA,UAAS;AAAA,cACnB,IAAG,IAAI,KAAK;AAAA,cACZ,MAAM;AAAA,cACN,YAAY;AAAA,YAAA,CACb;AAAA,YACD,aAAa;AAAA,YACb,WAAW;AAAA,UAAA;AAEb,gBAAM,UAAU;AAAA,YACd,MACE,sEAAqB,UAArB,mBAA4B,iBAA5B,mBAA0C,cAC1C,sEAAqB,UAArB,mBAA4B,gBAA5B,mBAAyC;AAAA,YAC3C,mBAAkB,gEAAqB,UAArB,mBAA4B;AAAA,YAC9C;AAAA,YACA,iBAAiBG,sCAAAA,kCAAkC;AAAA,UAAA;AAErD,gBAAM,8BAA8B;AAAA,YAClC,cAAc,oBAAoB;AAAA,YAClC,SAAS,QAAQ;AAAA,YACjB,aAAaC,cAAAA,GAAc,MAAM;AAAA,UAAA;AAEnC,gBAAM,qBAAqB;AAAA,YACzB,iBAAiBC,uDAAAA,uBAAuB,OAAO,2BAA2B;AAAA,UAAA;AAE5EC,wBAAA,GAAe,kBAAkB,SAAS,kBAAkB,EAAE,KAAK,CAACC,SAAQ;AACxDN,uCAAQ;AAAA,cACxB,KAAK;AAAA,cACL,QAAQ;AAAA,cACR,MAAM;AAAA,gBACJ,aAAa,KAAK,UAAUM,KAAI,KAAK,OAAO;AAAA,gBAC5C,OAAO;AAAA,cACT;AAAA,cACA,UAAU;AAAA,YAAA,CACX;AAAA,UAAA,CACF;AACDR,kBAAO,QAAQ;AACfC,oBAAS,QAAQ;AACjB,8BAAoB,QAAQ;AAAA,QAAA,OACvB;AACLT,wBAAAA,MAAI,UAAU;AAAA,YACZ,OAAO,IAAI;AAAA,YACX,MAAM;AAAA,YACN,UAAU;AAAA,UAAA,CACX;AAAA,QACH;AAAA,MAAA,CACD;AAAA,IACH;AAEM,UAAA,qBAAqBiB,cAAAA,SAAkB,MAAM;AAC1C,aAAAC,iBAAA,iBAAiB,wBAAwB,UAAU,SAAS;AAAA,IAAA,CACpE;AAEK,UAAA,uBAAuBD,cAAAA,SAAiB,MAAM;AAClD,UAAI,OAAO;AACX,cAAQ,iBAAiB,OAAO;AAAA,QAC9B,KAAK;AACI,iBAAAE,cAAA,GAAoB,EAAE,oBAAoB;AACjD;AAAA,QACF,KAAK;AACI,iBAAAA,cAAA,GAAoB,EAAE,iBAAiB;AAC9C;AAAA,QACF,KAAK;AACI,iBAAAA,cAAA,GAAoB,EAAE,iBAAiB;AAC9C;AAAA,QACF;AACS,iBAAAA,cAAA,GAAoB,EAAE,iBAAiB;AAC9C;AAAA,MACJ;AACO,aAAA;AAAA,IAAA,CACR;AAED,UAAM,QAAQ,MAAM;AAClBC,uBAAuB,mBAAmB,EAAE;AAAA,IAAA;AAGxC,UAAA,YAAY,CAAC,mBAA2B;AAC5C,YAAM,aAAa,cAAc;AAC3B;IAAA;AAGF,UAAA,cAAc,CAAC,aAAqB;;AACxB,4BAAA,UAAA,mBAAO,YAAY;AAAA,IAAQ;AAGvC,UAAA,eAAe,CAAC,SAAwB,SAAiB;;AACzD,UAAA,CAAC,WAAW,CAAC;AAAM;AACvB,cAAQ,MAAM;AAAA,QACZ,KAAK;AAEH;AAAA,QACF,KAAK;AAEH;AAAA,QACF,KAAK;AACC,eAAA,wCAAS,YAAT,mBAAkB,MAAM;AAC1B,qEAAiB,UAAjB,mBAAwB,QAAO,wCAAS,YAAT,mBAAkB;AAAA,UACnD;AACA;AAAA,MAGJ;AAAA,IAAA;AAGF,UAAM,cAAc,MAAM;AACJ,0BAAA,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,SAAS,QAAQ,MAAA,CAAO;AAAA,IAAA;AAS5E,aAAS,yBAAyB,MAA0B;AAC1D,8BAAwB,QAAQ,wBAAwB,UAAU,OAAO,SAAS;AAC9E,UAAA,wBAAwB,UAAU,UAAUF,iCAAgB;AAC9DlB,4BAAI,MAAM,kBAAkB;AAAA,MAC9B;AAAA,IACF;AAEA,aAAS,wBAAwB;;AAC/B,2BAAe,UAAf,mBAAsB;AAAA,IACxB;AAEA,aAAS,yBAAyB,SAAmB;AACnD,2BAAqB,QACnB,YAAY,SAAY,CAAC,qBAAqB,QAAQ;AAAA,IAC1D;AAEA,aAAS,sBAAsB;;AAC7B,2BAAe,UAAf,mBAAsB;AAAA,IACxB;AAEA,aAAS,yBAAyB;;AAChC,2BAAe,UAAf,mBAAsB;AAAA,IACxB;AAEA,aAAS,uBAAuB,cAAkC;AAC5D,WAAA,6CAAc,iBAAgB,GAAG;AACnC,4BAAoB,QAAQ;AAC5B,qBAAa,QAAQ;AAMrB,yBAAiB,QAAQ,6CAAc;AAAA,MAAA,OAClC;AACL,qBAAa,QAAQ;AACrB,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IACF;AAEA,aAAS,4BAA4B,cAAkC;AACrE,6BAAuB,YAAY;AAEnC,UAAI,CAAC,cAAc;AACjB;AAAA,MACF;AAEI,UAAA,sBAAsB,WAAU,6CAAc,iBAAgB;AAChE;AAAA,MACF;AAEA,cAAQ,QAAQ;AACZ,UAAA,mBAAmBa,cAAAA,GAAc,MAAM;AAC3C,YAAM,iBAAiB,aAAa;AACpC,UAAI,eAAe,WAAWA,cAAc,GAAA,MAAM,UAAU,GAAG;AAC7D,2BAAmBA,cAAAA,GAAc,MAAM;AACvC,gBAAQ,QAAQ;AAChB,gBAAQ,QAAQ,eAAe,QAAQA,cAAc,GAAA,MAAM,YAAY,EAAE;AAAA,MAC3E;AAEA,0BAAoB,QAAQ;AAC5B,2BAAqB,QAAQ;AAE7BV,kDAAc,YAAY,gBAAgB;AAElCkB,oBAAAA,EAAA;AAAA,QACNC,gBAAa,QAAQ,MAAM;AAAA,QAC3BA,gBAAa,QAAQ,cAAc;AAAA,QACnC,EAAE,SAAS,QAAQ,MAAM;AAAA,MAAA;AAG3BD,oBAAAA,EAAQ,YAAY;AAAA,QAClB,aAAaC,cAAa,EAAA,yBAAyB,QAAQ;AAAA,QAC3D,QAAQA,cAAAA,EAAa,yBAAyB,QAAQ,OAAO;AAAA,QAC7D,QAAQ,EAAE,eAA+B;AAAA,MAAA,CAC1C;AAED,UAAInB,iCAAAA,WAAc,YAAY,MAAMmB,cAAa,EAAA,QAAQ,KAAK,MAAM;AAClE,YACEnB,iCAAAA,WAAc,iBAAiBmB,cAAA,EAAa,QAAQ,QAAQ,UAAU,MAAM,MAC5E;AACAnB,sDAAc,SAAS,OAAO;AAC9B,gCAAsB,QAAQ;AAC9B;AAAA,QACF;AAAA,MACF;AAEA,UAAIA,iCAAAA,WAAc,YAAY,MAAMmB,cAAa,EAAA,QAAQ,KAAK,OAAO;AACnE,4BAAoB,QAAQD,cAAAA,EAAQ;AAAA,UAClCC,cAAAA,EAAa,QAAQ,UAAU,YAAY;AAAA,QAAA;AAAA,MAE/C;AACAjB,oBAAA,GAAS,OAAOC,cAAA,EAAU,QAAQ,sBAAsB,cAAc;AACtE,4BAAsB,QAAQ;AAAA,IAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9bA,IAAIiB,+CAAO;ACDX,IAAIC,+DAAsB;;;;ACwF1B,MAAA,cAAwB,MAAA;AACxB,MAAA,kBAA4B,MAAA;AAC5B,MAAA,eAAyB,MAAA;;;;;;;;;AAOzB,UAAM,QAAQ;AAUd,UAAM,kBAAkB3B,cAAAA;AAClB,UAAA,wBAAwBA,kBAAY,EAAE;AACtC,UAAA,kBAAkBA,kBAAa,KAAK;AAEpC,UAAA,6BAA6BA,kBAAaqB,iBAAAA,cAAc;AAE9D,UAAM,eAAeD,cAAA;AAAA,MACnB,MACE,CAACQ,iBAAA,SACI,MAAM,eAAe,YAAY,gBAAgB,SAClD,MAAM,eAAe,kBAAkB,2BAA2B;AAAA,IAAA;AAGpE,UAAA,kBAAkB,CAAC,eAA4B;AAC1CpB,oBAAAA,GAAA,OAAOC,gBAAU,QAAQ,2BAA2B;AAAA,QAC3D,OAAO;AAAA,QACP;AAAA,MAAA,CACD;AACQD,oBAAAA,GAAA,OAAOC,gBAAU,QAAQ,4BAA4B;AAAA,QAC5D,OAAOoB,oEAAyB,UAAU;AAAA,QAC1C;AAAA,MAAA,CACD;AACQrB,oBAAAA,GAAA,OAAOC,gBAAU,QAAQ,4BAA4B;AAAA,QAC5D,OAAOqB,2CAAA;AAAA,QACP;AAAA,MAAA,CACD;AAAA,IAAA;AAGH,aAAS,8BAA8B,gBAAwB;AAC7D,UAAI,CAACT,iBAAA,kBAAkB,sBAAsB,UAAU,gBAAgB;AAE3C;MAC5B;AACA,4BAAsB,QAAQ;AAAA,IAChC;AAEA,aAAS,+BAA+B,OAAyB;;AAC3D,WAAA,+BAAO,gBAAe,MAAM,YAAY;AAC1C,wBAAgB,QAAQ,+BAAO;AAE/B,aAAI,+BAAO,gBAAe,YAAY,gBAAgB,OAAO;AACvD,cAAAO,iBAAA,QAAQ,MAAM,aAAa;AAC7BG,0BAAAA,EAAa,OAAO;AAAA,cAClB,SAAS,gBAAgB;AAAA,cACzB,SAAS;AAAA,YAAA,CACV;AAAA,UACH;AAAA,QACF;AACI,aAAA,+BAAO,gBAAe,YAAYV,iCAAgB;AAEpD,gBAAM,eAAcW,yBAAAA,MAAAA,mBAAW,iBAAXA,mBAAyB,MAAM,MAAM;AAAA,UAAgB,MAAIA,yBAAA,MAAAA,mBAAW,iBAAXA,mBAAyB,MAAM,MAAM;AAAA,UAAA;AAAA,QACpH;AAAA,MACF;AAAA,IACF;AAEA,aAAS,mCAAmC,OAAgB;AAC/B,iCAAA,QAAQ,QAAQ,OAAO;AACvB,iCAAA,SAAS,gBAAgB,MAAM,UAAU;AAAA,IACtE;AAEAzB,kBAAAA,UAAU,MAAM;AAEd,OAAC,UAAU,cAAc,EAAE,QAAQ,CAAC,SAAiB;AACnD,wBAAgB,IAAmB;AAAA,MAAA,CACpC;AAEQC,uBAAA,MAAMC,gBAAU,MAAM;AAAA,QAC7B,uBAAuB;AAAA,MAAA,CACxB;AACQD,uBAAA,MAAMC,gBAAU,QAAQ;AAAA,QAC/B,wBAAwB;AAAA,QACxB,4BAA4B;AAAA,MAAA,CAC7B;AAAA,IAAA,CACF;AAEDC,kBAAAA,YAAY,MAAM;AAEPF,uBAAA,QAAQC,gBAAU,MAAM;AAAA,QAC/B,uBAAuB;AAAA,MAAA,CACxB;AACQD,uBAAA,QAAQC,gBAAU,QAAQ;AAAA,QACjC,wBAAwB;AAAA,QACxB,4BAA4B;AAAA,MAAA,CAC7B;AAAA,IAAA,CACF;AAED,aAAS,oBAAoB;AAClBD,oBAAAA,GAAA,OAAOC,gBAAU,QAAQ,0BAA0B;AAAA,QAC1D,aAAa;AAAA,QACb,YAAY,MAAM;AAAA,MAAA,CACnB;AAAA,IACH;AAEA,aAAS,4BAA4B;AACnCD,oBAAA,GAAS,OAAOC,cAAA,EAAU,QAAQ,8BAA8B,KAAK;AAAA,IACvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1MA,IAAIiB,mDAAO;;;;ACsBX,MAAA,eAAyB,MAAA;AACzB,MAAA,gBAA0B,MAAA;AAC1B,MAAA,cAAwB,MAAA;AACxB,MAAA,cAAwB,MAAA;;;;;;;;;;;;;;AAExB,UAAM,QAAQ;AAEd,UAAM,QAAQ;AASd,UAAM,iBAAiB1B,cAAA,IAAY,MAAM,eAAe,aAAa;AAC/D,UAAA,qBAAqBA,kBAAI,KAAK;AAC9B,UAAA,oBAAoBA,kBAAI,IAAI;AAC5B,UAAA,oBAAoBA,kBAAI,IAAI;AAElCiC,kBAAAA,YAAY,MAAM;AACE,wBAAA,SAAQ,+BAAO,iBAAgB;AAAA,IAAA,CAClD;AAEQzB,qBAAA,MAAMC,gBAAU,QAAQ;AAAA,MAC/B,6BAA6B,CAAC,SAAc;;AAC1C,YAAI,CAACY,iBAAA,mBAAkB,+BAAO,iBAAgB,gBAAgB;AAC5D,6BAAmB,QAAQ;AAC3B,4BAAkB,QAAQ;AAC1B;AAAA,QACF;AACA,YAAI,MAAM;AACR,6BAAmB,QAAQ;AAC3B,cAAIA,iCAAgB;AAClB,2BAAe,QAAQ;AACvBW,gCAAA,MAAAA,mBAAW;AAAA,UACb;AAAA,QAAA,OACK;AACL,6BAAmB,QAAQ;AAC3B,cAAIX,iCAAgB;AAClB,2BAAe,QAAQ,MAAM;AAClBW,4CAAAA,mBAAA,iBAAAA,mBAAc,MAAM,MAAM;AAAA,YAAA;AAAA,UACvC;AAAA,QACF;AAAA,MACF;AAAA,MACA,oBAAoB,CAAC,gBAAqB;;AACtB,0BAAA,QAAQJ,yBAAS,eAAe,OAAO,gBAAgB,cAAY,YAAO,KAAK,WAAW,MAAvB,mBAA0B,UAAS;AAAA,MAC1H;AAAA,IAAA,CACD;AAEK,UAAA,qBAAqB,CAAC,SAAc;;AACxCP,uBAAA,oBACGW,yBAAAA,mBAAW,WAAW;AAAA,QACvB,KAAK;AAAA,MAAA;AAEP,YAAM,sBAAsB,IAAI;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;AC9ElCN,oCAAA,iBAAO,YAAY;;;;ACYnB,MAAA,cAAwB,MAAA;AACxB,MAAA,cAAwB,MAAA;AACxB,MAAA,eAAyB,MAAA;;;;AAEnB,UAAA,oBAAoB1B,kBAAI,KAAK;AAC7B,UAAA,oBAAoBA,kBAAI,KAAK;AAC7B,UAAA,qBAAqBA,kBAAI,KAAK;AAE3BQ,qBAAA,MAAMC,gBAAU,KAAK;AAAA,MAC5B,uBAAuB,CAAC,SAAc;AACpC,YAAI,MAAM;AACR,4BAAkB,QAAQ;AAAA,QAAA,OACrB;AACL,4BAAkB,QAAQ;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,uBAAuB,CAAC,SAAc;AACpC,YAAI,MAAM;AACR,4BAAkB,QAAQ;AAAA,QAAA,OACrB;AACL,4BAAkB,QAAQ;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,uBAAuB,CAAC,SAAc;AACpC,YAAI,MAAM;AACR,6BAAmB,QAAQ;AAAA,QAAA,OACtB;AACL,6BAAmB,QAAQ;AAAA,QAC7B;AAAA,MACF;AAAA,IAAA,CACD;;;;;;;;;;;;;;;ACzCDiB,kCAAA,eAAO,YAAY;;;;AC+BnB,MAAA,YAAsB,MAAA;AACtB,MAAA,mBAA6B,MAAA;AAC7B,MAAA,qBAA+B,MAAA;AAC/B,MAAA,sBAAgC,MAAA;AAEhC,MAAA,SAAmB,MAAA;;;;;AAOnB,UAAM,QAAQ;AAER,UAAA,mBAAmB1B,kBAAI,CAAC;AAC9B,UAAM,YAAYA,cAAAA;AAClB,UAAM,yBAAyBA,cAAAA;AACzB,UAAA,SAASA,kBAAY,CAAC;AACtB,UAAA,SAASA,kBAAY,CAAC;AACtB,UAAA,2BAA2BA,kBAAa,IAAI;AAEzCQ,qBAAA,MAAMC,gBAAU,MAAM;AAAA,MAC7B,kBAAkB,CAAC,UAAkB;AACnC,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IAAA,CACD;AAEQD,qBAAA,MAAMC,gBAAU,QAAQ;AAAA,MAC/B,0BAA0B,CAAC,eAAwB;AACjD,iCAAyB,QAAQ,eAAe;AAAA,MAClD;AAAA,IAAA,CACD;AAEK,UAAA,2BAA2B,CAAC,mBAA2B;;AAC3DuB,0BAAAA,MAAAA,mBAAW,WAAW;AAAA,QACpB,KAAK;AAAA,MAAA;AAEP,YAAM,4BAA4B,cAAc;AAAA,IAAA;AAGlD,UAAM,gBAAgB,MAAM;;AAC1B,mDAAW,UAAX,mBAAkB;AAClB,6EAAwB,UAAxB,mBAA+B;AAAA,IAAc;AAG/C,UAAM,kBAAkB,MAAM;AACd;IAAA;AAGhBE,kBAAA,OAAO,aAAa;AAEd,UAAA,mBAAmB,CAAC,MAAW;AACnC,aAAO,QAAQ,EAAE,eAAe,CAAC,EAAE;AACnC,aAAO,QAAQ,EAAE,eAAe,CAAC,EAAE;AAAA,IAAA;AAG/B,UAAA,iBAAiB,CAAC,MAAW;AACjC,YAAM,IAAI,EAAE,eAAe,CAAC,EAAE;AAC9B,YAAM,IAAI,EAAE,eAAe,CAAC,EAAE;AAC9B,UAAI,OAAO;AACP,UAAA,IAAI,OAAO,QAAQ,MAAM,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI;AAErD,eAAA;AAAA,MACT,WAAW,IAAI,OAAO,QAAQ,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI;AAE7D,eAAA;AAAA,MACT;AACI,UAAA,IAAI,OAAO,QAAQ,MAAM,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI;AAErD,eAAA;AAAA,MACT,WAAW,IAAI,OAAO,QAAQ,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI;AAE7D,eAAA;AAAA,MACT;AAEI,UAAA,SAAS,UAAU,SAAS,MAAM;AACtB;MAChB;AAAA,IAAA;AAGI,UAAA,gBAAgB,CAAClC,SAAQ;AAC7BA,WAAI,QAAQ,uBAAuB;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
index eb8a3cf..453ccb4 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
@@ -1 +1 @@
-{"version":3,"file":"vendor.js","sources":["../../HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","../../HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-shared/dist/uni-shared.es.js","../../HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-vue/dist/vue.runtime.esm.js","../../HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.api.esm.js","../../HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/dist/mp.esm.js","../../HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.mp.esm.js","../../HBuilderX/plugins/uniapp-cli-vite/node_modules/vue-demi/lib/index.mjs","../../HBuilderX/plugins/uniapp-cli-vite/node_modules/pinia/dist/pinia.mjs","node_modules/@tencentcloud/chat/index.js","node_modules/tim-upload-plugin/index.js","node_modules/tim-profanity-filter-plugin/index.js","node_modules/@tencentcloud/tui-core/index.js","node_modules/cos-wx-sdk-v5/dist/cos-wx-sdk-v5.min.js","node_modules/@tencentcloud/chat-uikit-engine/index.js","node_modules/@tencentcloud/universal-api/index.js","../../HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-app/dist/uni-app.es.js","node_modules/dayjs/dayjs.min.js","node_modules/dayjs/plugin/localeData.js","node_modules/dayjs/plugin/isSameOrAfter.js","node_modules/dayjs/plugin/isSameOrBefore.js","node_modules/dayjs/locale/zh-cn.js","node_modules/@vue/composition-api/dist/vue-composition-api.mjs","node_modules/marked/lib/marked.esm.js"],"sourcesContent":["/**\n* @vue/shared v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nfunction makeMap(str, expectsLowerCase) {\n const set = new Set(str.split(\",\"));\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"HOISTED\": -1,\n \"-1\": \"HOISTED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n // ;[locale, messages] = [\n // messages as unknown as string,\n // locale as unknown as LocaleMessages,\n // ]\n // 暂不使用数组解构,uts编译器暂未支持。\n const options = [\n messages,\n locale,\n ];\n locale = options[0];\n messages = options[1];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","import { isHTMLTag, isSVGTag, isVoidTag, isString, isFunction, isPlainObject, hyphenate, camelize, normalizeStyle as normalizeStyle$1, parseStringStyle, isArray, normalizeClass as normalizeClass$1, extend, capitalize } from '@vue/shared';\n\nconst BUILT_IN_TAG_NAMES = [\n 'ad',\n 'ad-content-page',\n 'ad-draw',\n 'audio',\n 'button',\n 'camera',\n 'canvas',\n 'checkbox',\n 'checkbox-group',\n 'cover-image',\n 'cover-view',\n 'editor',\n 'form',\n 'functional-page-navigator',\n 'icon',\n 'image',\n 'input',\n 'label',\n 'live-player',\n 'live-pusher',\n 'map',\n 'movable-area',\n 'movable-view',\n 'navigator',\n 'official-account',\n 'open-data',\n 'picker',\n 'picker-view',\n 'picker-view-column',\n 'progress',\n 'radio',\n 'radio-group',\n 'rich-text',\n 'scroll-view',\n 'slider',\n 'swiper',\n 'swiper-item',\n 'switch',\n 'text',\n 'textarea',\n 'video',\n 'view',\n 'web-view',\n 'location-picker',\n 'location-view',\n];\nconst BUILT_IN_TAGS = BUILT_IN_TAG_NAMES.map((tag) => 'uni-' + tag);\nconst TAGS = [\n 'app',\n 'layout',\n 'content',\n 'main',\n 'top-window',\n 'left-window',\n 'right-window',\n 'tabbar',\n 'page',\n 'page-head',\n 'page-wrapper',\n 'page-body',\n 'page-refresh',\n 'actionsheet',\n 'modal',\n 'toast',\n 'resize-sensor',\n 'shadow-root',\n].map((tag) => 'uni-' + tag);\nconst NVUE_BUILT_IN_TAGS = [\n 'svg',\n 'view',\n 'a',\n 'div',\n 'img',\n 'image',\n 'text',\n 'span',\n 'input',\n 'textarea',\n 'spinner',\n 'select',\n // slider 被自定义 u-slider 替代\n // 'slider',\n 'slider-neighbor',\n 'indicator',\n 'canvas',\n 'list',\n 'cell',\n 'header',\n 'loading',\n 'loading-indicator',\n 'refresh',\n 'scrollable',\n 'scroller',\n 'video',\n 'web',\n 'embed',\n 'tabbar',\n 'tabheader',\n 'datepicker',\n 'timepicker',\n 'marquee',\n 'countdown',\n 'dc-switch',\n 'waterfall',\n 'richtext',\n 'recycle-list',\n 'u-scalable',\n 'barcode',\n 'gcanvas',\n];\nconst UVUE_BUILT_IN_TAGS = [\n 'ad',\n 'ad-content-page',\n 'ad-draw',\n 'native-view',\n 'loading-indicator',\n 'list-view',\n 'list-item',\n 'swiper',\n 'swiper-item',\n 'rich-text',\n 'sticky-view',\n 'sticky-header',\n 'sticky-section',\n // 自定义\n 'uni-slider',\n // 原生实现\n 'button',\n 'nested-scroll-header',\n 'nested-scroll-body',\n 'waterflow',\n 'flow-item',\n 'share-element',\n 'cover-view',\n 'cover-image',\n];\nconst UVUE_WEB_BUILT_IN_TAGS = [\n 'list-view',\n 'list-item',\n 'sticky-section',\n 'sticky-header',\n 'cloud-db-element',\n].map((tag) => 'uni-' + tag);\nconst UVUE_IOS_BUILT_IN_TAGS = [\n 'scroll-view',\n 'web-view',\n 'slider',\n 'form',\n 'switch',\n];\nconst UVUE_HARMONY_BUILT_IN_TAGS = [\n // TODO 列出完整列表\n ...BUILT_IN_TAG_NAMES,\n 'volume-panel',\n];\nconst NVUE_U_BUILT_IN_TAGS = [\n 'u-text',\n 'u-image',\n 'u-input',\n 'u-textarea',\n 'u-video',\n 'u-web-view',\n 'u-slider',\n 'u-ad',\n 'u-ad-draw',\n 'u-rich-text',\n];\nconst UNI_UI_CONFLICT_TAGS = ['list-item'].map((tag) => 'uni-' + tag);\nfunction isBuiltInComponent(tag) {\n if (UNI_UI_CONFLICT_TAGS.indexOf(tag) !== -1) {\n return false;\n }\n // h5 平台会被转换为 v-uni-\n const realTag = 'uni-' + tag.replace('v-uni-', '');\n // TODO 区分x和非x\n return (BUILT_IN_TAGS.indexOf(realTag) !== -1 ||\n UVUE_WEB_BUILT_IN_TAGS.indexOf(realTag) !== -1);\n}\nfunction isH5CustomElement(tag, isX = false) {\n if (isX && UVUE_WEB_BUILT_IN_TAGS.indexOf(tag) !== -1) {\n return true;\n }\n return TAGS.indexOf(tag) !== -1 || BUILT_IN_TAGS.indexOf(tag) !== -1;\n}\nfunction isUniXElement(name) {\n return /^I?Uni.*Element(?:Impl)?$/.test(name);\n}\nfunction isH5NativeTag(tag) {\n return (tag !== 'head' &&\n (isHTMLTag(tag) || isSVGTag(tag)) &&\n !isBuiltInComponent(tag));\n}\nfunction isAppNativeTag(tag) {\n return isHTMLTag(tag) || isSVGTag(tag) || isBuiltInComponent(tag);\n}\nconst NVUE_CUSTOM_COMPONENTS = [\n 'ad',\n 'ad-draw',\n 'button',\n 'checkbox-group',\n 'checkbox',\n 'form',\n 'icon',\n 'label',\n 'movable-area',\n 'movable-view',\n 'navigator',\n 'picker',\n 'progress',\n 'radio-group',\n 'radio',\n 'rich-text',\n 'swiper-item',\n 'swiper',\n 'switch',\n 'slider',\n 'picker-view',\n 'picker-view-column',\n];\n// 内置的easycom组件\nconst UVUE_BUILT_IN_EASY_COMPONENTS = ['map', 'camera'];\nfunction isAppUVueBuiltInEasyComponent(tag) {\n return UVUE_BUILT_IN_EASY_COMPONENTS.includes(tag);\n}\n// 主要是指前端实现的组件列表\nconst UVUE_CUSTOM_COMPONENTS = [\n ...NVUE_CUSTOM_COMPONENTS,\n ...UVUE_BUILT_IN_EASY_COMPONENTS,\n];\nfunction isAppUVueNativeTag(tag) {\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_CUSTOM_COMPONENTS.includes(tag)) {\n return false;\n }\n if (isBuiltInComponent(tag)) {\n return true;\n }\n // u-text,u-video...\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppIOSUVueNativeTag(tag) {\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_IOS_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppHarmonyUVueNativeTag(tag) {\n // video 目前是easycom实现的\n if (tag === 'video' || tag === 'map') {\n return false;\n }\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_HARMONY_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppNVueNativeTag(tag) {\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (NVUE_CUSTOM_COMPONENTS.includes(tag)) {\n return false;\n }\n if (isBuiltInComponent(tag)) {\n return true;\n }\n // u-text,u-video...\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isMiniProgramNativeTag(tag) {\n return isBuiltInComponent(tag);\n}\nfunction isMiniProgramUVueNativeTag(tag) {\n // 小程序平台内置的自定义元素,会被转换为 view\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n return isBuiltInComponent(tag);\n}\nfunction createIsCustomElement(tags = []) {\n return function isCustomElement(tag) {\n return tags.includes(tag);\n };\n}\nfunction isComponentTag(tag) {\n return tag[0].toLowerCase() + tag.slice(1) === 'component';\n}\nconst COMPONENT_SELECTOR_PREFIX = 'uni-';\nconst COMPONENT_PREFIX = 'v-' + COMPONENT_SELECTOR_PREFIX;\n// TODO 是否还存在其他需要特殊处理的 void 标签?\nconst APP_VOID_TAGS = ['textarea'];\nfunction isAppVoidTag(tag) {\n return APP_VOID_TAGS.includes(tag) || isVoidTag(tag);\n}\n\nconst LINEFEED = '\\n';\nconst NAVBAR_HEIGHT = 44;\nconst TABBAR_HEIGHT = 50;\nconst ON_REACH_BOTTOM_DISTANCE = 50;\nconst RESPONSIVE_MIN_WIDTH = 768;\nconst UNI_STORAGE_LOCALE = 'UNI_LOCALE';\n// quickapp-webview 不能使用 default 作为插槽名称\nconst SLOT_DEFAULT_NAME = 'd';\nconst COMPONENT_NAME_PREFIX = 'VUni';\nconst I18N_JSON_DELIMITERS = ['%', '%'];\nconst PRIMARY_COLOR = '#007aff';\nconst SELECTED_COLOR = '#0062cc'; // 选中的颜色,如选项卡默认的选中颜色\nconst BACKGROUND_COLOR = '#f7f7f7'; // 背景色,如标题栏默认背景色\nconst UNI_SSR = '__uniSSR';\nconst UNI_SSR_TITLE = 'title';\nconst UNI_SSR_STORE = 'store';\nconst UNI_SSR_DATA = 'data';\nconst UNI_SSR_GLOBAL_DATA = 'globalData';\nconst SCHEME_RE = /^([a-z-]+:)?\\/\\//i;\nconst DATA_RE = /^data:.*,.*/;\nconst WEB_INVOKE_APPSERVICE = 'WEB_INVOKE_APPSERVICE';\nconst WXS_PROTOCOL = 'wxs://';\nconst JSON_PROTOCOL = 'json://';\nconst WXS_MODULES = 'wxsModules';\nconst RENDERJS_MODULES = 'renderjsModules';\n// lifecycle\n// App and Page\nconst ON_SHOW = 'onShow';\nconst ON_HIDE = 'onHide';\n//App\nconst ON_LAUNCH = 'onLaunch';\nconst ON_ERROR = 'onError';\nconst ON_THEME_CHANGE = 'onThemeChange';\nconst OFF_THEME_CHANGE = 'offThemeChange';\nconst ON_HOST_THEME_CHANGE = 'onHostThemeChange';\nconst OFF_HOST_THEME_CHANGE = 'offHostThemeChange';\nconst ON_KEYBOARD_HEIGHT_CHANGE = 'onKeyboardHeightChange';\nconst ON_PAGE_NOT_FOUND = 'onPageNotFound';\nconst ON_UNHANDLE_REJECTION = 'onUnhandledRejection';\nconst ON_EXIT = 'onExit';\n//Page\nconst ON_LOAD = 'onLoad';\nconst ON_READY = 'onReady';\nconst ON_UNLOAD = 'onUnload';\n// 百度特有\nconst ON_INIT = 'onInit';\n// 微信特有\nconst ON_SAVE_EXIT_STATE = 'onSaveExitState';\nconst ON_RESIZE = 'onResize';\nconst ON_BACK_PRESS = 'onBackPress';\nconst ON_PAGE_SCROLL = 'onPageScroll';\nconst ON_TAB_ITEM_TAP = 'onTabItemTap';\nconst ON_REACH_BOTTOM = 'onReachBottom';\nconst ON_PULL_DOWN_REFRESH = 'onPullDownRefresh';\nconst ON_SHARE_TIMELINE = 'onShareTimeline';\nconst ON_SHARE_CHAT = 'onShareChat'; // xhs-share\nconst ON_ADD_TO_FAVORITES = 'onAddToFavorites';\nconst ON_SHARE_APP_MESSAGE = 'onShareAppMessage';\n// navigationBar\nconst ON_NAVIGATION_BAR_BUTTON_TAP = 'onNavigationBarButtonTap';\nconst ON_NAVIGATION_BAR_CHANGE = 'onNavigationBarChange';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = 'onNavigationBarSearchInputClicked';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = 'onNavigationBarSearchInputChanged';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = 'onNavigationBarSearchInputConfirmed';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = 'onNavigationBarSearchInputFocusChanged';\n// framework\nconst ON_APP_ENTER_FOREGROUND = 'onAppEnterForeground';\nconst ON_APP_ENTER_BACKGROUND = 'onAppEnterBackground';\nconst ON_WEB_INVOKE_APP_SERVICE = 'onWebInvokeAppService';\nconst ON_WXS_INVOKE_CALL_METHOD = 'onWxsInvokeCallMethod';\n// mergeVirtualHostAttributes\nconst VIRTUAL_HOST_STYLE = 'virtualHostStyle';\nconst VIRTUAL_HOST_CLASS = 'virtualHostClass';\nconst VIRTUAL_HOST_HIDDEN = 'virtualHostHidden';\nconst VIRTUAL_HOST_ID = 'virtualHostId';\n\nfunction cache(fn) {\n const cache = Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nfunction cacheStringFunction(fn) {\n return cache(fn);\n}\nfunction getLen(str = '') {\n return ('' + str).replace(/[^\\x00-\\xff]/g, '**').length;\n}\nfunction hasLeadingSlash(str) {\n return str.indexOf('/') === 0;\n}\nfunction addLeadingSlash(str) {\n return hasLeadingSlash(str) ? str : '/' + str;\n}\nfunction removeLeadingSlash(str) {\n return hasLeadingSlash(str) ? str.slice(1) : str;\n}\nconst invokeArrayFns = (fns, arg) => {\n let ret;\n for (let i = 0; i < fns.length; i++) {\n ret = fns[i](arg);\n }\n return ret;\n};\nfunction updateElementStyle(element, styles) {\n for (const attrName in styles) {\n element.style[attrName] = styles[attrName];\n }\n}\nfunction once(fn, ctx = null) {\n let res;\n return ((...args) => {\n if (fn) {\n res = fn.apply(ctx, args);\n fn = null;\n }\n return res;\n });\n}\nconst sanitise = (val) => (val && JSON.parse(JSON.stringify(val))) || val;\nconst _completeValue = (value) => (value > 9 ? value : '0' + value);\nfunction formatDateTime({ date = new Date(), mode = 'date' }) {\n if (mode === 'time') {\n return (_completeValue(date.getHours()) + ':' + _completeValue(date.getMinutes()));\n }\n else {\n return (date.getFullYear() +\n '-' +\n _completeValue(date.getMonth() + 1) +\n '-' +\n _completeValue(date.getDate()));\n }\n}\nfunction callOptions(options, data) {\n options = options || {};\n if (isString(data)) {\n data = {\n errMsg: data,\n };\n }\n if (/:ok$/.test(data.errMsg)) {\n if (isFunction(options.success)) {\n options.success(data);\n }\n }\n else {\n if (isFunction(options.fail)) {\n options.fail(data);\n }\n }\n if (isFunction(options.complete)) {\n options.complete(data);\n }\n}\nfunction getValueByDataPath(obj, path) {\n if (!isString(path)) {\n return;\n }\n path = path.replace(/\\[(\\d+)\\]/g, '.$1');\n const parts = path.split('.');\n let key = parts[0];\n if (!obj) {\n obj = {};\n }\n if (parts.length === 1) {\n return obj[key];\n }\n return getValueByDataPath(obj[key], parts.slice(1).join('.'));\n}\nfunction sortObject(obj) {\n let sortObj = {};\n if (isPlainObject(obj)) {\n Object.keys(obj)\n .sort()\n .forEach((key) => {\n const _key = key;\n sortObj[_key] = obj[_key];\n });\n }\n return !Object.keys(sortObj) ? obj : sortObj;\n}\nfunction getGlobalOnce() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n // worker\n if (typeof self !== 'undefined') {\n return self;\n }\n // browser\n if (typeof window !== 'undefined') {\n return window;\n }\n // nodejs\n // if (typeof global !== 'undefined') {\n // return global\n // }\n function g() {\n return this;\n }\n if (typeof g() !== 'undefined') {\n return g();\n }\n return (function () {\n return new Function('return this')();\n })();\n}\nlet g = undefined;\nfunction getGlobal() {\n if (g) {\n return g;\n }\n g = getGlobalOnce();\n return g;\n}\n\nfunction isComponentInternalInstance(vm) {\n return !!vm.appContext;\n}\nfunction resolveComponentInstance(instance) {\n return (instance &&\n (isComponentInternalInstance(instance) ? instance.proxy : instance));\n}\nfunction resolveOwnerVm(vm) {\n if (!vm) {\n return;\n }\n let componentName = vm.type.name;\n while (componentName && isBuiltInComponent(hyphenate(componentName))) {\n // ownerInstance 内置组件需要使用父 vm\n vm = vm.parent;\n componentName = vm.type.name;\n }\n return vm.proxy;\n}\nfunction isElement(el) {\n // Element\n return el.nodeType === 1;\n}\nfunction resolveOwnerEl(instance, multi = false) {\n const { vnode } = instance;\n if (isElement(vnode.el)) {\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\n }\n const { subTree } = instance;\n // ShapeFlags.ARRAY_CHILDREN = 1<<4\n if (subTree.shapeFlag & 16) {\n const elemVNodes = subTree.children.filter((vnode) => vnode.el && isElement(vnode.el));\n if (elemVNodes.length > 0) {\n if (multi) {\n return elemVNodes.map((node) => node.el);\n }\n return elemVNodes[0].el;\n }\n }\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\n}\nfunction dynamicSlotName(name) {\n return name === 'default' ? SLOT_DEFAULT_NAME : name;\n}\nconst customizeRE = /:/g;\nfunction customizeEvent(str) {\n return camelize(str.replace(customizeRE, '-'));\n}\nfunction normalizeStyle(value) {\n const g = getGlobal();\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\n const styleObject = {};\n g.UTSJSONObject.keys(value).forEach((key) => {\n styleObject[key] = value[key];\n });\n return normalizeStyle$1(styleObject);\n }\n else if (value instanceof Map) {\n const styleObject = {};\n value.forEach((value, key) => {\n styleObject[key] = value;\n });\n return normalizeStyle$1(styleObject);\n }\n else if (isString(value)) {\n return parseStringStyle(value);\n }\n else if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item)\n ? parseStringStyle(item)\n : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n }\n else {\n return normalizeStyle$1(value);\n }\n}\nfunction normalizeClass(value) {\n let res = '';\n const g = getGlobal();\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\n g.UTSJSONObject.keys(value).forEach((key) => {\n if (value[key]) {\n res += key + ' ';\n }\n });\n }\n else if (value instanceof Map) {\n value.forEach((value, key) => {\n if (value) {\n res += key + ' ';\n }\n });\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + ' ';\n }\n }\n }\n else {\n res = normalizeClass$1(value);\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nlet lastLogTime = 0;\nfunction formatLog(module, ...args) {\n const now = Date.now();\n const diff = lastLogTime ? now - lastLogTime : 0;\n lastLogTime = now;\n return `[${now}][${diff}ms][${module}]:${args\n .map((arg) => JSON.stringify(arg))\n .join(' ')}`;\n}\n\nfunction formatKey(key) {\n return camelize(key.substring(5));\n}\n// question/139181,增加副作用,避免 initCustomDataset 在 build 下被 tree-shaking\nconst initCustomDatasetOnce = /*#__PURE__*/ once((isBuiltInElement) => {\n isBuiltInElement =\n isBuiltInElement || ((el) => el.tagName.startsWith('UNI-'));\n const prototype = HTMLElement.prototype;\n const setAttribute = prototype.setAttribute;\n prototype.setAttribute = function (key, value) {\n if (key.startsWith('data-') && isBuiltInElement(this)) {\n const dataset = this.__uniDataset ||\n (this.__uniDataset = {});\n dataset[formatKey(key)] = value;\n }\n setAttribute.call(this, key, value);\n };\n const removeAttribute = prototype.removeAttribute;\n prototype.removeAttribute = function (key) {\n if (this.__uniDataset &&\n key.startsWith('data-') &&\n isBuiltInElement(this)) {\n delete this.__uniDataset[formatKey(key)];\n }\n removeAttribute.call(this, key);\n };\n});\nfunction getCustomDataset(el) {\n return extend({}, el.dataset, el.__uniDataset);\n}\n\nconst unitRE = new RegExp(`\"[^\"]+\"|'[^']+'|url\\\\([^)]+\\\\)|(\\\\d*\\\\.?\\\\d+)[r|u]px`, 'g');\nfunction toFixed(number, precision) {\n const multiplier = Math.pow(10, precision + 1);\n const wholeNumber = Math.floor(number * multiplier);\n return (Math.round(wholeNumber / 10) * 10) / multiplier;\n}\nconst defaultRpx2Unit = {\n unit: 'rem',\n unitRatio: 10 / 320,\n unitPrecision: 5,\n};\nconst defaultMiniProgramRpx2Unit = {\n unit: 'rpx',\n unitRatio: 1,\n unitPrecision: 1,\n};\nconst defaultNVueRpx2Unit = defaultMiniProgramRpx2Unit;\nfunction createRpx2Unit(unit, unitRatio, unitPrecision) {\n // ignore: rpxCalcIncludeWidth\n return (val) => val.replace(unitRE, (m, $1) => {\n if (!$1) {\n return m;\n }\n if (unitRatio === 1) {\n return `${$1}${unit}`;\n }\n const value = toFixed(parseFloat($1) * unitRatio, unitPrecision);\n return value === 0 ? '0' : `${value}${unit}`;\n });\n}\n\nfunction passive(passive) {\n return { passive };\n}\nfunction normalizeDataset(el) {\n // TODO\n return JSON.parse(JSON.stringify(el.dataset || {}));\n}\nfunction normalizeTarget(el) {\n const { id, offsetTop, offsetLeft } = el;\n return {\n id,\n dataset: getCustomDataset(el),\n offsetTop,\n offsetLeft,\n };\n}\nfunction addFont(family, source, desc) {\n const fonts = document.fonts;\n if (fonts) {\n const fontFace = new FontFace(family, source, desc);\n return fontFace.load().then(() => {\n fonts.add && fonts.add(fontFace);\n });\n }\n return new Promise((resolve) => {\n const style = document.createElement('style');\n const values = [];\n if (desc) {\n const { style, weight, stretch, unicodeRange, variant, featureSettings } = desc;\n style && values.push(`font-style:${style}`);\n weight && values.push(`font-weight:${weight}`);\n stretch && values.push(`font-stretch:${stretch}`);\n unicodeRange && values.push(`unicode-range:${unicodeRange}`);\n variant && values.push(`font-variant:${variant}`);\n featureSettings && values.push(`font-feature-settings:${featureSettings}`);\n }\n style.innerText = `@font-face{font-family:\"${family}\";src:${source};${values.join(';')}}`;\n document.head.appendChild(style);\n resolve();\n });\n}\nfunction scrollTo(scrollTop, duration, isH5) {\n if (isString(scrollTop)) {\n const el = document.querySelector(scrollTop);\n if (el) {\n const { top } = el.getBoundingClientRect();\n scrollTop = top + window.pageYOffset;\n // 如果存在,减去 高度\n const pageHeader = document.querySelector('uni-page-head');\n if (pageHeader) {\n scrollTop -= pageHeader.offsetHeight;\n }\n }\n }\n if (scrollTop < 0) {\n scrollTop = 0;\n }\n const documentElement = document.documentElement;\n const { clientHeight, scrollHeight } = documentElement;\n scrollTop = Math.min(scrollTop, scrollHeight - clientHeight);\n if (duration === 0) {\n // 部分浏览器(比如微信)中 scrollTop 的值需要通过 document.body 来控制\n documentElement.scrollTop = document.body.scrollTop = scrollTop;\n return;\n }\n if (window.scrollY === scrollTop) {\n return;\n }\n const scrollTo = (duration) => {\n if (duration <= 0) {\n window.scrollTo(0, scrollTop);\n return;\n }\n const distaince = scrollTop - window.scrollY;\n requestAnimationFrame(function () {\n window.scrollTo(0, window.scrollY + (distaince / duration) * 10);\n scrollTo(duration - 10);\n });\n };\n scrollTo(duration);\n}\n\nconst encode = encodeURIComponent;\nfunction stringifyQuery(obj, encodeStr = encode) {\n const res = obj\n ? Object.keys(obj)\n .map((key) => {\n let val = obj[key];\n if (typeof val === undefined || val === null) {\n val = '';\n }\n else if (isPlainObject(val)) {\n val = JSON.stringify(val);\n }\n return encodeStr(key) + '=' + encodeStr(val);\n })\n .filter((x) => x.length > 0)\n .join('&')\n : null;\n return res ? `?${res}` : '';\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) { }\n return '' + text;\n}\nfunction decodedQuery(query = {}) {\n const decodedQuery = {};\n Object.keys(query).forEach((name) => {\n try {\n decodedQuery[name] = decode(query[name]);\n }\n catch (e) {\n decodedQuery[name] = query[name];\n }\n });\n return decodedQuery;\n}\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * https://github.com/vuejs/vue-router-next/blob/master/src/query.ts\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n let eqPos = searchParam.indexOf('=');\n let key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n let value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n\nfunction parseUrl(url) {\n const [path, querystring] = url.split('?', 2);\n return {\n path,\n query: parseQuery(querystring || ''),\n };\n}\n\nfunction parseNVueDataset(attr) {\n const dataset = {};\n if (attr) {\n Object.keys(attr).forEach((key) => {\n if (key.indexOf('data-') === 0) {\n dataset[key.replace('data-', '')] = attr[key];\n }\n });\n }\n return dataset;\n}\n\nfunction plusReady(callback) {\n if (!isFunction(callback)) {\n return;\n }\n if (window.plus) {\n return callback();\n }\n document.addEventListener('plusready', callback);\n}\n\nclass DOMException extends Error {\n constructor(message) {\n super(message);\n this.name = 'DOMException';\n }\n}\n\nfunction normalizeEventType(type, options) {\n if (options) {\n if (options.capture) {\n type += 'Capture';\n }\n if (options.once) {\n type += 'Once';\n }\n if (options.passive) {\n type += 'Passive';\n }\n }\n return `on${capitalize(camelize(type))}`;\n}\nclass UniEvent {\n constructor(type, opts) {\n this.defaultPrevented = false;\n this.timeStamp = Date.now();\n this._stop = false;\n this._end = false;\n this.type = type;\n this.bubbles = !!opts.bubbles;\n this.cancelable = !!opts.cancelable;\n }\n preventDefault() {\n this.defaultPrevented = true;\n }\n stopImmediatePropagation() {\n this._end = this._stop = true;\n }\n stopPropagation() {\n this._stop = true;\n }\n}\nfunction createUniEvent(evt) {\n if (evt instanceof UniEvent) {\n return evt;\n }\n const [type] = parseEventName(evt.type);\n const uniEvent = new UniEvent(type, {\n bubbles: false,\n cancelable: false,\n });\n extend(uniEvent, evt);\n return uniEvent;\n}\nclass UniEventTarget {\n constructor() {\n this.listeners = Object.create(null);\n }\n dispatchEvent(evt) {\n const listeners = this.listeners[evt.type];\n if (!listeners) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(formatLog('dispatchEvent', this.nodeId), evt.type, 'not found');\n }\n return false;\n }\n // 格式化事件类型\n const event = createUniEvent(evt);\n const len = listeners.length;\n for (let i = 0; i < len; i++) {\n listeners[i].call(this, event);\n if (event._end) {\n break;\n }\n }\n return event.cancelable && event.defaultPrevented;\n }\n addEventListener(type, listener, options) {\n type = normalizeEventType(type, options);\n (this.listeners[type] || (this.listeners[type] = [])).push(listener);\n }\n removeEventListener(type, callback, options) {\n type = normalizeEventType(type, options);\n const listeners = this.listeners[type];\n if (!listeners) {\n return;\n }\n const index = listeners.indexOf(callback);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n }\n}\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\nfunction parseEventName(name) {\n let options;\n if (optionsModifierRE.test(name)) {\n options = {};\n let m;\n while ((m = name.match(optionsModifierRE))) {\n name = name.slice(0, name.length - m[0].length);\n options[m[0].toLowerCase()] = true;\n }\n }\n return [hyphenate(name.slice(2)), options];\n}\n\nconst EventModifierFlags = /*#__PURE__*/ (() => {\n return {\n stop: 1,\n prevent: 1 << 1,\n self: 1 << 2,\n };\n})();\nfunction encodeModifier(modifiers) {\n let flag = 0;\n if (modifiers.includes('stop')) {\n flag |= EventModifierFlags.stop;\n }\n if (modifiers.includes('prevent')) {\n flag |= EventModifierFlags.prevent;\n }\n if (modifiers.includes('self')) {\n flag |= EventModifierFlags.self;\n }\n return flag;\n}\n\nconst NODE_TYPE_PAGE = 0;\nconst NODE_TYPE_ELEMENT = 1;\nconst NODE_TYPE_TEXT = 3;\nconst NODE_TYPE_COMMENT = 8;\nfunction sibling(node, type) {\n const { parentNode } = node;\n if (!parentNode) {\n return null;\n }\n const { childNodes } = parentNode;\n return childNodes[childNodes.indexOf(node) + (type === 'n' ? 1 : -1)] || null;\n}\nfunction removeNode(node) {\n const { parentNode } = node;\n if (parentNode) {\n const { childNodes } = parentNode;\n const index = childNodes.indexOf(node);\n if (index > -1) {\n node.parentNode = null;\n childNodes.splice(index, 1);\n }\n }\n}\nfunction checkNodeId(node) {\n if (!node.nodeId && node.pageNode) {\n node.nodeId = node.pageNode.genId();\n }\n}\n// 为优化性能,各平台不使用proxy来实现node的操作拦截,而是直接通过pageNode定制\nclass UniNode extends UniEventTarget {\n constructor(nodeType, nodeName, container) {\n super();\n this.pageNode = null;\n this.parentNode = null;\n this._text = null;\n if (container) {\n const { pageNode } = container;\n if (pageNode) {\n this.pageNode = pageNode;\n this.nodeId = pageNode.genId();\n !pageNode.isUnmounted && pageNode.onCreate(this, nodeName);\n }\n }\n this.nodeType = nodeType;\n this.nodeName = nodeName;\n this.childNodes = [];\n }\n get firstChild() {\n return this.childNodes[0] || null;\n }\n get lastChild() {\n const { childNodes } = this;\n const length = childNodes.length;\n return length ? childNodes[length - 1] : null;\n }\n get nextSibling() {\n return sibling(this, 'n');\n }\n get nodeValue() {\n return null;\n }\n set nodeValue(_val) { }\n get textContent() {\n return this._text || '';\n }\n set textContent(text) {\n this._text = text;\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onTextContent(this, text);\n }\n }\n get parentElement() {\n const { parentNode } = this;\n if (parentNode && parentNode.nodeType === NODE_TYPE_ELEMENT) {\n return parentNode;\n }\n return null;\n }\n get previousSibling() {\n return sibling(this, 'p');\n }\n appendChild(newChild) {\n return this.insertBefore(newChild, null);\n }\n cloneNode(deep) {\n const cloned = extend(Object.create(Object.getPrototypeOf(this)), this);\n const { attributes } = cloned;\n if (attributes) {\n cloned.attributes = extend({}, attributes);\n }\n if (deep) {\n cloned.childNodes = cloned.childNodes.map((childNode) => childNode.cloneNode(true));\n }\n return cloned;\n }\n insertBefore(newChild, refChild) {\n // 先从现在的父节点移除(注意:不能触发onRemoveChild,否则会生成先remove该 id,再 insert)\n removeNode(newChild);\n newChild.pageNode = this.pageNode;\n newChild.parentNode = this;\n checkNodeId(newChild);\n const { childNodes } = this;\n if (refChild) {\n const index = childNodes.indexOf(refChild);\n if (index === -1) {\n throw new DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`);\n }\n childNodes.splice(index, 0, newChild);\n }\n else {\n childNodes.push(newChild);\n }\n return this.pageNode && !this.pageNode.isUnmounted\n ? this.pageNode.onInsertBefore(this, newChild, refChild)\n : newChild;\n }\n removeChild(oldChild) {\n const { childNodes } = this;\n const index = childNodes.indexOf(oldChild);\n if (index === -1) {\n throw new DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`);\n }\n oldChild.parentNode = null;\n childNodes.splice(index, 1);\n return this.pageNode && !this.pageNode.isUnmounted\n ? this.pageNode.onRemoveChild(oldChild)\n : oldChild;\n }\n}\nconst ATTR_CLASS = 'class';\nconst ATTR_STYLE = 'style';\nconst ATTR_INNER_HTML = 'innerHTML';\nconst ATTR_TEXT_CONTENT = 'textContent';\nconst ATTR_V_SHOW = '.vShow';\nconst ATTR_V_OWNER_ID = '.vOwnerId';\nconst ATTR_V_RENDERJS = '.vRenderjs';\nconst ATTR_CHANGE_PREFIX = 'change:';\nclass UniBaseNode extends UniNode {\n constructor(nodeType, nodeName, container) {\n super(nodeType, nodeName, container);\n this.attributes = Object.create(null);\n this.style = null;\n this.vShow = null;\n this._html = null;\n }\n get className() {\n return (this.attributes[ATTR_CLASS] || '');\n }\n set className(val) {\n this.setAttribute(ATTR_CLASS, val);\n }\n get innerHTML() {\n return '';\n }\n set innerHTML(html) {\n this._html = html;\n }\n addEventListener(type, listener, options) {\n super.addEventListener(type, listener, options);\n if (this.pageNode && !this.pageNode.isUnmounted) {\n if (listener.wxsEvent) {\n this.pageNode.onAddWxsEvent(this, normalizeEventType(type, options), listener.wxsEvent, encodeModifier(listener.modifiers || []));\n }\n else {\n this.pageNode.onAddEvent(this, normalizeEventType(type, options), encodeModifier(listener.modifiers || []));\n }\n }\n }\n removeEventListener(type, callback, options) {\n super.removeEventListener(type, callback, options);\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onRemoveEvent(this, normalizeEventType(type, options));\n }\n }\n getAttribute(qualifiedName) {\n if (qualifiedName === ATTR_STYLE) {\n return this.style;\n }\n return this.attributes[qualifiedName];\n }\n removeAttribute(qualifiedName) {\n if (qualifiedName == ATTR_STYLE) {\n this.style = null;\n }\n else {\n delete this.attributes[qualifiedName];\n }\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onRemoveAttribute(this, qualifiedName);\n }\n }\n setAttribute(qualifiedName, value) {\n if (qualifiedName === ATTR_STYLE) {\n this.style = value;\n }\n else {\n this.attributes[qualifiedName] = value;\n }\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onSetAttribute(this, qualifiedName, value);\n }\n }\n toJSON({ attr, normalize, } = {}) {\n const { attributes, style, listeners, _text } = this;\n const res = {};\n if (Object.keys(attributes).length) {\n res.a = normalize ? normalize(attributes) : attributes;\n }\n const events = Object.keys(listeners);\n if (events.length) {\n let w = undefined;\n const e = {};\n events.forEach((name) => {\n const handlers = listeners[name];\n if (handlers.length) {\n // 可能存在多个 handler 且不同 modifiers 吗?\n const { wxsEvent, modifiers } = handlers[0];\n const modifier = encodeModifier(modifiers || []);\n if (!wxsEvent) {\n e[name] = modifier;\n }\n else {\n if (!w) {\n w = {};\n }\n w[name] = [normalize ? normalize(wxsEvent) : wxsEvent, modifier];\n }\n }\n });\n res.e = normalize ? normalize(e, false) : e;\n if (w) {\n res.w = normalize ? normalize(w, false) : w;\n }\n }\n if (style !== null) {\n res.s = normalize ? normalize(style) : style;\n }\n if (!attr) {\n res.i = this.nodeId;\n res.n = this.nodeName;\n }\n if (_text !== null) {\n res.t = normalize ? normalize(_text) : _text;\n }\n return res;\n }\n}\n\nclass UniCommentNode extends UniNode {\n constructor(text, container) {\n super(NODE_TYPE_COMMENT, '#comment', container);\n this._text = (process.env.NODE_ENV !== 'production') ? text : '';\n }\n toJSON(opts = {}) {\n // 暂时不传递 text 到 view 层,没啥意义,节省点数据量\n return opts.attr\n ? {}\n : {\n i: this.nodeId,\n };\n // return opts.attr\n // ? { t: this._text as string }\n // : {\n // i: this.nodeId!,\n // t: this._text as string,\n // }\n }\n}\n\nclass UniElement extends UniBaseNode {\n constructor(nodeName, container) {\n super(NODE_TYPE_ELEMENT, nodeName.toUpperCase(), container);\n this.tagName = this.nodeName;\n }\n}\nclass UniInputElement extends UniElement {\n get value() {\n return this.getAttribute('value');\n }\n set value(val) {\n this.setAttribute('value', val);\n }\n}\nclass UniTextAreaElement extends UniInputElement {\n}\n\nclass UniTextNode extends UniBaseNode {\n constructor(text, container) {\n super(NODE_TYPE_TEXT, '#text', container);\n this._text = text;\n }\n get nodeValue() {\n return this._text || '';\n }\n set nodeValue(text) {\n this._text = text;\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onNodeValue(this, text);\n }\n }\n}\n\nconst forcePatchProps = {\n AD: ['data'],\n 'AD-DRAW': ['data'],\n 'LIVE-PLAYER': ['picture-in-picture-mode'],\n MAP: [\n 'markers',\n 'polyline',\n 'circles',\n 'controls',\n 'include-points',\n 'polygons',\n ],\n PICKER: ['range', 'value'],\n 'PICKER-VIEW': ['value'],\n 'RICH-TEXT': ['nodes'],\n VIDEO: ['danmu-list', 'header'],\n 'WEB-VIEW': ['webview-styles'],\n};\nconst forcePatchPropKeys = ['animation'];\n\nconst forcePatchProp = (el, key) => {\n if (forcePatchPropKeys.indexOf(key) > -1) {\n return true;\n }\n const keys = forcePatchProps[el.nodeName];\n if (keys && keys.indexOf(key) > -1) {\n return true;\n }\n return false;\n};\n\nconst ACTION_TYPE_PAGE_CREATE = 1;\nconst ACTION_TYPE_PAGE_CREATED = 2;\nconst ACTION_TYPE_CREATE = 3;\nconst ACTION_TYPE_INSERT = 4;\nconst ACTION_TYPE_REMOVE = 5;\nconst ACTION_TYPE_SET_ATTRIBUTE = 6;\nconst ACTION_TYPE_REMOVE_ATTRIBUTE = 7;\nconst ACTION_TYPE_ADD_EVENT = 8;\nconst ACTION_TYPE_REMOVE_EVENT = 9;\nconst ACTION_TYPE_SET_TEXT = 10;\nconst ACTION_TYPE_ADD_WXS_EVENT = 12;\nconst ACTION_TYPE_PAGE_SCROLL = 15;\nconst ACTION_TYPE_EVENT = 20;\n\n/**\n * 需要手动传入 timer,主要是解决 App 平台的定制 timer\n */\nfunction debounce(fn, delay, { clearTimeout, setTimeout }) {\n let timeout;\n const newFn = function () {\n clearTimeout(timeout);\n const timerFn = () => fn.apply(this, arguments);\n timeout = setTimeout(timerFn, delay);\n };\n newFn.cancel = function () {\n clearTimeout(timeout);\n };\n return newFn;\n}\n\nclass EventChannel {\n constructor(id, events) {\n this.id = id;\n this.listener = {};\n this.emitCache = [];\n if (events) {\n Object.keys(events).forEach((name) => {\n this.on(name, events[name]);\n });\n }\n }\n emit(eventName, ...args) {\n const fns = this.listener[eventName];\n if (!fns) {\n return this.emitCache.push({\n eventName,\n args,\n });\n }\n fns.forEach((opt) => {\n opt.fn.apply(opt.fn, args);\n });\n this.listener[eventName] = fns.filter((opt) => opt.type !== 'once');\n }\n on(eventName, fn) {\n this._addListener(eventName, 'on', fn);\n this._clearCache(eventName);\n }\n once(eventName, fn) {\n this._addListener(eventName, 'once', fn);\n this._clearCache(eventName);\n }\n off(eventName, fn) {\n const fns = this.listener[eventName];\n if (!fns) {\n return;\n }\n if (fn) {\n for (let i = 0; i < fns.length;) {\n if (fns[i].fn === fn) {\n fns.splice(i, 1);\n i--;\n }\n i++;\n }\n }\n else {\n delete this.listener[eventName];\n }\n }\n _clearCache(eventName) {\n for (let index = 0; index < this.emitCache.length; index++) {\n const cache = this.emitCache[index];\n const _name = eventName\n ? cache.eventName === eventName\n ? eventName\n : null\n : cache.eventName;\n if (!_name)\n continue;\n const location = this.emit.apply(this, [_name, ...cache.args]);\n if (typeof location === 'number') {\n this.emitCache.pop();\n continue;\n }\n this.emitCache.splice(index, 1);\n index--;\n }\n }\n _addListener(eventName, type, fn) {\n (this.listener[eventName] || (this.listener[eventName] = [])).push({\n fn,\n type,\n });\n }\n}\n\nconst PAGE_HOOKS = [\n ON_INIT,\n ON_LOAD,\n ON_SHOW,\n ON_HIDE,\n ON_UNLOAD,\n ON_BACK_PRESS,\n ON_PAGE_SCROLL,\n ON_TAB_ITEM_TAP,\n ON_REACH_BOTTOM,\n ON_PULL_DOWN_REFRESH,\n ON_SHARE_TIMELINE,\n ON_SHARE_APP_MESSAGE,\n ON_SHARE_CHAT,\n ON_ADD_TO_FAVORITES,\n ON_SAVE_EXIT_STATE,\n ON_NAVIGATION_BAR_BUTTON_TAP,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\n];\nfunction isRootImmediateHook(name) {\n const PAGE_SYNC_HOOKS = [ON_LOAD, ON_SHOW];\n return PAGE_SYNC_HOOKS.indexOf(name) > -1;\n}\n// isRootImmediateHookX deprecated\nfunction isRootHook(name) {\n return PAGE_HOOKS.indexOf(name) > -1;\n}\nconst UniLifecycleHooks = [\n ON_SHOW,\n ON_HIDE,\n ON_LAUNCH,\n ON_ERROR,\n ON_THEME_CHANGE,\n ON_PAGE_NOT_FOUND,\n ON_UNHANDLE_REJECTION,\n ON_EXIT,\n ON_INIT,\n ON_LOAD,\n ON_READY,\n ON_UNLOAD,\n ON_RESIZE,\n ON_BACK_PRESS,\n ON_PAGE_SCROLL,\n ON_TAB_ITEM_TAP,\n ON_REACH_BOTTOM,\n ON_PULL_DOWN_REFRESH,\n ON_SHARE_TIMELINE,\n ON_ADD_TO_FAVORITES,\n ON_SHARE_APP_MESSAGE,\n ON_SHARE_CHAT,\n ON_SAVE_EXIT_STATE,\n ON_NAVIGATION_BAR_BUTTON_TAP,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\n];\nconst MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /*#__PURE__*/ (() => {\n return {\n onPageScroll: 1,\n onShareAppMessage: 1 << 1,\n onShareTimeline: 1 << 2,\n };\n})();\nfunction isUniLifecycleHook(name, value, checkType = true) {\n // 检查类型\n if (checkType && !isFunction(value)) {\n return false;\n }\n if (UniLifecycleHooks.indexOf(name) > -1) {\n // 已预定义\n return true;\n }\n else if (name.indexOf('on') === 0) {\n // 以 on 开头\n return true;\n }\n return false;\n}\n\nlet vueApp;\nconst createVueAppHooks = [];\n/**\n * 提供 createApp 的回调事件,方便三方插件接收 App 对象,处理挂靠全局 mixin 之类的逻辑\n */\nfunction onCreateVueApp(hook) {\n // TODO 每个 nvue 页面都会触发\n if (vueApp) {\n return hook(vueApp);\n }\n createVueAppHooks.push(hook);\n}\nfunction invokeCreateVueAppHook(app) {\n vueApp = app;\n createVueAppHooks.forEach((hook) => hook(app));\n}\nconst invokeCreateErrorHandler = once((app, createErrorHandler) => {\n // 不再判断开发者是否监听了onError,直接返回 createErrorHandler,内部 errorHandler 会调用开发者自定义的 errorHandler,以及判断开发者是否监听了onError\n return createErrorHandler(app);\n});\n\nconst E = function () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n};\nE.prototype = {\n _id: 1,\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx,\n _id: this._id,\n });\n return this._id++;\n },\n once: function (name, callback, ctx) {\n var self = this;\n function listener() {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n }\n listener._ = callback;\n return this.on(name, listener, ctx);\n },\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n return this;\n },\n off: function (name, event) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n if (evts && event) {\n for (var i = evts.length - 1; i >= 0; i--) {\n if (evts[i].fn === event ||\n evts[i].fn._ === event ||\n evts[i]._id === event) {\n evts.splice(i, 1);\n break;\n }\n }\n liveEvents = evts;\n }\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n liveEvents.length ? (e[name] = liveEvents) : delete e[name];\n return this;\n },\n};\nvar E$1 = E;\n\nconst borderStyles = {\n black: 'rgba(0,0,0,0.4)',\n white: 'rgba(255,255,255,0.4)',\n};\nfunction normalizeTabBarStyles(borderStyle) {\n if (borderStyle && borderStyle in borderStyles) {\n return borderStyles[borderStyle];\n }\n return borderStyle;\n}\nfunction normalizeTitleColor(titleColor) {\n return titleColor === 'black' ? '#000000' : '#ffffff';\n}\nfunction resolveStringStyleItem(modeStyle, styleItem, key) {\n if (isString(styleItem) && styleItem.startsWith('@')) {\n const _key = styleItem.replace('@', '');\n let _styleItem = modeStyle[_key] || styleItem;\n switch (key) {\n case 'titleColor':\n _styleItem = normalizeTitleColor(_styleItem);\n break;\n case 'borderStyle':\n _styleItem = normalizeTabBarStyles(_styleItem);\n break;\n }\n return _styleItem;\n }\n return styleItem;\n}\nfunction normalizeStyles(pageStyle, themeConfig = {}, mode = 'light') {\n const modeStyle = themeConfig[mode];\n const styles = {};\n if (typeof modeStyle === 'undefined' || !pageStyle)\n return pageStyle;\n Object.keys(pageStyle).forEach((key) => {\n const styleItem = pageStyle[key]; // Object Array String\n const parseStyleItem = () => {\n if (isPlainObject(styleItem))\n return normalizeStyles(styleItem, themeConfig, mode);\n if (isArray(styleItem))\n return styleItem.map((item) => {\n if (isPlainObject(item))\n return normalizeStyles(item, themeConfig, mode);\n return resolveStringStyleItem(modeStyle, item);\n });\n return resolveStringStyleItem(modeStyle, styleItem, key);\n };\n styles[key] = parseStyleItem();\n });\n return styles;\n}\n\nfunction getEnvLocale() {\n const { env } = process;\n const lang = env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE;\n return (lang && lang.replace(/[.:].*/, '')) || 'en';\n}\n\nconst isStringIntegerKey = (key) => typeof key === 'string' &&\n key !== 'NaN' &&\n key[0] !== '-' &&\n '' + parseInt(key, 10) === key;\nconst isNumberIntegerKey = (key) => typeof key === 'number' &&\n !isNaN(key) &&\n key >= 0 &&\n parseInt(key + '', 10) === key;\n/**\n * 用于替代@vue/shared的isIntegerKey,原始方法在鸿蒙arkts中会引发bug。根本原因是arkts的数组的key是数字而不是字符串。\n * 目前这个方法使用的地方都和数组有关,切记不能挪作他用。\n * @param key\n * @returns\n */\nconst isIntegerKey = (key) => isNumberIntegerKey(key) || isStringIntegerKey(key);\n\nexport { ACTION_TYPE_ADD_EVENT, ACTION_TYPE_ADD_WXS_EVENT, ACTION_TYPE_CREATE, ACTION_TYPE_EVENT, ACTION_TYPE_INSERT, ACTION_TYPE_PAGE_CREATE, ACTION_TYPE_PAGE_CREATED, ACTION_TYPE_PAGE_SCROLL, ACTION_TYPE_REMOVE, ACTION_TYPE_REMOVE_ATTRIBUTE, ACTION_TYPE_REMOVE_EVENT, ACTION_TYPE_SET_ATTRIBUTE, ACTION_TYPE_SET_TEXT, ATTR_CHANGE_PREFIX, ATTR_CLASS, ATTR_INNER_HTML, ATTR_STYLE, ATTR_TEXT_CONTENT, ATTR_V_OWNER_ID, ATTR_V_RENDERJS, ATTR_V_SHOW, BACKGROUND_COLOR, BUILT_IN_TAGS, BUILT_IN_TAG_NAMES, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, DATA_RE, E$1 as Emitter, EventChannel, EventModifierFlags, I18N_JSON_DELIMITERS, JSON_PROTOCOL, LINEFEED, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, NAVBAR_HEIGHT, NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_PAGE, NODE_TYPE_TEXT, NVUE_BUILT_IN_TAGS, NVUE_U_BUILT_IN_TAGS, OFF_HOST_THEME_CHANGE, OFF_THEME_CHANGE, ON_ADD_TO_FAVORITES, ON_APP_ENTER_BACKGROUND, ON_APP_ENTER_FOREGROUND, ON_BACK_PRESS, ON_ERROR, ON_EXIT, ON_HIDE, ON_HOST_THEME_CHANGE, ON_INIT, ON_KEYBOARD_HEIGHT_CHANGE, ON_LAUNCH, ON_LOAD, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_CHANGE, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED, ON_PAGE_NOT_FOUND, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_REACH_BOTTOM_DISTANCE, ON_READY, ON_RESIZE, ON_SAVE_EXIT_STATE, ON_SHARE_APP_MESSAGE, ON_SHARE_CHAT, ON_SHARE_TIMELINE, ON_SHOW, ON_TAB_ITEM_TAP, ON_THEME_CHANGE, ON_UNHANDLE_REJECTION, ON_UNLOAD, ON_WEB_INVOKE_APP_SERVICE, ON_WXS_INVOKE_CALL_METHOD, PLUS_RE, PRIMARY_COLOR, RENDERJS_MODULES, RESPONSIVE_MIN_WIDTH, SCHEME_RE, SELECTED_COLOR, SLOT_DEFAULT_NAME, TABBAR_HEIGHT, TAGS, UNI_SSR, UNI_SSR_DATA, UNI_SSR_GLOBAL_DATA, UNI_SSR_STORE, UNI_SSR_TITLE, UNI_STORAGE_LOCALE, UNI_UI_CONFLICT_TAGS, UVUE_BUILT_IN_TAGS, UVUE_HARMONY_BUILT_IN_TAGS, UVUE_IOS_BUILT_IN_TAGS, UVUE_WEB_BUILT_IN_TAGS, UniBaseNode, UniCommentNode, UniElement, UniEvent, UniInputElement, UniLifecycleHooks, UniNode, UniTextAreaElement, UniTextNode, VIRTUAL_HOST_CLASS, VIRTUAL_HOST_HIDDEN, VIRTUAL_HOST_ID, VIRTUAL_HOST_STYLE, WEB_INVOKE_APPSERVICE, WXS_MODULES, WXS_PROTOCOL, addFont, addLeadingSlash, borderStyles, cache, cacheStringFunction, callOptions, createIsCustomElement, createRpx2Unit, createUniEvent, customizeEvent, debounce, decode, decodedQuery, defaultMiniProgramRpx2Unit, defaultNVueRpx2Unit, defaultRpx2Unit, dynamicSlotName, forcePatchProp, formatDateTime, formatLog, getCustomDataset, getEnvLocale, getGlobal, getLen, getValueByDataPath, initCustomDatasetOnce, invokeArrayFns, invokeCreateErrorHandler, invokeCreateVueAppHook, isAppHarmonyUVueNativeTag, isAppIOSUVueNativeTag, isAppNVueNativeTag, isAppNativeTag, isAppUVueBuiltInEasyComponent, isAppUVueNativeTag, isAppVoidTag, isBuiltInComponent, isComponentInternalInstance, isComponentTag, isH5CustomElement, isH5NativeTag, isIntegerKey, isMiniProgramNativeTag, isMiniProgramUVueNativeTag, isRootHook, isRootImmediateHook, isUniLifecycleHook, isUniXElement, normalizeClass, normalizeDataset, normalizeEventType, normalizeProps, normalizeStyle, normalizeStyles, normalizeTabBarStyles, normalizeTarget, normalizeTitleColor, onCreateVueApp, once, parseEventName, parseNVueDataset, parseQuery, parseUrl, passive, plusReady, removeLeadingSlash, resolveComponentInstance, resolveOwnerEl, resolveOwnerVm, sanitise, scrollTo, sortObject, stringifyQuery, updateElementStyle };\n","import { isRootHook, getValueByDataPath, isUniLifecycleHook, ON_ERROR, UniLifecycleHooks, invokeCreateErrorHandler, dynamicSlotName } from '@dcloudio/uni-shared';\nimport { NOOP, extend, isSymbol, isObject, def, hasChanged, isFunction, isArray, isPromise, camelize, capitalize, EMPTY_OBJ, remove, toHandlerKey, hasOwn, hyphenate, isReservedProp, toRawType, isString, normalizeClass, normalizeStyle, isOn, toTypeString, isMap, isIntegerKey, isSet, isPlainObject, makeMap, invokeArrayFns, isBuiltInDirective, looseToNumber, NO, EMPTY_ARR, isModelListener, toNumber, toDisplayString } from '@vue/shared';\nexport { EMPTY_OBJ, camelize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\n/**\n* @dcloudio/uni-mp-vue v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n\nfunction warn$2(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n var _a;\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n (_a = this.onStop) == null ? void 0 : _a.call(this);\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nlet pauseScheduleStack = 0;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set$1(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn$2(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n warn$2(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\n )\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\n warn$2(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\nfunction computed$1(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn$2(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n } : void 0\n );\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 4, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn$2(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn$1(msg, ...args) {\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] || type : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type] || type;\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n console.error(err);\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick$1(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction hasQueueJob(job) {\n return queue.indexOf(job) > -1;\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n // fixed by xxxxxx\n // 为 0 是 App,无 parent 是 Page 指向 App\n component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction markAttrsAccessed() {\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, {\n immediate,\n deep,\n flush,\n once,\n onTrack,\n onTrigger\n} = EMPTY_OBJ) {\n if (cb && once) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n unwatch();\n };\n }\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\n warn$1(\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn$1(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = currentInstance;\n const reactiveGetter = (source2) => deep === true ? source2 : (\n // for deep: false, only traverse root-level properties\n traverse(source2, deep === false ? 1 : void 0)\n );\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active || !effect.dirty) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\n const scope = getCurrentScope();\n const unwatch = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect$1(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, depth, currentDepth = 0, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n if (depth && depth > 0) {\n if (currentDepth >= depth) {\n return value;\n }\n currentDepth++;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, depth, currentDepth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, currentDepth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, currentDepth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, currentDepth, seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\n\nfunction createAppContext() {\n return {\n app: null,\n config: {\n isNativeTag: NO,\n performance: false,\n globalProperties: {},\n optionMergeStrategies: {},\n errorHandler: void 0,\n warnHandler: void 0,\n compilerOptions: {}\n },\n mixins: [],\n components: {},\n directives: {},\n provides: /* @__PURE__ */ Object.create(null),\n optionsCache: /* @__PURE__ */ new WeakMap(),\n propsCache: /* @__PURE__ */ new WeakMap(),\n emitsCache: /* @__PURE__ */ new WeakMap()\n };\n}\nlet uid$1 = 0;\nfunction createAppAPI(render, hydrate) {\n return function createApp(rootComponent, rootProps = null) {\n if (!isFunction(rootComponent)) {\n rootComponent = extend({}, rootComponent);\n }\n if (rootProps != null && !isObject(rootProps)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\n rootProps = null;\n }\n const context = createAppContext();\n const installedPlugins = /* @__PURE__ */ new WeakSet();\n const app = context.app = {\n _uid: uid$1++,\n _component: rootComponent,\n _props: rootProps,\n _container: null,\n _context: context,\n _instance: null,\n version,\n get config() {\n return context.config;\n },\n set config(v) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `app.config cannot be replaced. Modify individual options instead.`\n );\n }\n },\n use(plugin, ...options) {\n if (installedPlugins.has(plugin)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\n } else if (plugin && isFunction(plugin.install)) {\n installedPlugins.add(plugin);\n plugin.install(app, ...options);\n } else if (isFunction(plugin)) {\n installedPlugins.add(plugin);\n plugin(app, ...options);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `A plugin must either be a function or an object with an \"install\" function.`\n );\n }\n return app;\n },\n mixin(mixin) {\n if (__VUE_OPTIONS_API__) {\n if (!context.mixins.includes(mixin)) {\n context.mixins.push(mixin);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\n );\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Mixins are only available in builds supporting Options API\");\n }\n return app;\n },\n component(name, component) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateComponentName(name, context.config);\n }\n if (!component) {\n return context.components[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\n warn$1(`Component \"${name}\" has already been registered in target app.`);\n }\n context.components[name] = component;\n return app;\n },\n directive(name, directive) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateDirectiveName(name);\n }\n if (!directive) {\n return context.directives[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\n }\n context.directives[name] = directive;\n return app;\n },\n // fixed by xxxxxx\n mount() {\n },\n // fixed by xxxxxx\n unmount() {\n },\n provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\n warn$1(\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\n );\n }\n context.provides[key] = value;\n return app;\n },\n runWithContext(fn) {\n const lastApp = currentApp;\n currentApp = app;\n try {\n return fn();\n } finally {\n currentApp = lastApp;\n }\n }\n };\n return app;\n };\n}\nlet currentApp = null;\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`provide() can only be used inside setup().`);\n }\n } else {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n if (currentInstance.type.mpType === \"app\") {\n currentInstance.appContext.app.provide(key, value);\n }\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = currentInstance || currentRenderingInstance;\n if (instance || currentApp) {\n const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(currentInstance || currentRenderingInstance || currentApp);\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n if (isRootHook(type)) {\n target = target.root;\n }\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(\n (ErrorTypeStrings[type] || type.replace(/^on/, \"\")).replace(/ hook$/, \"\")\n );\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (``)\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的\n // $el: i => i.vnode.el,\n $el: (i) => i.__$el || (i.__$el = {}),\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \r\n\r\n\r\n","import Component from 'D:/项目/tk-mini-program/components/tabBar/tabBar.vue'\nwx.createComponent(Component)"],"names":["ref","reactive","onMounted","uni","VerifyLogin"],"mappings":";;;;;;AA+BA,MAAM,aAAa,MAAW;;;;;;;AAG9B,QAAI,mBAAmBA,cAAAA,IAAI,KAAK;AAKhC,QAAI,UAAUC,cAAAA,SAAS;AAAA,MACrB;AAAA,QACE,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,aAAa;AAAA,MACd;AAAA,MACD;AAAA,QACE,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,aAAa;AAAA,MACd;AAAA,MACD;AAAA,QACE,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,aAAa;AAAA,MACd;AAAA,MACD;AAAA,QACE,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,MAAM;AAAA,MACP;AAAA,MACD;AAAA,QACE,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,aAAa;AAAA,MACd;AAAA,IACH,CAAC;AACDC,kBAAAA,UAAU,MAAM;AACd;IAEF,CAAC;AAEDC,kBAAG,MAAC,cAAc;AAAA,MAChB,SAAS,SAAU,KAAK;AAEtBA,sBAAY,MAAA,MAAA,OAAA,sCAAA,MAAM,IAAI,UAAU;AAChC,YAAI,IAAI,SAAS,MAAM,IAAI;AACzBA,iFAAY,YAAY,IAAI,SAAS,GAAG;AAAA,QACzC;AAAA,MACF;AAAA,IACH,CAAC;AAGD,aAAS,YAAY;AACnB,UAAI,YAAY,QAAQ;AACxB,UAAI,YAAY,GAAG;AACjB,yBAAiB,QAAQ;AACzB,YAAI,cAAc,KAAK,MAAM,YAAY,CAAC;AAC1C,gBAAQ,WAAW,EAAE,cAAc;AAAA,MACpC;AAAA,IACH;AACA,UAAM,eAAeH,cAAG,IAAA;AAExB,aAAS,oBAAoB;AAC3B,mBAAa,MAAM;IACrB;AAMA,UAAM,iBAAiB,MAAM;AAC3B,aAAO;AAAA,IACT;AAEA,aAAS,WAAW,MAAM,OAAO;AAC/B,UAAI,UAAU,GAAG;AACfI,2CAAa,EAAC,KAAK,CAAC,QAAQ;AAC1B,cAAI,KAAK;AACPD,0BAAAA,MAAI,WAAW;AAAA,cACb,KAAK;AAAA,cACL,eAAe;AAAA,YACzB,CAAS;AAAA,UACF;AAAA,QACP,CAAK;AAAA,MACL,WAAa,UAAU,GAAG;AAEtBC,2CAAa,EAAC,KAAK,CAAC,QAAQ;AAC5B,cAAI,KAAK;AACP;AACA;AAAA,UACD;AAAA,QACL,CAAG;AAAA,MACH,WAAa,UAAU,GAAG;AACtBA,2CAAa,EAAC,KAAK,CAAC,QAAQ;AAC5B,cAAI,KAAK;AACPD,0BAAAA,MAAI,UAAU;AAAA,cACZ,KAAK;AAAA,cACL,eAAe;AAAA,YACvB,CAAO;AAAA,UACF;AAAA,QACL,CAAG;AAAA,MACH,OAAS;AACLA,sBAAAA,MAAI,UAAU;AAAA,UACZ,KAAK,KAAK;AAAA,QAChB,CAAK;AAAA,MACF;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;AC/IA,GAAG,gBAAgB,SAAS;"}
\ No newline at end of file
+{"version":3,"file":"tabBar.js","sources":["components/tabBar/tabBar.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov6aG555uuL3RrLW1pbmktcHJvZ3JhbS9jb21wb25lbnRzL3RhYkJhci90YWJCYXIudnVl"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.text }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import Component from 'D:/项目/tk-mini-program/components/tabBar/tabBar.vue'\nwx.createComponent(Component)"],"names":["ref","reactive","onMounted","uni","VerifyLogin"],"mappings":";;;;;;AA+BA,MAAM,aAAa,MAAW;;;;;;;AAG9B,QAAI,mBAAmBA,cAAAA,IAAI,KAAK;AAKhC,QAAI,UAAUC,cAAAA,SAAS;AAAA,MACrB;AAAA,QACE,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,aAAa;AAAA,MACd;AAAA,MACD;AAAA,QACE,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,aAAa;AAAA,MACd;AAAA,MACD;AAAA,QACE,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,aAAa;AAAA,MACd;AAAA,MACD;AAAA,QACE,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,MAAM;AAAA,MACP;AAAA,MACD;AAAA,QACE,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,aAAa;AAAA,MACd;AAAA,IACH,CAAC;AACDC,kBAAAA,UAAU,MAAM;AACd;IAEF,CAAC;AAEDC,kBAAG,MAAC,cAAc;AAAA,MAChB,SAAS,SAAU,KAAK;AAEtBA,sBAAY,MAAA,MAAA,OAAA,sCAAA,MAAM,IAAI,UAAU;AAChC,YAAI,IAAI,SAAS,MAAM,IAAI;AACzBA,iFAAY,YAAY,IAAI,SAAS,GAAG;AAAA,QACzC;AAAA,MACF;AAAA,IACH,CAAC;AAGD,aAAS,YAAY;AACnB,UAAI,YAAY,QAAQ;AACxB,UAAI,YAAY,GAAG;AACjB,yBAAiB,QAAQ;AACzB,YAAI,cAAc,KAAK,MAAM,YAAY,CAAC;AAC1C,gBAAQ,WAAW,EAAE,cAAc;AAAA,MACpC;AAAA,IACH;AACA,UAAM,eAAeH,cAAG,IAAA;AAExB,aAAS,oBAAoB;AAC3B,mBAAa,MAAM;IACrB;AAMA,UAAM,iBAAiB,MAAM;AAC3B,aAAO;AAAA,IACT;AAEA,aAAS,WAAW,MAAM,OAAO;AAC/B,UAAI,UAAU,GAAG;AACfI,2CAAa,EAAC,KAAK,CAAC,QAAQ;AAC1B,cAAI,KAAK;AACPD,0BAAAA,MAAI,WAAW;AAAA,cACb,KAAK;AAAA,cACL,eAAe;AAAA,YACzB,CAAS;AAAA,UACF;AAAA,QACP,CAAK;AAAA,MACL,WAAa,UAAU,GAAG;AAEtBC,2CAAa,EAAC,KAAK,CAAC,QAAQ;AAC5B,cAAI,KAAK;AACP;AACA;AAAA,UACD;AAAA,QACL,CAAG;AAAA,MACH,WAAa,UAAU,GAAG;AACtBA,2CAAa,EAAC,KAAK,CAAC,QAAQ;AAC5B,cAAI,KAAK;AACPD,0BAAAA,MAAI,UAAU;AAAA,cACZ,KAAK;AAAA,cACL,eAAe;AAAA,YACvB,CAAO;AAAA,UACF;AAAA,QACL,CAAG;AAAA,MACH,OAAS;AACLA,sBAAAA,MAAI,UAAU;AAAA,UACZ,KAAK,KAAK;AAAA,QAChB,CAAK;AAAA,MACF;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;AC/IA,GAAG,gBAAgB,SAAS;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Forum/Forum.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Forum/Forum.js.map
index 5346727..dd222e3 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Forum/Forum.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Forum/Forum.js.map
@@ -1 +1 @@
-{"version":3,"file":"Forum.js","sources":["pages/Forum/Forum.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvRm9ydW0vRm9ydW0udnVl"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n 论坛 \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Forum/Forum.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;AAeA,eAAe,MAAW;AACtB,MAAK,YAAU;AAAA,EACX,OAAO;AACH,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACH;AAAA,EACD,SAAS;AAAA,EAER;AAAA,EACD,SAAS;AAAA;AAAA,EAER;AAAA,EACD,YAAY;AAAA,IACR;AAAA,EACJ;AACJ;;;;;;;;;;;;;AC9BJ,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"Forum.js","sources":["pages/Forum/Forum.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvRm9ydW0vRm9ydW0udnVl"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n 论坛 \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Forum/Forum.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;AAeA,eAAe,MAAW;AACtB,MAAK,YAAU;AAAA,EACX,OAAO;AACH,WAAO;AAAA,MACH,OAAO;AAAA,IACX;AAAA,EACH;AAAA,EACD,SAAS;AAAA,EAER;AAAA,EACD,SAAS;AAAA;AAAA,EAER;AAAA,EACD,YAAY;AAAA,IACR;AAAA,EACJ;AACJ;;;;;;;;;;;;;;;;;AC9BJ,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Home/Home.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Home/Home.js.map
index c68469f..e9603f6 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Home/Home.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Home/Home.js.map
@@ -1 +1 @@
-{"version":3,"file":"Home.js","sources":["pages/Home/Home.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvSG9tZS9Ib21lLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.anchorId }} \r\n \r\n \r\n \r\n \r\n {{ item.sex === \"1\" ? \"男\" : \"女\" }} \r\n \r\n PK时间: {{ formatDate(item.pkTime) }} \r\n 金币: \r\n {{ item.coin + \"K\" }} \r\n \r\n \r\n \r\n \r\n \r\n 暂无内容 \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Home/Home.vue'\nwx.createPage(MiniProgramPage)"],"names":["useCounterStore","uni","res","TUIlogin","request","formatDate"],"mappings":";;;;;;AAkEA,MAAO,gBAAe,MAAW;AACjC,MAAO,gBAAe,MAAW;AACjC,eAAe,MAAW;AAK1B,MAAM,UAAUA,eAAe,gBAAA;AAC/B,MAAK,YAAU;AAAA,EACb,QAAQ,CAAC,SAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,MAAM,CAAE;AAAA,MACR,WAAW;AAAA,MACX,UAAU,CAAE;AAAA,MACZ,MAAM;AAAA;AAAA,MACN,MAAM;AAAA;AAAA,MACN,MAAM,CAAE;AAAA;AAAA,MACR,aAAa,CAAE;AAAA;AAAA,MACf,WAAW;AAAA;AAAA,MACX,gBAAgB,CAAE;AAAA;AAAA,MAClB,uBAAuB,CAAE;AAAA;AAAA,MACzB,UAAU;AAAA;AAAA;EAEb;AAAA,EACD,UAAU;AAER,SAAK,OAAO,EAAE,MAAM,EAAG,CAAA;AACvB,SAAK,OAAO,EAAE,MAAM,EAAG,CAAA;AAAA,EACxB;AAAA,EACD,SAAS;AACPC,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,OAAO,IAAI;AAChB,gBAAQ,OAAO,EAAE,QAAQ,KAAK,KAAM,CAAA;AACpCA,sBAAAA,MAAI,WAAW;AAAA,UACb,KAAK;AAAA,UACL,SAAS,CAACC,SAAQ;AAChB,iBAAK,YAAYA,KAAI;AACrBD,0BAAAA,MAAI,WAAW;AAAA,cACb,KAAK;AAAA,cACL,SAAS,CAACC,SAAQ;AAChB,qBAAK,WAAWA,KAAI;AACpBC,oCAAAA,SAAS,KAAK,SAAS,OAAO,KAAK,KAAK,IAAI,KAAK,UAAU,OAAO;AAAA,cACnE;AAAA,YACH,CAAC;AAAA,UACF;AAAA,QACH,CAAC;AAAA,MACF;AAAA,IACH,CAAC;AACD,eAAW,MAAM;AACfF,oBAAAA,MAAI,UAAU,EAAE,KAAK,mBAAoB,CAAA;AAAA,IAC1C,GAAE,GAAI;AAAA,EACR;AAAA,EACD,SAAS;AAAA,IACP,sBAAsB;AACpB,WAAK,WAAW;AAChB,WAAK,OAAO,KAAK;AAAA,IAClB;AAAA,IACD,eAAe;AACb,WAAK,WAAW;AAChB,WAAK,OAAO,KAAK;AAAA,IAClB;AAAA,IACD,kBAAkB;AAEhBA,oBAAAA,MAAI,WAAW,EAAE,KAAK,2BAA4B,CAAA;AAAA,IACnD;AAAA,IACD,qBAAqB;AACnB,WAAK,OAAO;AACZ,WAAK,OAAO;AACZ,UAAI,KAAK,aAAa,GAAG;AACvB,aAAK,wBAAwB;aACxB;AACL,aAAK,iBAAiB;MACxB;AACA,WAAK,YAAY;AACjB,WAAK,OAAO,EAAE,MAAM,KAAK,SAAU,CAAA;AAAA,IACpC;AAAA,IACD,MAAM,SAAS,MAAM;AACnBA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AACDA,oBAAY,MAAA,MAAA,OAAA,8BAAA,MAAM,KAAK,EAAE;AACzB,YAAM,MAAM,MAAMG,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK;AAAA,QACV;AAAA,QACD,UAAU;AAAA,MACZ,CAAC;AACDH,oBAAA,MAAA,MAAA,OAAA,8BAAY,OAAO,GAAG;AACtB,WAAK,cAAc,IAAI;AACvB,UAAI,IAAI,SAAS,KAAK;AACpB,YAAI,IAAI,KAAK,WAAW,GAAG;AACzBA,wBAAG,MAAC,YAAW;AACfA,wBAAY,MAAA,MAAA,OAAA,8BAAA,YAAY,IAAI,IAAI;AAChCA,wBAAAA,MAAI,WAAW;AAAA,YACb,KAAK;AAAA,YACL,SAAS,CAACC,SAAQ;AAChB,cAAAA,KAAI,aAAa,KAAK,cAAc;AAAA,gBAClC,MAAM,KAAK;AAAA,cACb,CAAC;AAAA,YACF;AAAA,UACH,CAAC;AAAA,eACI;AACLD,wBAAG,MAAC,YAAW;AACf,eAAK,kBAAiB;AAAA,QACxB;AAAA,aACK;AACLA,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACD;AAAA,IACD,YAAYI,sBAAU;AAAA,IAEtB,MAAM,OAAO,WAAW;AACtB,YAAM,MAAM,MAAMD,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,QAAQ;AAAA,UACR,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,UACX;AAAA,QACD;AAAA,QACD,UAAU;AAAA,MACZ,CAAC;AACDH,oBAAAA,MAAY,MAAA,OAAA,8BAAA,GAAG;AACf,UAAI,IAAI,SAAS,KAAK;AACpB,aAAK,YAAY;AACjB,YAAI,UAAU,SAAS,GAAG;AACxB,eAAK,sBAAsB,KAAK,GAAG,IAAI,IAAI;AAC3C,cAAI,UAAU,QAAQ,KAAK,UAAU;AACnC,iBAAK,OAAO,KAAK;AAAA,UACnB;AAAA,eACK;AACL,eAAK,eAAe,KAAK,GAAG,IAAI,IAAI;AACpC,cAAI,UAAU,QAAQ,KAAK,UAAU;AACnC,iBAAK,OAAO,KAAK;AAAA,UACnB;AAAA,QACF;AAAA,MACF;AAAA,IACD;AAAA,EACF;AAAA,EACD,kBAAkB;AAChB,SAAK;AACL,SAAK,OAAO,EAAE,MAAM,KAAK,SAAU,CAAA;AAAA,EACpC;AAAA,EACD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjOA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"Home.js","sources":["pages/Home/Home.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvSG9tZS9Ib21lLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.disPlayId }} \r\n \r\n \r\n \r\n \r\n {{ item.sex === \"1\" ? \"男\" : \"女\" }} \r\n \r\n PK时间: {{ formatDate(item.pkTime) }} \r\n 金币: \r\n {{ item.coin + \"K\" }} \r\n \r\n \r\n \r\n \r\n \r\n 暂无内容 \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Home/Home.vue'\nwx.createPage(MiniProgramPage)"],"names":["useCounterStore","uni","res","TUIlogin","request","formatDate"],"mappings":";;;;;;AAkEA,MAAO,gBAAe,MAAW;AACjC,MAAO,gBAAe,MAAW;AACjC,eAAe,MAAW;AAK1B,MAAM,UAAUA,eAAe,gBAAA;AAC/B,MAAK,YAAU;AAAA,EACb,QAAQ,CAAC,SAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,MAAM,CAAE;AAAA,MACR,WAAW;AAAA,MACX,UAAU,CAAE;AAAA,MACZ,MAAM;AAAA;AAAA,MACN,MAAM;AAAA;AAAA,MACN,MAAM,CAAE;AAAA;AAAA,MACR,aAAa,CAAE;AAAA;AAAA,MACf,WAAW;AAAA;AAAA,MACX,gBAAgB,CAAE;AAAA;AAAA,MAClB,uBAAuB,CAAE;AAAA;AAAA,MACzB,UAAU;AAAA;AAAA;EAEb;AAAA,EACD,UAAU;AAER,SAAK,OAAO,EAAE,MAAM,EAAG,CAAA;AACvB,SAAK,OAAO,EAAE,MAAM,EAAG,CAAA;AAAA,EACxB;AAAA,EACD,SAAS;AACPC,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,OAAO,IAAI;AAChB,gBAAQ,OAAO,EAAE,QAAQ,KAAK,KAAM,CAAA;AACpCA,sBAAAA,MAAI,WAAW;AAAA,UACb,KAAK;AAAA,UACL,SAAS,CAACC,SAAQ;AAChB,iBAAK,YAAYA,KAAI;AACrBD,0BAAAA,MAAI,WAAW;AAAA,cACb,KAAK;AAAA,cACL,SAAS,CAACC,SAAQ;AAChB,qBAAK,WAAWA,KAAI;AACpBD,+EAAY,YAAY,KAAK,QAAQ;AACrCE,oCAAAA,SAAS,KAAK,SAAS,OAAO,KAAK,KAAK,IAAI,KAAK,UAAU,OAAO;AAAA,cACnE;AAAA,YACH,CAAC;AAAA,UACF;AAAA,QACH,CAAC;AAAA,MACF;AAAA,IACH,CAAC;AACD,eAAW,MAAM;AACfF,oBAAAA,MAAI,UAAU,EAAE,KAAK,mBAAoB,CAAA;AAAA,IAC1C,GAAE,GAAI;AAAA,EACR;AAAA,EACD,SAAS;AAAA,IACP,sBAAsB;AACpB,WAAK,WAAW;AAChB,WAAK,OAAO,KAAK;AAAA,IAClB;AAAA,IACD,eAAe;AACb,WAAK,WAAW;AAChB,WAAK,OAAO,KAAK;AAAA,IAClB;AAAA,IACD,kBAAkB;AAEhBA,oBAAAA,MAAI,WAAW,EAAE,KAAK,2BAA4B,CAAA;AAAA,IACnD;AAAA,IACD,qBAAqB;AACnB,WAAK,OAAO;AACZ,WAAK,OAAO;AACZ,UAAI,KAAK,aAAa,GAAG;AACvB,aAAK,wBAAwB;aACxB;AACL,aAAK,iBAAiB;MACxB;AACA,WAAK,YAAY;AACjB,WAAK,OAAO,EAAE,MAAM,KAAK,SAAU,CAAA;AAAA,IACpC;AAAA,IACD,MAAM,SAAS,MAAM;AACnBA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AACDA,oBAAAA,MAAY,MAAA,OAAA,8BAAA,MAAM,KAAK,IAAG,KAAK,KAAK,EAAE;AAEtC,YAAM,MAAM,MAAMG,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK;AAAA,UACT,QAAQ,KAAK,KAAK;AAAA,QACnB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC;AACDH,oBAAA,MAAA,MAAA,OAAA,8BAAY,OAAO,GAAG;AACtB,WAAK,cAAc,IAAI;AACvB,UAAI,IAAI,SAAS,KAAK;AACpB,YAAI,IAAI,KAAK,WAAW,GAAG;AACzBA,wBAAG,MAAC,YAAW;AACfA,wBAAY,MAAA,MAAA,OAAA,8BAAA,YAAY,IAAI,IAAI;AAChCA,wBAAAA,MAAI,WAAW;AAAA,YACb,KAAK;AAAA,YACL,SAAS,CAACC,SAAQ;AAChB,cAAAA,KAAI,aAAa,KAAK,cAAc;AAAA,gBAClC,MAAM,KAAK;AAAA,cACb,CAAC;AAAA,YACF;AAAA,UACH,CAAC;AAAA,eACI;AACLD,wBAAG,MAAC,YAAW;AACf,eAAK,kBAAiB;AAAA,QACxB;AAAA,aACK;AACLA,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACD;AAAA,IACD,YAAYI,sBAAU;AAAA,IAEtB,MAAM,OAAO,WAAW;AAEtB,YAAM,MAAM,MAAMD,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,QAAQ;AAAA,UACR,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,UACX;AAAA,UACA,QAAQ,KAAK,KAAK;AAAA,QACnB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC;AACDH,oBAAAA,MAAY,MAAA,OAAA,8BAAA,GAAG;AACf,UAAI,IAAI,SAAS,KAAK;AACpB,aAAK,YAAY;AACjB,YAAI,UAAU,SAAS,GAAG;AACxB,eAAK,sBAAsB,KAAK,GAAG,IAAI,IAAI;AAC3C,cAAI,UAAU,QAAQ,KAAK,UAAU;AACnC,iBAAK,OAAO,KAAK;AAAA,UACnB;AAAA,eACK;AACL,eAAK,eAAe,KAAK,GAAG,IAAI,IAAI;AACpC,cAAI,UAAU,QAAQ,KAAK,UAAU;AACnC,iBAAK,OAAO,KAAK;AAAA,UACnB;AAAA,QACF;AAAA,MACF;AAAA,IACD;AAAA,EACF;AAAA,EACD,kBAAkB;AAChB,SAAK;AACL,SAAK,OAAO,EAAE,MAAM,KAAK,SAAU,CAAA;AAAA,EACpC;AAAA,EACD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtOA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/Mine.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/Mine.js.map
index 75a716c..d8e0cad 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/Mine.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/Mine.js.map
@@ -1 +1 @@
-{"version":3,"file":"Mine.js","sources":["pages/Mine/Mine.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvTWluZS9NaW5lLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ userinfo.nickName }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PK信息 \r\n \r\n 更多PK信息 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ formatDate(item.pkTime) }} \r\n {{item.coin}}K \r\n \r\n 暂无内容 \r\n \r\n \r\n\r\n \r\n \r\n 我的PK记录 \r\n \r\n 更多PK记录 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 失败\r\n \r\n 胜利 \r\n 共{{item.pkNumber}}场 \r\n {{TimeFormatting(item.pkTime)}} \r\n \r\n 暂无内容 \r\n \r\n \r\n\r\n \r\n \r\n 专属客服 \r\n \r\n \r\n \r\n \r\n \r\n \r\n 联系客服 \r\n \r\n\r\n \r\n \r\n 服务协议 \r\n \r\n\r\n \r\n \r\n 退出登录 \r\n \r\n \r\n \r\n \r\n 版权所有 © 2025 ................... \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Mine/Mine.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","formatDate","TimeFormatting","request","TUILogin"],"mappings":";;;;;AAoHA,eAAe,MAAW;AAM1B,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,UAAU,CAAE;AAAA,MACZ,mBAAmB,CAAE;AAAA,MACrB,gBAAgB,CAAE;AAAA;EAErB;AAAA,EACD,SAAS;AACPA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,WAAW,IAAI;AACpBA,sBAAY,MAAA,MAAA,OAAA,8BAAA,KAAK,QAAQ;AACzB,aAAK,iBAAgB;AACrB,aAAK,cAAa;AAAA,MACnB;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,YAAYC,sBAAU;AAAA,IACtB,gBAAgBC,0BAAc;AAAA;AAAA,IAE9B,mBAAkB;AACJC,iCAAQ;AAAA,QAChB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,QAAQ,KAAK,SAAS;AAAA,UACtB,MAAK;AAAA,UACL,MAAK;AAAA,QACN;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AAChB,YAAI,IAAI,QAAQ,KAAK;AACpB,eAAK,oBAAoB,IAAI;AAC7BH,yEAAY,KAAK,iBAAiB;AAAA,eAC7B;AACLA,yEAAY,IAAI,GAAG;AAAA,QACpB;AAAA,MACD,CAAC;AAAA,IACJ;AAAA;AAAA,IAED,gBAAe;AACAG,iCAAQ;AAAA,QACjB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,MAAK;AAAA,UACL,QAAQ,KAAK,SAAS;AAAA,UACtB,MAAK;AAAA,UACL,MAAK;AAAA,QACN;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AAChB,YAAI,IAAI,QAAQ,KAAK;AACpB,eAAK,iBAAiB,IAAI;AAC1BH,wBAAA,MAAA,MAAA,OAAA,8BAAY,KAAK,cAAc;AAAA,eAC1B;AACLA,yEAAY,IAAI,GAAG;AAAA,QACpB;AAAA,MACD,CAAC;AAAA,IACJ;AAAA;AAAA,IAED,gBAAgB;AACdA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA;AAAA,IAED,WAAW;AACTA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA;AAAA,IAED,UAAU;AACRA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA;AAAA,IAED,YAAY;AACVA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA;AAAA,IAED,kBAAkB;AAChBA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA;AAAA,IAED,SAAQ;AACNA,oBAAAA,MAAI,aAAa;AACjBI,oBAAAA,EAAS;AACTJ,oBAAAA,MAAI,SAAS;AAAA,QACX,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA,EACF;AAAA,EACD,YAAY;AAAA,IACV;AAAA,EACD;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClOA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"Mine.js","sources":["pages/Mine/Mine.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvTWluZS9NaW5lLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ userinfo.nickName }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PK信息 \r\n \r\n 更多PK信息 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ formatDate(item.pkTime) }} \r\n {{item.coin}}K \r\n \r\n 暂无内容 \r\n \r\n \r\n\r\n \r\n \r\n 我的PK记录 \r\n \r\n 更多PK记录 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 失败\r\n \r\n 胜利 \r\n 共{{item.pkNumber}}场 \r\n {{TimeFormatting(item.pkTime)}} \r\n \r\n 暂无内容 \r\n \r\n \r\n\r\n \r\n \r\n 专属客服 \r\n \r\n \r\n \r\n \r\n \r\n \r\n 联系客服 \r\n \r\n\r\n \r\n \r\n 服务协议 \r\n \r\n\r\n \r\n \r\n 退出登录 \r\n \r\n \r\n \r\n \r\n 版权所有 © 2025 ................... \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Mine/Mine.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","formatDate","TimeFormatting","request","TUILogin"],"mappings":";;;;;AAoHA,eAAe,MAAW;AAM1B,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,UAAU,CAAE;AAAA,MACZ,mBAAmB,CAAE;AAAA,MACrB,gBAAgB,CAAE;AAAA;EAErB;AAAA,EACD,SAAS;AACPA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,WAAW,IAAI;AACpBA,sBAAY,MAAA,MAAA,OAAA,8BAAA,KAAK,QAAQ;AACzB,aAAK,iBAAgB;AACrB,aAAK,cAAa;AAAA,MACnB;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,YAAYC,sBAAU;AAAA,IACtB,gBAAgBC,0BAAc;AAAA;AAAA,IAE9B,mBAAkB;AACJC,iCAAQ;AAAA,QAChB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,QAAQ,KAAK,SAAS;AAAA,UACtB,MAAK;AAAA,UACL,MAAK;AAAA,QACN;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AAChB,YAAI,IAAI,QAAQ,KAAK;AACpB,eAAK,oBAAoB,IAAI;AAC7BH,yEAAY,KAAK,iBAAiB;AAAA,eAC7B;AACLA,yEAAY,IAAI,GAAG;AAAA,QACpB;AAAA,MACD,CAAC;AAAA,IACJ;AAAA;AAAA,IAED,gBAAe;AACAG,iCAAQ;AAAA,QACjB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,MAAK;AAAA,UACL,QAAQ,KAAK,SAAS;AAAA,UACtB,MAAK;AAAA,UACL,MAAK;AAAA,QACN;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AAChB,YAAI,IAAI,QAAQ,KAAK;AACpB,eAAK,iBAAiB,IAAI;AAC1BH,wBAAA,MAAA,MAAA,OAAA,8BAAY,KAAK,cAAc;AAAA,eAC1B;AACLA,yEAAY,IAAI,GAAG;AAAA,QACpB;AAAA,MACD,CAAC;AAAA,IACJ;AAAA;AAAA,IAED,gBAAgB;AACdA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA;AAAA,IAED,WAAW;AACTA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA;AAAA,IAED,UAAU;AACRA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA;AAAA,IAED,YAAY;AACVA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA;AAAA,IAED,kBAAkB;AAChBA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA;AAAA,IAED,SAAQ;AACNA,oBAAAA,MAAI,aAAa;AACjBI,oBAAAA,EAAS;AACTJ,oBAAAA,MAAI,SAAS;AAAA,QACX,KAAK;AAAA,MACP,CAAC;AAAA,IACF;AAAA,EACF;AAAA,EACD,YAAY;AAAA,IACV;AAAA,EACD;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClOA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/minecomponents/pkInformation.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/minecomponents/pkInformation.js.map
index 85e6c10..49a0e86 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/minecomponents/pkInformation.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/minecomponents/pkInformation.js.map
@@ -1 +1 @@
-{"version":3,"file":"pkInformation.js","sources":["pages/Mine/minecomponents/pkInformation.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvTWluZS9taW5lY29tcG9uZW50cy9wa0luZm9ybWF0aW9uLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PK信息 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.anchorId }} \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ item.sex === \"1\" ? \"男\" : \"女\" }} \r\n \r\n \r\n\r\n {{ item.country }} \r\n\r\n \r\n \r\n 金币: \r\n {{ item.coin }}K \r\n \r\n \r\n PK时间:{{ formatDate(item.pkTime) }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Mine/minecomponents/pkInformation.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","formatDate","request"],"mappings":";;;;AA4FA,MAAO,YAAW,MAAW;AAE7B,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,QAAQ,CAAE;AAAA,MACV,UAAU,CAAE;AAAA,MACZ,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,WAAW;AAAA;EAEd;AAAA,EACD,SAAS;AACPA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,WAAW,IAAI;AACpBA,sBAAY,MAAA,MAAA,OAAA,sDAAA,KAAK,QAAQ;AACzB,aAAK,UAAS;AAAA,MACf;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK,eAAe,KAAK,MAAM;AAAA,EAChC;AAAA,EACD,SAAS;AAAA,IACP,qBAAqB;AACnB,WAAK,OAAO;AACZ,WAAK,SAAS;AACd,WAAK,UAAS;AACd,WAAK,YAAY;AAAA,IAClB;AAAA,IACD,kBAAkB;AAChB,WAAK;AACL,WAAK,UAAS;AAAA,IACf;AAAA,IACD,oBAAoB;AAClB,WAAK,OAAO;AACZ,WAAK,SAAS;AACd,WAAK,UAAS;AACd,WAAK,YAAY;AAAA,IAClB;AAAA,IACD,SAAS;AACPA,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IACD,YAAYC,sBAAU;AAAA,IACtB,YAAY;AACEC,iCAAQ;AAAA,QAClB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,QAAQ,KAAK,SAAS;AAAA,UACtB,MAAM,KAAK;AAAA,UACX,MAAM;AAAA,QACP;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,YAAI,IAAI,QAAQ,KAAK;AACnB,eAAK,OAAO,KAAK,GAAG,IAAI,IAAI;AAC5BF,wBAAY,MAAA,MAAA,OAAA,sDAAA,KAAK,MAAM;AACvB,eAAK,YAAY;AAAA,eACZ;AACLA,iGAAY,IAAI,GAAG;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACF;AAAA,IACD,YAAY,MAAM;AAChB,WAAK,gBAAgB;AACrB,WAAK,aAAa;IACnB;AAAA,IACD,YAAY,MAAM;AACJE,iCAAQ;AAAA,QAClB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK;AAAA,QACV;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,YAAI,IAAI,QAAQ,KAAK;AACnBF,wBAAAA,MAAI,UAAU;AAAA,YACZ,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UACZ,CAAC;AACD,eAAK,UAAS;AAAA,eACT;AACLA,iGAAY,IAAI,GAAG;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACF;AAAA,EACD,YAAY;AAAA,IACV;AAAA,EACD;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7LA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"pkInformation.js","sources":["pages/Mine/minecomponents/pkInformation.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvTWluZS9taW5lY29tcG9uZW50cy9wa0luZm9ybWF0aW9uLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PK信息 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.anchorId }} \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ item.sex === \"1\" ? \"男\" : \"女\" }} \r\n \r\n \r\n\r\n {{ item.country }} \r\n\r\n \r\n \r\n 金币: \r\n {{ item.coin }}K \r\n \r\n \r\n PK时间:{{ formatDate(item.pkTime) }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Mine/minecomponents/pkInformation.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","formatDate","request"],"mappings":";;;;AA4FA,MAAO,YAAW,MAAW;AAE7B,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,QAAQ,CAAE;AAAA,MACV,UAAU,CAAE;AAAA,MACZ,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,WAAW;AAAA;EAEd;AAAA,EACD,SAAS;AACPA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,WAAW,IAAI;AACpBA,sBAAY,MAAA,MAAA,OAAA,sDAAA,KAAK,QAAQ;AACzB,aAAK,UAAS;AAAA,MACf;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK,eAAe,KAAK,MAAM;AAAA,EAChC;AAAA,EACD,SAAS;AAAA,IACP,qBAAqB;AACnB,WAAK,OAAO;AACZ,WAAK,SAAS;AACd,WAAK,UAAS;AACd,WAAK,YAAY;AAAA,IAClB;AAAA,IACD,kBAAkB;AAChB,WAAK;AACL,WAAK,UAAS;AAAA,IACf;AAAA,IACD,SAAS;AACPA,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IACD,YAAYC,sBAAU;AAAA,IACtB,YAAY;AACEC,iCAAQ;AAAA,QAClB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,QAAQ,KAAK,SAAS;AAAA,UACtB,MAAM,KAAK;AAAA,UACX,MAAM;AAAA,QACP;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,YAAI,IAAI,QAAQ,KAAK;AACnB,eAAK,OAAO,KAAK,GAAG,IAAI,IAAI;AAC5BF,wBAAY,MAAA,MAAA,OAAA,sDAAA,KAAK,MAAM;AACvB,eAAK,YAAY;AAAA,eACZ;AACLA,iGAAY,IAAI,GAAG;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACF;AAAA,IACD,YAAY,MAAM;AAChB,WAAK,gBAAgB;AACrB,WAAK,aAAa;IACnB;AAAA,IACD,YAAY,MAAM;AACJE,iCAAQ;AAAA,QAClB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK;AAAA,QACV;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,YAAI,IAAI,QAAQ,KAAK;AACnB,eAAK,mBAAkB;AACvBF,wBAAAA,MAAI,UAAU;AAAA,YACZ,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UACZ,CAAC;AAAA,eACI;AACLA,iGAAY,IAAI,GAAG;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACF;AAAA,EACD,YAAY;AAAA,IACV;AAAA,EACD;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvLA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/minecomponents/pkRecord.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/minecomponents/pkRecord.js.map
index 1dbc06b..0dccb42 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/minecomponents/pkRecord.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Mine/minecomponents/pkRecord.js.map
@@ -1 +1 @@
-{"version":3,"file":"pkRecord.js","sources":["pages/Mine/minecomponents/pkRecord.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvTWluZS9taW5lY29tcG9uZW50cy9wa1JlY29yZC52dWU"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PK记录 \r\n \r\n \r\n \r\n 我发布的PK \r\n 我邀请的PK \r\n \r\n {{ slidetext }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.anchorIdA }} \r\n {{ formatDate(item.pkTime) }} \r\n \r\n 实际打金币: \r\n {{ item.userAcoin }}K \r\n \r\n \r\n \r\n \r\n \r\n V \r\n S \r\n \r\n \r\n \r\n \r\n {{ item.anchorIdB }} \r\n {{ formatDate(item.pkTime) }} \r\n \r\n 实际打金币: \r\n {{ item.userBcoin }}K \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Mine/minecomponents/pkRecord.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","formatDate","request"],"mappings":";;;;AA8FA,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,WAAW;AAAA;AAAA,MACX,SAAS;AAAA;AAAA,MACT,aAAa;AAAA;AAAA,MACb,KAAK;AAAA;AAAA,MACL,WAAW;AAAA;AAAA,MACX,gBAAgB,CAAE;AAAA;AAAA,MAClB,wBAAwB,CAAE;AAAA;AAAA,MAC1B,cAAc,CAAE;AAAA;AAAA,MAChB,UAAU,CAAE;AAAA;AAAA,MACZ,MAAM;AAAA;AAAA;EAET;AAAA,EACD,SAAS;AACPA,kBAAAA,MAAI,WAAW;AAAA,MACX,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AACd,aAAK,WAAW,IAAI;AACtB,aAAK,gBAAgB,CAAC;AACtB,aAAK,gBAAgB,CAAC;AAAA,MACvB;AAAA,IACH,CAAC;AAAA,EACJ;AAAA,EACD,UAAU;AAAA,IACR,iBAAiB;AACf,YAAM,EAAE,SAAS,aAAa,QAAQ;AACtC,YAAM,mBAAmB;AACzB,YAAM,UAAU,cAAc,QAAQ,UAAU;AAChD,aAAO,mBAAmB,SAAS;AAAA,IACpC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,qBAAqB;AACnB,WAAK,YAAY;AACjB,WAAK,OAAO;AACZ,WAAK,gBAAgB,KAAK,OAAO;AAAA,IAClC;AAAA,IACD,kBAAkB;AAChB,WAAK;AACL,WAAK,gBAAgB,KAAK,OAAO;AAAA,IAClC;AAAA,IACD,YAAY,MAAM;AACdA,oBAAAA,MAAI,WAAW;AAAA,QACX,KAAK;AAAA,QACL,SAAS,CAAC,QAAQ;AAChB,cAAI,aAAa,KAAK,cAAc;AAAA,YAClC;AAAA,UACF,CAAC;AAAA,QACF;AAAA,MACH,CAAC;AAAA,IACN;AAAA,IACD,SAAS;AACPA,oBAAAA,MAAI;AAAA,QACF;AAAA,UACE,OAAO;AAAA,QACT;AAAA;IAEH;AAAA,IACD,YAAYC,sBAAU;AAAA;AAAA,IAEtB,gBAAgB,MAAM;AACRC,iCAAQ;AAAA,QAClB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ;AAAA,UACA,QAAQ,KAAK,SAAS;AAAA,UACtB,MAAM,KAAK;AAAA,UACX,MAAM;AAAA,QACP;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,YAAI,IAAI,SAAS,KAAK;AACpB,eAAK,YAAY;AACf,cAAI,SAAS,GAAG;AACd,iBAAK,eAAe,KAAK,GAAG,IAAI,IAAI;AACpCF,8FAAY,KAAK,YAAY;AAC7B,gBAAI,KAAK,YAAY,GAAG;AACtB,mBAAK,eAAe,KAAK;AAAA,YAC3B;AAAA,iBACK;AACL,iBAAK,uBAAuB,KAAK,GAAG,IAAI,IAAI;AAC5CA,0BAAY,MAAA,MAAA,OAAA,iDAAA,KAAK,sBAAsB;AACvC,gBAAI,KAAK,YAAY,GAAG;AACtB,mBAAK,eAAe,KAAK;AAAA,YAC3B;AAAA,UACF;AAAA,eACG;AACLA,4FAAY,IAAI,GAAG;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACF;AAAA;AAAA,IAED,aAAa,KAAK;AAChB,WAAK,UAAU;AACf,WAAK,YAAY,QAAQ,IAAI,WAAW;AACxC,UAAI,QAAQ,GAAG;AACb,aAAK,eAAe,KAAK;AAAA,aACtB;AACH,aAAK,eAAe,KAAK;AAAA,MAC3B;AAAA,IACD;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtMA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"pkRecord.js","sources":["pages/Mine/minecomponents/pkRecord.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvTWluZS9taW5lY29tcG9uZW50cy9wa1JlY29yZC52dWU"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PK记录 \r\n \r\n \r\n \r\n 我发布的PK \r\n 我邀请的PK \r\n \r\n {{ slidetext }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.anchorIdA }} \r\n {{ formatDate(item.pkTime) }} \r\n \r\n 实际金币: \r\n {{ item.userAcoin }}K \r\n \r\n \r\n \r\n \r\n \r\n V \r\n S \r\n \r\n \r\n \r\n \r\n {{ item.anchorIdB }} \r\n {{ formatDate(item.pkTime) }} \r\n \r\n 实际打金币: \r\n {{ item.userBcoin }}K \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Mine/minecomponents/pkRecord.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","formatDate","request"],"mappings":";;;;AA8FA,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,WAAW;AAAA;AAAA,MACX,SAAS;AAAA;AAAA,MACT,aAAa;AAAA;AAAA,MACb,KAAK;AAAA;AAAA,MACL,WAAW;AAAA;AAAA,MACX,gBAAgB,CAAE;AAAA;AAAA,MAClB,wBAAwB,CAAE;AAAA;AAAA,MAC1B,cAAc,CAAE;AAAA;AAAA,MAChB,UAAU,CAAE;AAAA;AAAA,MACZ,MAAM;AAAA;AAAA;EAET;AAAA,EACD,SAAS;AACPA,kBAAAA,MAAI,WAAW;AAAA,MACX,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AACd,aAAK,WAAW,IAAI;AACtB,aAAK,gBAAgB,CAAC;AACtB,aAAK,gBAAgB,CAAC;AAAA,MACvB;AAAA,IACH,CAAC;AAAA,EACJ;AAAA,EACD,UAAU;AAAA,IACR,iBAAiB;AACf,YAAM,EAAE,SAAS,aAAa,QAAQ;AACtC,YAAM,mBAAmB;AACzB,YAAM,UAAU,cAAc,QAAQ,UAAU;AAChD,aAAO,mBAAmB,SAAS;AAAA,IACpC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,qBAAqB;AACnB,WAAK,YAAY;AACjB,WAAK,OAAO;AACZ,WAAK,gBAAgB,KAAK,OAAO;AAAA,IAClC;AAAA,IACD,kBAAkB;AAChB,WAAK;AACL,WAAK,gBAAgB,KAAK,OAAO;AAAA,IAClC;AAAA,IACD,YAAY,MAAM;AACdA,oBAAAA,MAAI,WAAW;AAAA,QACX,KAAK;AAAA,QACL,SAAS,CAAC,QAAQ;AAChB,cAAI,aAAa,KAAK,cAAc;AAAA,YAClC;AAAA,UACF,CAAC;AAAA,QACF;AAAA,MACH,CAAC;AAAA,IACN;AAAA,IACD,SAAS;AACPA,oBAAAA,MAAI;AAAA,QACF;AAAA,UACE,OAAO;AAAA,QACT;AAAA;IAEH;AAAA,IACD,YAAYC,sBAAU;AAAA;AAAA,IAEtB,gBAAgB,MAAM;AACRC,iCAAQ;AAAA,QAClB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ;AAAA,UACA,QAAQ,KAAK,SAAS;AAAA,UACtB,MAAM,KAAK;AAAA,UACX,MAAM;AAAA,QACP;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,YAAI,IAAI,SAAS,KAAK;AACpB,eAAK,YAAY;AACf,cAAI,SAAS,GAAG;AACd,iBAAK,eAAe,KAAK,GAAG,IAAI,IAAI;AACpCF,8FAAY,KAAK,YAAY;AAC7B,gBAAI,KAAK,YAAY,GAAG;AACtB,mBAAK,eAAe,KAAK;AAAA,YAC3B;AAAA,iBACK;AACL,iBAAK,uBAAuB,KAAK,GAAG,IAAI,IAAI;AAC5CA,0BAAY,MAAA,MAAA,OAAA,iDAAA,KAAK,sBAAsB;AACvC,gBAAI,KAAK,YAAY,GAAG;AACtB,mBAAK,eAAe,KAAK;AAAA,YAC3B;AAAA,UACF;AAAA,eACG;AACLA,4FAAY,IAAI,GAAG;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACF;AAAA;AAAA,IAED,aAAa,KAAK;AAChB,WAAK,UAAU;AACf,WAAK,YAAY,QAAQ,IAAI,WAAW;AACxC,UAAI,QAAQ,GAAG;AACb,aAAK,eAAe,KAAK;AAAA,aACtB;AACH,aAAK,eAAe,KAAK;AAAA,MAC3B;AAAA,IACD;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtMA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/PKMessageprocessing/PKMessageprocessing.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/PKMessageprocessing/PKMessageprocessing.js.map
index 409cd39..183e370 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/PKMessageprocessing/PKMessageprocessing.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/PKMessageprocessing/PKMessageprocessing.js.map
@@ -1 +1 @@
-{"version":3,"file":"PKMessageprocessing.js","sources":["pages/PKMessageprocessing/PKMessageprocessing.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvUEtNZXNzYWdlcHJvY2Vzc2luZy9QS01lc3NhZ2Vwcm9jZXNzaW5nLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ SenderData.anchorId }} \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ SenderData.sex == 1 ? \"男\" : \"女\" }} \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ SenderData.sex == 1 ? \"男\" : \"女\" }} \r\n \r\n \r\n {{ SenderData.country }} \r\n \r\n PK时间:{{ formatDate(SenderData.pkTime) }} \r\n \r\n \r\n \r\n \r\n {{ SenderData.coin }} \r\n 金币 \r\n \r\n \r\n \r\n \r\n \r\n {{ SenderData.pkNumber }} \r\n PK场数 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ ReceiverData.anchorId }} \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ ReceiverData.sex == 1 ? \"男\" : \"女\" }} \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ ReceiverData.sex == 1 ? \"男\" : \"女\" }} \r\n \r\n \r\n {{ ReceiverData.country }} \r\n \r\n PK时间:{{ formatDate(ReceiverData.pkTime) }} \r\n \r\n \r\n \r\n \r\n {{ ReceiverData.coin }} \r\n 金币 \r\n \r\n \r\n \r\n \r\n \r\n {{ ReceiverData.pkNumber }} \r\n PK场数 \r\n \r\n \r\n \r\n \r\n\r\n \r\n 接受邀请 \r\n 拒绝邀请 \r\n \r\n 已接受邀请 \r\n 已拒绝邀请 \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/PKMessageprocessing/PKMessageprocessing.vue'\nwx.createPage(MiniProgramPage)"],"names":["request","uni","wx","formatDate"],"mappings":";;;;AAqJA,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,YAAY,CAAE;AAAA,MACd,YAAY,CAAE;AAAA,MACd,cAAc,CAAE;AAAA,MAChB,cAAc,CAAE;AAAA;EAEnB;AAAA,EACD,OAAO,SAAS;AACd,SAAK,aAAa,KAAK,MAAM,QAAQ,UAAU;AAC/C,SAAK,cAAa;AAClB,SAAK,cAAa;AAClB,SAAK,YAAW;AAAA,EACjB;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,MAAM,cAAc;AACN,YAAMA,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK,WAAW;AAAA,QACrB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,aAAK,eAAe,IAAI;AACxBC,sBAAY,MAAA,MAAA,OAAA,4DAAA,KAAK,YAAY;AAAA,MAC/B,CAAC;AAAA,IACF;AAAA;AAAA,IAED,MAAM,gBAAgB;AACR,YAAMD,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK,WAAW;AAAA,QACrB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,aAAK,aAAa,IAAI;AACtBC,sBAAA,MAAA,MAAA,OAAA,4DAAY,KAAK,UAAU;AAAA,MAC7B,CAAC;AAAA,IACF;AAAA;AAAA,IAED,MAAM,gBAAgB;AACR,YAAMD,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK,WAAW;AAAA,QACrB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,aAAK,eAAe,IAAI;AACxBC,sBAAY,MAAA,MAAA,OAAA,4DAAA,KAAK,YAAY;AAAA,MAC/B,CAAC;AAAA,IACF;AAAA,IAED,SAAS;AACPC,oBAAAA,KAAG,aAAa;AAAA,QACd,OAAO;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IACD,YAAYC,sBAAU;AAAA,IACtB,MAAM,UAAU,QAAQ;AACpBF,oBAAY,MAAA,MAAA,OAAA,4DAAA,UAAU,KAAK,UAAU;AACrCA,oBAAAA,MAAA,MAAA,OAAA,4DAAY,MAAM;AAER,YAAMD,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK,WAAW;AAAA,UACpB,UAAU;AAAA,QACX;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACfC,sBAAY,MAAA,MAAA,OAAA,4DAAA,IAAI,IAAI;AACpB,cAAM,WAAW,WAAW,IAAI,WAAW;AAC3C,YAAI,IAAI,SAAS,KAAK;AAClB,eAAK,YAAY;AACjBC,wBAAAA,KAAG,UAAU;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UACZ,CAAC;AACDA,wBAAAA,KAAG,aAAa;AAAA,YACd,OAAO;AAAA,UACT,CAAC;AAAA,eACC;AACFA,wBAAAA,KAAG,UAAU;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UACZ,CAAC;AAAA,QACL;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxPA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"PKMessageprocessing.js","sources":["pages/PKMessageprocessing/PKMessageprocessing.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvUEtNZXNzYWdlcHJvY2Vzc2luZy9QS01lc3NhZ2Vwcm9jZXNzaW5nLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ SenderData.anchorId }} \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ SenderData.sex == 1 ? \"男\" : \"女\" }} \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ SenderData.sex == 1 ? \"男\" : \"女\" }} \r\n \r\n \r\n {{ SenderData.country }} \r\n \r\n PK时间:{{ formatDate(SenderData.pkTime) }} \r\n \r\n \r\n \r\n \r\n {{ SenderData.coin }} \r\n 金币 \r\n \r\n \r\n \r\n \r\n \r\n {{ SenderData.pkNumber }} \r\n PK场数 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ ReceiverData.anchorId }} \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ ReceiverData.sex == 1 ? \"男\" : \"女\" }} \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ ReceiverData.sex == 1 ? \"男\" : \"女\" }} \r\n \r\n \r\n {{ ReceiverData.country }} \r\n \r\n PK时间:{{ formatDate(ReceiverData.pkTime) }} \r\n \r\n \r\n \r\n \r\n {{ ReceiverData.coin }} \r\n 金币 \r\n \r\n \r\n \r\n \r\n \r\n {{ ReceiverData.pkNumber }} \r\n PK场数 \r\n \r\n \r\n \r\n \r\n \r\n \r\n 接受邀请 \r\n 拒绝邀请 \r\n \r\n 等待对方接受邀请 \r\n 已接受邀请 \r\n 已拒绝邀请 \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/PKMessageprocessing/PKMessageprocessing.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","request","wx","formatDate"],"mappings":";;;;AAsJA,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,YAAY,CAAE;AAAA,MACd,YAAY,CAAE;AAAA,MACd,cAAc,CAAE;AAAA,MAChB,cAAc,CAAE;AAAA,MAChB,IAAI;AAAA;EAEP;AAAA,EACD,OAAO,SAAS;AACdA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AAAA,MACpB;AAAA,IACH,CAAC;AACD,SAAK,aAAa,KAAK,MAAM,QAAQ,UAAU;AAC/C,SAAK,cAAa;AAClB,SAAK,cAAa;AAClB,SAAK,YAAW;AAAA,EACjB;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,MAAM,cAAc;AACN,YAAMC,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK,WAAW;AAAA,QACrB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,aAAK,eAAe,IAAI;AACxBD,sBAAY,MAAA,MAAA,OAAA,4DAAA,KAAK,YAAY;AAAA,MAC/B,CAAC;AAAA,IACF;AAAA;AAAA,IAED,MAAM,gBAAgB;AACR,YAAMC,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK,WAAW;AAAA,QACrB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,aAAK,aAAa,IAAI;AACtBD,sBAAA,MAAA,MAAA,OAAA,4DAAY,KAAK,UAAU;AAAA,MAC7B,CAAC;AAAA,IACF;AAAA;AAAA,IAED,MAAM,gBAAgB;AACR,YAAMC,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK,WAAW;AAAA,QACrB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,aAAK,eAAe,IAAI;AACxBD,sBAAY,MAAA,MAAA,OAAA,4DAAA,KAAK,YAAY;AAAA,MAC/B,CAAC;AAAA,IACF;AAAA,IAED,SAAS;AACPE,oBAAAA,KAAG,aAAa;AAAA,QACd,OAAO;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IACD,YAAYC,sBAAU;AAAA,IACtB,MAAM,UAAU,QAAQ;AACpBH,oBAAY,MAAA,MAAA,OAAA,4DAAA,UAAU,KAAK,UAAU;AACrCA,oBAAAA,MAAA,MAAA,OAAA,4DAAY,MAAM;AAER,YAAMC,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,IAAI,KAAK,WAAW;AAAA,UACpB,UAAU;AAAA,QACX;AAAA,QACD,UAAU;AAAA,MACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACfD,sBAAY,MAAA,MAAA,OAAA,4DAAA,IAAI,IAAI;AACpB,cAAM,WAAW,WAAW,IAAI,WAAW;AAC3C,YAAI,IAAI,SAAS,KAAK;AAClB,eAAK,YAAY;AACjBE,wBAAAA,KAAG,UAAU;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UACZ,CAAC;AACDA,wBAAAA,KAAG,aAAa;AAAA,YACd,OAAO;AAAA,UACT,CAAC;AAAA,eACC;AACFA,wBAAAA,KAAG,UAAU;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UACZ,CAAC;AAAA,QACL;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChQA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Setting/Setting.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Setting/Setting.js.map
index 833492a..d3172c6 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Setting/Setting.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/Setting/Setting.js.map
@@ -1 +1 @@
-{"version":3,"file":"Setting.js","sources":["pages/Setting/Setting.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvU2V0dGluZy9TZXR0aW5nLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n 修改 \r\n 取消 \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Setting/Setting.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","postFile","generateFileName","request"],"mappings":";;;;;AAqBA,MAAK,YAAU;AAAA,EACb,QAAQ,CAAC,SAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,UAAS;AAAA,MACT,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM,CAAE;AAAA,MACR,SAAS;AAAA;EAEZ;AAAA,EACD,OAAO,QAAQ;AACbA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AACnB,aAAK,OAAO,IAAI,KAAK;AACrB,aAAK,WAAW,IAAI,KAAK;AAAA,MAC1B;AAAA,IACH,CAAC;AACDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,UAAU,IAAI;AAAA,MACpB;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,SAAS;AACPA,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,IACF;AAAA;AAAA,IAED,UAAU,GAAG;AACX,WAAK,OAAO,EAAE,OAAO;AAAA,IACtB;AAAA;AAAA,IAED,MAAM,SAAS,GAAG;AAChB,YAAM,EAAE,UAAQ,IAAM,EAAE;AACxB,WAAK,WAAW;AAAA,IACjB;AAAA;AAAA,IAED,MAAM,QAAQ,GAAG;AACfA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AAEDC,qCAAS;AAAA,QACL,MAAM,KAAK;AAAA,QACX,MAAKC,4BAAAA,iBAAkB;AAAA,MACzB,CAAC,EAAE,KAAK,CAAC,QAAQ;AACfF,sBAAA,MAAA,MAAA,OAAA,mCAAY,gBAAe,GAAG;AAE9B,aAAK,WAAW;AAAA,MAClB,CAAC,EAAE,MAAM,CAAC,QAAQ;AAChBA,sBAAAA,sDAAY,GAAG;AAAA,MACjB,CAAC;AAED,UAAG,KAAK,UAAS;AACnB,cAAM,MAAM,MAAMG,2BAAQ;AAAA,UACxB,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,MAAM;AAAA,YACJ,IAAI,KAAK;AAAA,YACT,YAAY,KAAK;AAAA,YACjB,UAAU,KAAK;AAAA,YACf,SAAS,KAAK,QAAQ;AAAA,UACvB;AAAA,UACD,UAAU;AAAA,QACZ,CAAC;AACD,YAAI,IAAI,SAAS,KAAK;AACpBH,wBAAAA,MAAI,UAAU;AAAA,YACZ,OAAO;AAAA,YACP,MAAM;AAAA,UACR,CAAC;AACDA,wBAAG,MAAC,eAAe,YAAY,IAAI,KAAK,IAAI;AAC5CA,wBAAG,MAAC,YAAW;AAEfA,wBAAAA,MAAI,aAAa;AAAA,YACb,OAAO;AAAA,UACX,CAAC;AAAA,eAEI;AACLA,wBAAAA,MAAI,UAAU;AAAA,YACZ,OAAO;AAAA,YACP,MAAM;AAAA,UACR,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACC;AAAA,EACF;AACH;;;;;;;;;;;ACjHA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"Setting.js","sources":["pages/Setting/Setting.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvU2V0dGluZy9TZXR0aW5nLnZ1ZQ"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n 修改 \r\n 取消 \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/Setting/Setting.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","postFile","generateFileName","request"],"mappings":";;;;;AAqBA,MAAK,YAAU;AAAA,EACb,QAAQ,CAAC,SAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,UAAU;AAAA,MACV,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM,CAAE;AAAA,MACR,SAAS;AAAA;EAEZ;AAAA,EACD,OAAO,QAAQ;AACbA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AACnB,aAAK,OAAO,IAAI,KAAK;AACrB,aAAK,WAAW,IAAI,KAAK;AAAA,MAC1B;AAAA,IACH,CAAC;AACDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,UAAU,IAAI;AAAA,MACpB;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,SAAS;AACPA,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,IACF;AAAA;AAAA,IAED,UAAU,GAAG;AACX,WAAK,OAAO,EAAE,OAAO;AAAA,IACtB;AAAA;AAAA,IAED,MAAM,SAAS,GAAG;AAChB,YAAM,EAAE,UAAQ,IAAM,EAAE;AACxB,WAAK,WAAW;AAAA,IACjB;AAAA;AAAA,IAED,QAAQ,GAAG;AACTA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AAEDC,qCAAS;AAAA,QACP,MAAM,KAAK;AAAA,QACX,MAAMC,4BAAAA,iBAAkB;AAAA,OACzB,EACE,KAAK,CAAC,QAAQ;AACZF,4BAAA,MAAA,OAAA,mCAAY,IAAI,MAAM,GAAG,EAAE,IAAG,CAAE;AACjCG,mCAAQ;AAAA,UACN,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,MAAM;AAAA,YACJ,IAAI,KAAK;AAAA,YACT,YAAY,IAAI,MAAM,GAAG,EAAE,IAAK;AAAA,YAChC,UAAU,KAAK;AAAA,YACf,SAAS,KAAK,QAAQ;AAAA,UACvB;AAAA,UACD,UAAU;AAAA,QACZ,CAAC,EAAE,KAAK,CAAC,SAAS;AAChB,cAAI,KAAK,SAAS,KAAK;AACrBH,0BAAAA,MAAI,UAAU;AAAA,cACZ,OAAO;AAAA,cACP,MAAM;AAAA,YACR,CAAC;AACDA,0BAAG,MAAC,eAAe,YAAY,KAAK,KAAK,IAAI;AAC7CA,0BAAG,MAAC,YAAW;AAEfA,0BAAAA,MAAI,aAAa;AAAA,cACf,OAAO;AAAA,YACT,CAAC;AAAA,iBAEI;AACLA,0BAAAA,MAAI,UAAU;AAAA,cACZ,OAAO;AAAA,cACP,MAAM;AAAA,YACR,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,OACF,EACA,MAAM,CAAC,QAAQ;AACdA,sBAAAA,uDAAY,GAAG;AAAA,MACjB,CAAC;AAAA,IACJ;AAAA,EACF;AACH;;;;;;;;;;;AC/GA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/UserInformation/UserInformation.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/UserInformation/UserInformation.js.map
index fee3094..84d0107 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/UserInformation/UserInformation.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/UserInformation/UserInformation.js.map
@@ -1 +1 @@
-{"version":3,"file":"UserInformation.js","sources":["pages/UserInformation/UserInformation.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvVXNlckluZm9ybWF0aW9uL1VzZXJJbmZvcm1hdGlvbi52dWU"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n 登录 \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/UserInformation/UserInformation.vue'\nwx.createPage(MiniProgramPage)"],"names":["useCounterStore","generateFileName","uni","postFile","request"],"mappings":";;;;;;AAoBA,MAAM,UAAUA,eAAAA,gBAAgB;AAEhC,MAAK,YAAU;AAAA,EACb,QAAQ,CAAC,SAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,UACE;AAAA,MACF,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM,CAAE;AAAA,MACR,SAAS;AAAA,MACT,UAAU;AAAA,MACV,SAAS;AAAA,MACT,UAAUC,4BAAAA,iBAAkB;AAAA;EAE/B;AAAA,EACD,OAAO,QAAQ;AACbC,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AAAA,MACpB;AAAA,IACH,CAAC;AACDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,UAAU,IAAI;AAAA,MACpB;AAAA,IACH,CAAC;AACDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,WAAW,MAAM,IAAI;AAAA,MAC3B;AAAA,MACD,MAAM,MAAM;AACV,aAAK,WAAW;AAAA,MACjB;AAAA,IACH,CAAC;AAAA,EAGF;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,UAAU,GAAG;AACX,WAAK,OAAO,EAAE,OAAO;AAAA,IACtB;AAAA;AAAA,IAED,MAAM,SAAS,GAAG;AAChB,YAAM,EAAE,UAAQ,IAAM,EAAE;AACxB,WAAK,WAAW;AAAA,IACjB;AAAA;AAAA,IAED,MAAM,QAAQ,GAAG;AACfA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AACD,YAAM,EAAE,KAAK,IAAI,MAAMA,cAAAA,MAAI,MAAM;AAAA,QAC/B,UAAU;AAAA,QACV,eAAe;AAAA,MACjB,CAAC;AACDC,qCAAS;AAAA,QACP,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,MACb,CAAC,EAAE,KAAK,CAAC,SAAS;AACd,aAAK,UAAU;AACHC,mCAAQ;AAAA,UAClB,KAAK;AAAA,UACL,QAAQ;AAAA,UACR,MAAM;AAAA,YACJ,IAAI,KAAK;AAAA,YACT,YAAY,KAAK;AAAA,YACjB,UAAU,KAAK;AAAA,YACf;AAAA,YACA,SAAS,KAAK,QAAQ;AAAA,UACvB;AAAA,UACD,UAAU;AAAA,QACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,cAAI,IAAI,SAAS,KAAK;AACpBF,0BAAAA,MAAI,UAAU;AAAA,cACZ,OAAO;AAAA,cACP,MAAM;AAAA,YACR,CAAC;AACDA,0BAAG,MAAC,eAAe,YAAY,IAAI,KAAK,IAAI;AAC5C,oBAAQ,OAAO,EAAE,QAAO,IAAI,KAAK,MAAM;AACvCA,0BAAG,MAAC,YAAW;AAEfA,0BAAAA,MAAI,SAAS;AAAA,cACX,KAAK,KAAK;AAAA,YACZ,CAAC;AAAA,iBAEI;AACLA,0BAAAA,MAAI,UAAU;AAAA,cACZ,OAAO;AAAA,cACP,MAAM;AAAA,YACR,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,OACF,EACA,MAAM,CAAC,QAAQ;AACdA,sBAAAA,uEAAY,GAAG;AAAA,MACjB,CAAC;AAAA,IACJ;AAAA,EACF;AACH;;;;;;;;;;AC5HA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"UserInformation.js","sources":["pages/UserInformation/UserInformation.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvVXNlckluZm9ybWF0aW9uL1VzZXJJbmZvcm1hdGlvbi52dWU"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n 登录 \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/UserInformation/UserInformation.vue'\nwx.createPage(MiniProgramPage)"],"names":["useCounterStore","generateFileName","uni","postFile","request"],"mappings":";;;;;;AAoBA,MAAM,UAAUA,eAAe,gBAAA;AAE/B,MAAK,YAAU;AAAA,EACb,QAAQ,CAAC,SAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,UAAS;AAAA,MACT,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,MAAM,CAAE;AAAA,MACR,SAAS;AAAA,MACT,UAAU;AAAA,MACV,SAAS;AAAA,MACT,UAAUC,4BAAAA,iBAAkB;AAAA;EAE/B;AAAA,EACD,OAAO,QAAQ;AACbC,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AAAA,MACpB;AAAA,IACH,CAAC;AACDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,UAAU,IAAI;AAAA,MACpB;AAAA,IACH,CAAC;AACDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,WAAW,MAAM,IAAI;AAAA,MAC3B;AAAA,MACD,MAAM,MAAM;AACV,aAAK,WAAW;AAAA,MACjB;AAAA,IACH,CAAC;AAAA,EAGF;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,UAAU,GAAG;AACX,WAAK,OAAO,EAAE,OAAO;AAAA,IACtB;AAAA;AAAA,IAED,MAAM,SAAS,GAAG;AAChB,YAAM,EAAE,UAAQ,IAAM,EAAE;AACxB,WAAK,WAAW;AAAA,IACjB;AAAA;AAAA,IAED,MAAM,QAAQ,GAAG;AACf,UACE,KAAK,SAAS,MACd,KAAK,aAAa,IAClB;AACAA,sBAAAA,MAAI,YAAY;AAAA,UACd,OAAO;AAAA,UACP,MAAM;AAAA,QACR,CAAC;AACD,cAAM,EAAE,KAAK,IAAI,MAAMA,cAAAA,MAAI,MAAM;AAAA,UAC/B,UAAU;AAAA,UACV,eAAe;AAAA,QACjB,CAAC;AACDC,uCAAS;AAAA,UACP,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,SACZ,EACE,KAAK,CAAC,SAAS;AACd,eAAK,UAAU;AACHC,qCAAQ;AAAA,YAClB,KAAK;AAAA,YACL,QAAQ;AAAA,YACR,MAAM;AAAA,cACJ,IAAI,KAAK;AAAA,cACT,YAAY,KAAK;AAAA,cACjB,UAAU,KAAK;AAAA,cACf;AAAA,cACA,SAAS,KAAK,QAAQ;AAAA,YACvB;AAAA,YACD,UAAU;AAAA,UACZ,CAAC,EAAE,KAAK,CAAC,QAAQ;AACf,gBAAI,IAAI,SAAS,KAAK;AACpBF,4BAAAA,MAAI,UAAU;AAAA,gBACZ,OAAO;AAAA,gBACP,MAAM;AAAA,cACR,CAAC;AACDA,4BAAG,MAAC,eAAe,YAAY,IAAI,KAAK,IAAI;AAC5C,sBAAQ,OAAO,EAAE,QAAQ,IAAI,KAAK,KAAG,CAAG;AACxCA,4BAAG,MAAC,YAAW;AAEfA,4BAAAA,MAAI,SAAS;AAAA,gBACX,KAAK,KAAK;AAAA,cACZ,CAAC;AAAA,mBAEI;AACLA,4BAAAA,MAAI,UAAU;AAAA,gBACZ,OAAO;AAAA,gBACP,MAAM;AAAA,cACR,CAAC;AAAA,YACH;AAAA,UACF,CAAC;AAAA,SACF,EACA,MAAM,CAAC,QAAQ;AACdA,wBAAAA,MAAY,MAAA,OAAA,oDAAA,GAAG;AAAA,QACjB,CAAC;AAAA,aACE;AACLA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACD;AAAA,EACF;AACH;;;;;;;;;;ACvIA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/pkDetail/pkDetail.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/pkDetail/pkDetail.js.map
index 46ff5f4..4d05714 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/pkDetail/pkDetail.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/pkDetail/pkDetail.js.map
@@ -1 +1 @@
-{"version":3,"file":"pkDetail.js","sources":["pages/pkDetail/pkDetail.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvcGtEZXRhaWwvcGtEZXRhaWwudnVl"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ item.anchorId }} \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ item.sex === '1'? '男' : '女' }} \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ item.sex === '2' ? '男' : '女' }} \r\n \r\n \r\n {{ item.country }} \r\n \r\n PK时间:{{ formatDate(item.pkTime) }} \r\n \r\n \r\n \r\n \r\n {{ item.coin }} \r\n 金币 \r\n \r\n \r\n \r\n \r\n \r\n {{ item.pkNumber }} \r\n PK场数 \r\n \r\n \r\n \r\n \r\n \r\n 聊了个天 \r\n 立即邀请 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/pkDetail/pkDetail.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","formatDate","TimeFormatting","request"],"mappings":";;;;;AAqIA,MAAK,aAAc,MAAW;AAQ9B,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,MAAM,CAAE;AAAA,MACR,IAAI;AAAA,MACJ,sBAAsB;AAAA,MACtB,MAAM,CAAE;AAAA,MACR,YAAY;AAAA,MACZ,yBAAyB;AAAA,MACzB,UAAU,CAAE;AAAA,MACZ,qBAAqB;AAAA;AAAA;EAGxB;AAAA,EACD,OAAO,SAAS;AAEd,UAAM,eAAe,KAAK;AAE1B,iBAAa,GAAG,cAAc,CAAC,SAAS;AACtC,WAAK,OAAO,KAAK;AACjBA,oBAAA,MAAA,MAAA,OAAA,sCAAY,WAAW,KAAK,IAAI;AAAA,IAClC,CAAC;AAEDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AAAA,MACpB;AAAA,IACH,CAAC;AACDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,WAAW,IAAI;AAAA,MACrB;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMP,YAAYC,sBAAU;AAAA,IACtB,gBAAgBC,0BAAc;AAAA,IAC9B,OAAO,IAAI,OAAO;AAChB,UAAI,KAAK,eAAe,IAAI;AAC1B,aAAK,aAAa;AAClB,aAAK,uBAAuB;AAC5B,aAAK,0BAA0B;AAAA,aAC1B;AACL,aAAK,aAAa,KAAK,eAAe,KAAK,OAAO;AAClD,aAAK,uBAAuB;AAC5B,aAAK,0BAA0B;AAAA,MACjC;AAAA,IACD;AAAA,IACD,aAAa;AACXF,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IACD,OAAO;AACL,WAAK,MAAM,MAAM,KAAK,QAAQ;AAC9B,WAAK,SAAQ;AAAA,IACd;AAAA,IACD,SAAS;AACP,UAAI,KAAK,KAAK,WAAW,KAAK,KAAK,KAAK,uBAAuB,EAAE,QAAQ;AACvEA,sBAAAA,MAAI,UAAU;AAAA,UACZ,MAAM;AAAA,UACN,OAAO;AAAA,QACT,CAAC;AACD;AAAA,MACF;AAEA,YAAM,iBAAiB,MAAM,KAAK,KAAK,QAAQ;AAC/C,YAAM,SAAS,KAAK,UAAU,KAAK,KAAK,KAAK,uBAAuB,CAAC;AACrE,YAAM,WAAW,KAAK,UAAU,KAAK,IAAI;AACzCA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK,mDAAmD,cAAc,WAAW,MAAM,aAAa,QAAQ;AAAA,MAC9G,CAAC;AAAA,IAEF;AAAA,IACD,QAAQ;AACN,WAAK,MAAM,MAAM;IAClB;AAAA,IACD,WAAW;AAET,YAAM,iBAAiB,MAAM,KAAK,KAAK,QAAQ;AAC/CA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK,mDAAmD,cAAc;AAAA,MACxE,CAAC;AAAA,IACF;AAAA,IAED,MAAM,WAAW;AACfA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AACD,YAAM,MAAM,MAAMG,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,QAAQ,KAAK;AAAA,QACd;AAAA,QACD,UAAU;AAAA,MACZ,CAAC;AACD,UAAI,IAAI,SAAS,KAAK;AACpB,YAAI,IAAI,KAAK,WAAW,GAAG;AACzBH,wBAAG,MAAC,YAAW;AACfA,wBAAY,MAAA,MAAA,OAAA,sCAAA,YAAY,IAAI,IAAI;AAChC,eAAK,OAAO,IAAI;AAAA,eACX;AACLA,wBAAG,MAAC,YAAW;AACf,eAAK,kBAAiB;AAAA,QACxB;AAAA,aACK;AACLA,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACD;AAAA,IAED,oBAAoB;AAClB,WAAK,MAAM,aAAa;IACzB;AAAA,EACF;AAAA,EACD,YAAY;AAAA,IACV;AAAA,EACD;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/QA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"pkDetail.js","sources":["pages/pkDetail/pkDetail.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvcGtEZXRhaWwvcGtEZXRhaWwudnVl"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ item.disPlayId }} \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{ item.sex === '1'? '男' : '女' }} \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ item.sex === '2' ? '男' : '女' }} \r\n \r\n \r\n {{ item.country }} \r\n \r\n PK时间:{{ formatDate(item.pkTime) }} \r\n \r\n \r\n \r\n \r\n {{ item.coin }} \r\n 金币 \r\n \r\n \r\n \r\n \r\n \r\n {{ item.pkNumber }} \r\n PK场数 \r\n \r\n \r\n \r\n \r\n \r\n \r\n 聊了个天 \r\n 立即邀请 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/项目/tk-mini-program/pages/pkDetail/pkDetail.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","formatDate","TimeFormatting","request"],"mappings":";;;;;AA0IA,MAAK,aAAc,MAAW;AAQ9B,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,MAAM,CAAE;AAAA,MACR,IAAI;AAAA,MACJ,sBAAsB;AAAA,MACtB,MAAM,CAAE;AAAA,MACR,YAAY;AAAA,MACZ,yBAAyB;AAAA,MACzB,UAAU,CAAE;AAAA,MACZ,qBAAqB;AAAA;AAAA,MAErB,OAAO;AAAA,QACL,iBAAiB;AAAA,MACnB;AAAA;EAEH;AAAA,EACD,OAAO,SAAS;AAEd,UAAM,eAAe,KAAK;AAE1B,iBAAa,GAAG,cAAc,CAAC,SAAS;AACtC,WAAK,OAAO,KAAK;AACjBA,oBAAA,MAAA,MAAA,OAAA,sCAAY,WAAW,KAAK,IAAI;AAAA,IAClC,CAAC;AAEDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AAAA,MACpB;AAAA,IACH,CAAC;AACDA,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,WAAW,IAAI;AAAA,MACrB;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMP,YAAYC,sBAAU;AAAA,IACtB,gBAAgBC,0BAAc;AAAA,IAC9B,OAAO,IAAI,OAAO;AAChB,UAAI,KAAK,eAAe,IAAI;AAC1B,aAAK,aAAa;AAClB,aAAK,uBAAuB;AAC5B,aAAK,0BAA0B;AAAA,aAC1B;AACL,aAAK,aAAa,KAAK,eAAe,KAAK,OAAO;AAClD,aAAK,uBAAuB;AAC5B,aAAK,0BAA0B;AAAA,MACjC;AAAA,IACD;AAAA,IACD,aAAa;AACXF,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,IACF;AAAA,IACD,OAAO;AACL,WAAK,MAAM,MAAM,KAAK,QAAQ;AAC9B,WAAK,SAAQ;AAAA,IACd;AAAA,IACD,SAAS;AACP,UAAI,KAAK,KAAK,WAAW,KAAK,KAAK,KAAK,uBAAuB,EAAE,QAAQ;AACvEA,sBAAAA,MAAI,UAAU;AAAA,UACZ,MAAM;AAAA,UACN,OAAO;AAAA,QACT,CAAC;AACD;AAAA,MACF;AAEA,YAAM,iBAAiB,MAAM,KAAK,KAAK,QAAQ;AAC/C,YAAM,SAAS,KAAK,UAAU,KAAK,KAAK,KAAK,uBAAuB,CAAC;AACrE,YAAM,WAAW,KAAK,UAAU,KAAK,IAAI;AACzCA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK,mDAAmD,cAAc,WAAW,MAAM,aAAa,QAAQ;AAAA,MAC9G,CAAC;AAAA,IAEF;AAAA,IACD,QAAQ;AACN,WAAK,MAAM,MAAM;IAClB;AAAA,IACD,WAAW;AAET,YAAM,iBAAiB,MAAM,KAAK,KAAK,QAAQ;AAC/CA,oBAAAA,MAAI,WAAW;AAAA,QACb,KAAK,mDAAmD,cAAc;AAAA,MACxE,CAAC;AAAA,IACF;AAAA,IAED,MAAM,WAAW;AACfA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AACD,YAAM,MAAM,MAAMG,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,QAAQ,KAAK;AAAA,QACd;AAAA,QACD,UAAU;AAAA,MACZ,CAAC;AACD,UAAI,IAAI,SAAS,KAAK;AACpB,YAAI,IAAI,KAAK,WAAW,GAAG;AACzBH,wBAAG,MAAC,YAAW;AACfA,wBAAY,MAAA,MAAA,OAAA,sCAAA,YAAY,IAAI,IAAI;AAChC,eAAK,OAAO,IAAI;AAAA,eACX;AACLA,wBAAG,MAAC,YAAW;AACf,eAAK,kBAAiB;AAAA,QACxB;AAAA,aACK;AACLA,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACD;AAAA,IAED,oBAAoB;AAClB,WAAK,MAAM,aAAa;IACzB;AAAA,EACF;AAAA,EACD,YAAY;AAAA,IACV;AAAA,EACD;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvRA,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/recompose.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/recompose.js.map
index 69694a4..e4fdf17 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/recompose.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/recompose.js.map
@@ -1 +1 @@
-{"version":3,"file":"recompose.js","sources":["pages/Mine/minecomponents/recompose/recompose.vue"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 请填写主播名称 \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n 请选择国家 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 请选择性别 \r\n \r\n \r\n \r\n \r\n \r\n \r\n 金币数量: \r\n \r\n 单位: \r\n K \r\n \r\n 请填写金币数量 \r\n \r\n \r\n \r\n \r\n 请选择日期 \r\n \r\n \r\n \r\n \r\n 选择场数: \r\n \r\n 次 \r\n \r\n 请填写场数 \r\n \r\n \r\n \r\n\r\n \r\n 发布 \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n"],"names":["optionsArray","formatDate","uni","request"],"mappings":";;;;;AAmJA,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,SAAS;AAAA;AAAA,MACT,QAAQ;AAAA,QACN,EAAE,OAAO,KAAK,OAAO,EAAG;AAAA,QACxB,EAAE,OAAO,KAAK,OAAO,EAAG;AAAA,MACzB;AAAA,MACD,SAASA,8BAAY;AAAA,MACrB,UAAU;AAAA;AAAA,MACV,YAAY;AAAA;AAAA,MACZ,aAAa;AAAA;AAAA,MACb,SAAS;AAAA;AAAA,MACT,SAAS;AAAA;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,MACN,gBAAgB;AAAA;AAAA,MAChB,IAAI;AAAA;AAAA,MACJ,aAAa;AAAA;AAAA,MACb,YAAY;AAAA;AAAA;EAEf;AAAA,EACD,OAAO;AAAA,IACL,SAAQ;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACD;AAAA,EACD,OAAO;AAAA,IACL,QAAQ,aAAa,aAAa;AAChC,WAAK,cAAc,YAAY;AAC/B,WAAK,UAAU,YAAY;AAC3B,WAAK,UAAU,YAAY;AAC3B,WAAK,iBAAiBC,sBAAAA,WAAW,YAAY,MAAM;AACnD,WAAK,KAAK,YAAY;AACtB,WAAK,aAAa,YAAY;AAC9B,WAAK,WAAW,YAAY;AAC5B,WAAK,UAAU,YAAY,QAAQ,MAAM,IAAI;AAAA,IAC/C;AAAA,EACD;AAAA,EACD,UAAU;AACRC,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AAAA,MACpB;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,OAAO,MAAM;AACX,WAAK,UAAU,KAAK;AACpBA,oBAAAA,MAAA,MAAA,OAAA,4DAAY,IAAI;AAAA,IACjB;AAAA;AAAA,IAED,QAAQ,MAAM;AACZ,WAAK,WAAW,KAAK;AACrBA,oBAAAA,MAAA,MAAA,OAAA,4DAAY,IAAI;AAAA,IACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQD,OAAO;AACL,UAAI,KAAK,SAAS;AAChB,aAAK,UAAU;AACf,aAAK,OAAO;AACZ,aAAK,aAAa;AAClB,aAAK,UAAU;AACf,aAAK,cAAc;AACnB,aAAK,UAAU;AACf,aAAK,iBAAiB;AACtB,aAAK,WAAW;AAChB,aAAK,UAAU;AAAA,aACV;AACL,aAAK,UAAU;AAAA,MACjB;AAAA,IACD;AAAA;AAAA,IAED,YAAY,SAAU,OAAO;AAC3B,WAAK,aAAa,MAAM,OAAO;AAAA,IAChC;AAAA,IAED,MAAM,UAAU;AAEd,UACE,KAAK,cAAc,MAAM,KAAK,cAAc,QAC5C,KAAK,WAAW,KAAK,KAAK,WAAW,QACrC,KAAK,eAAc,MAAM,KAAK,eAAe,QAC7C,KAAK,kBAAkB,MAAM,KAAK,kBAAkB,QACpD,KAAK,YAAY,MAAM,IAAI,YAAY,QACvC,KAAK,kBAAkB,MAAM,KAAK,kBAAkB,QACpD,KAAK,WAAW,MAAM,KAAK,WAAW,MACtC;AACA,aAAK,OAAO;AACZ;AAAA,MACF;AAEA,YAAM,YAAY,KAAK,eAAe,QAAQ,KAAK,GAAG;AACtD,YAAM,YAAY,KAAK,MAAM,SAAS;AACtC,UAAI,MAAM,SAAS,GAAG;AACpB,cAAM,IAAI,MAAM,wBAAwB,KAAK,cAAc,EAAE;AAAA,MAC/D;AACA,WAAK,cAAc,KAAK,MAAM,YAAY,GAAI;AAC9C,YAAM,mBAAmB,KAAK,MAAM,KAAK,IAAG,IAAK,GAAI;AAErD,UAAI,KAAK,cAAc,kBAAkB;AACvCA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AACD;AAAA,MACF;AAEAA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AACD,YAAM,MAAM,MAAMC,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,UAAU,KAAK;AAAA,UACf,QAAQ,KAAK;AAAA,UACb,KAAK,KAAK;AAAA,UACV,SAAS,KAAK;AAAA,UACd,MAAM,KAAK;AAAA,UACX,QAAQ,KAAK;AAAA,UACb,QAAQ;AAAA,UACR,UAAU,KAAK;AAAA,UACf,YAAY;AAAA,UACZ,UAAU,KAAK;AAAA,QAChB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC;AACD,UAAI,IAAI,SAAS,KAAK;AACpB,aAAK,UAAU;AACf,aAAK,OAAO;AACZ,aAAK,aAAa;AAClB,aAAK,UAAU;AACf,aAAK,cAAc;AACnB,aAAK,UAAU;AACf,aAAK,iBAAiB;AACtB,aAAK,UAAU;AACfD,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,aACI;AACLA,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACD;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
+{"version":3,"file":"recompose.js","sources":["pages/Mine/minecomponents/recompose/recompose.vue"],"sourcesContent":["\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n 请填写主播名称 \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n 请选择国家 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 请选择性别 \r\n \r\n \r\n\r\n \r\n \r\n 金币数量: \r\n \r\n 单位: \r\n K \r\n \r\n 请填写金币数量 \r\n \r\n\r\n \r\n \r\n 请选择日期 \r\n \r\n \r\n \r\n \r\n 选择场数: \r\n \r\n 次 \r\n \r\n 请填写场数 \r\n \r\n \r\n \r\n\r\n \r\n 发布 \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n"],"names":["optionsArray","formatDate","uni","request"],"mappings":";;;;;AAqKA,MAAK,YAAU;AAAA,EACb,OAAO;AACL,WAAO;AAAA,MACL,SAAS;AAAA;AAAA,MACT,QAAQ;AAAA,QACN,EAAE,OAAO,KAAK,OAAO,EAAG;AAAA,QACxB,EAAE,OAAO,KAAK,OAAO,EAAG;AAAA,MACzB;AAAA,MACD,SAASA,8BAAY;AAAA,MACrB,UAAU;AAAA;AAAA,MACV,YAAY;AAAA;AAAA,MACZ,aAAa;AAAA;AAAA,MACb,SAAS;AAAA;AAAA,MACT,SAAS;AAAA;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,MACN,gBAAgB;AAAA;AAAA,MAChB,IAAI;AAAA;AAAA,MACJ,aAAa;AAAA;AAAA,MACb,YAAY;AAAA;AAAA;EAEf;AAAA,EACD,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,IACP;AAAA,EACF;AAAA,EACD,OAAO;AAAA,IACL,QAAQ,aAAa,aAAa;AAChC,WAAK,cAAc,YAAY;AAC/B,WAAK,UAAU,YAAY;AAC3B,WAAK,UAAU,YAAY;AAC3B,WAAK,iBAAiBC,sBAAAA,WAAW,YAAY,MAAM;AACnD,WAAK,KAAK,YAAY;AACtB,WAAK,aAAa,YAAY;AAC9B,WAAK,WAAW,YAAY;AAC5B,WAAK,UAAU,YAAY,QAAQ,MAAM,IAAI;AAAA,IAC9C;AAAA,EACF;AAAA,EACD,UAAU;AACRC,kBAAAA,MAAI,WAAW;AAAA,MACb,KAAK;AAAA,MACL,SAAS,CAAC,QAAQ;AAChB,aAAK,KAAK,IAAI,KAAK;AAAA,MACpB;AAAA,IACH,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA;AAAA,IAEP,OAAO,MAAM;AACX,WAAK,UAAU,KAAK;AACpBA,oBAAAA,MAAA,MAAA,OAAA,4DAAY,IAAI;AAAA,IACjB;AAAA;AAAA,IAED,QAAQ,MAAM;AACZ,WAAK,WAAW,KAAK;AACrBA,oBAAAA,MAAA,MAAA,OAAA,4DAAY,IAAI;AAAA,IACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQD,OAAO;AACL,UAAI,KAAK,SAAS;AAChB,aAAK,UAAU;AACf,aAAK,OAAO;AACZ,aAAK,aAAa;AAClB,aAAK,UAAU;AACf,aAAK,cAAc;AACnB,aAAK,UAAU;AACf,aAAK,iBAAiB;AACtB,aAAK,WAAW;AAChB,aAAK,UAAU;AAAA,aACV;AACL,aAAK,UAAU;AAAA,MACjB;AAAA,IACD;AAAA;AAAA,IAED,YAAY,SAAU,OAAO;AAC3B,WAAK,aAAa,MAAM,OAAO;AAAA,IAChC;AAAA,IAED,MAAM,UAAU;AAEd,UACG,KAAK,cAAc,MAAM,KAAK,cAAc,QAC5C,KAAK,WAAW,KAAK,KAAK,WAAW,QACrC,KAAK,eAAe,MAAM,KAAK,eAAe,QAC9C,KAAK,kBAAkB,MAAM,KAAK,kBAAkB,QACpD,KAAK,YAAY,MAAM,IAAI,YAAY,QACvC,KAAK,kBAAkB,MAAM,KAAK,kBAAkB,QACpD,KAAK,WAAW,MAAM,KAAK,WAAW,MACvC;AACA,aAAK,OAAO;AACZ;AAAA,MACF;AAEA,UAAI,KAAK,QAAQ,SAAS,KAAK,UAAU,GAAG;AAC1CA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AACD;AAAA,MACF;AAEA,YAAM,YAAY,KAAK,eAAe,QAAQ,KAAK,GAAG;AACtD,YAAM,YAAY,KAAK,MAAM,SAAS;AACtC,UAAI,MAAM,SAAS,GAAG;AACpB,cAAM,IAAI,MAAM,wBAAwB,KAAK,cAAc,EAAE;AAAA,MAC/D;AACA,WAAK,cAAc,KAAK,MAAM,YAAY,GAAI;AAC9C,YAAM,mBAAmB,KAAK,MAAM,KAAK,IAAG,IAAK,GAAI;AAErD,UAAI,KAAK,cAAc,kBAAkB;AACvCA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AACD;AAAA,MACF;AAEAA,oBAAAA,MAAI,YAAY;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC;AACD,YAAM,MAAM,MAAMC,2BAAQ;AAAA,QACxB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,UAAU,KAAK;AAAA,UACf,QAAQ,KAAK;AAAA,UACb,KAAK,KAAK;AAAA,UACV,SAAS,KAAK;AAAA,UACd,MAAM,KAAK;AAAA,UACX,QAAQ,KAAK;AAAA,UACb,QAAQ;AAAA,UACR,UAAU,KAAK;AAAA,UACf,YAAY;AAAA,UACZ,UAAU,KAAK;AAAA,QAChB;AAAA,QACD,UAAU;AAAA,MACZ,CAAC;AACD,UAAI,IAAI,SAAS,KAAK;AACpB,aAAK,UAAU;AACf,aAAK,OAAO;AACZ,aAAK,aAAa;AAClB,aAAK,UAAU;AACf,aAAK,cAAc;AACnB,aAAK,UAAU;AACf,aAAK,iBAAiB;AACtB,aAAK,UAAU;AACfD,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,aACI;AACLA,sBAAG,MAAC,YAAW;AACfA,sBAAAA,MAAI,UAAU;AAAA,UACZ,OAAO;AAAA,UACP,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACD;AAAA,EACF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/NewAddedPk.js b/unpackage/dist/dev/mp-weixin/NewAddedPk.js
new file mode 100644
index 0000000..a274717
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/NewAddedPk.js
@@ -0,0 +1,284 @@
+"use strict";
+const common_vendor = require("./common/vendor.js");
+const components_NationalDictionary = require("./components/NationalDictionary.js");
+const components_request = require("./components/request.js");
+const _sfc_main = {
+ data() {
+ return {
+ genders: 0,
+ //性别
+ Gender: [
+ { label: "男", value: 1 },
+ { label: "女", value: 2 }
+ ],
+ Country: components_NationalDictionary.optionsArray,
+ countrys: "",
+ //国家
+ nameAnchor: "",
+ //主播名称
+ numberCoins: "",
+ //金币数量
+ session: "",
+ //场数
+ remarks: "",
+ //备注
+ Display: false,
+ Hint: false,
+ datetimesingle: "",
+ //日期
+ id: null,
+ //用户id
+ sendingTime: "",
+ //发送时间
+ filterable: true,
+ //是否可搜索
+ AnchorProfilePicture: ""
+ //主播头像
+ };
+ },
+ mounted() {
+ common_vendor.index.getStorage({
+ key: "userinfo",
+ success: (res) => {
+ this.id = res.data.id;
+ }
+ });
+ },
+ methods: {
+ gender(item) {
+ this.genders = item.value;
+ common_vendor.index.__f__("log", "at pages/NewAddedPk/NewAddedPk.vue:182", item);
+ },
+ country(item) {
+ this.countrys = item.value;
+ common_vendor.index.__f__("log", "at pages/NewAddedPk/NewAddedPk.vue:187", item);
+ },
+ handleOverlayClick(event) {
+ if (event.target === this.$el) {
+ this.Display = false;
+ this.Hint = false;
+ }
+ },
+ open() {
+ if (this.Display) {
+ this.Display = false;
+ this.Hint = false;
+ this.nameAnchor = "";
+ this.genders = 0;
+ this.numberCoins = "";
+ this.remarks = "";
+ this.datetimesingle = "";
+ this.countrys = "";
+ this.session = "";
+ } else {
+ this.Display = true;
+ }
+ },
+ //获取主播名称以及头像地址
+ blur(event) {
+ if (this.nameAnchor !== event.target.value) {
+ this.nameAnchor = event.target.value;
+ common_vendor.index.showLoading({
+ title: "正在验证主播",
+ mask: true
+ });
+ common_vendor.index.request({
+ url: "https://python.yolojt.com/api/" + this.nameAnchor,
+ success: (res) => {
+ if (res.data.code === 200) {
+ common_vendor.index.hideLoading();
+ common_vendor.index.showToast({
+ title: "查询成功",
+ icon: "none",
+ duration: 3e3
+ });
+ this.AnchorProfilePicture = res.data.data;
+ } else {
+ common_vendor.index.hideLoading();
+ common_vendor.index.showToast({
+ title: "未查询到该主播",
+ icon: "none",
+ duration: 3e3
+ });
+ }
+ },
+ fail: function(res) {
+ common_vendor.index.hideLoading();
+ common_vendor.index.showToast({
+ title: "网络请求失败",
+ icon: "none",
+ duration: 3e3
+ });
+ }
+ });
+ } else {
+ return;
+ }
+ },
+ async Publish() {
+ if (this.nameAnchor === "" || this.genders === 0 || this.numberCoins === "" || this.countrys === "" || this.datetimesingle === "" || this.session === "" || this.AnchorProfilePicture === "") {
+ this.Hint = true;
+ return;
+ }
+ if (this.remarks.includes(this.nameAnchor)) {
+ common_vendor.index.showToast({
+ title: "备注中不能包含主播昵称",
+ icon: "none",
+ duration: 2e3
+ });
+ return;
+ }
+ const isoString = this.datetimesingle.replace(" ", "T");
+ const timestamp = Date.parse(isoString);
+ if (isNaN(timestamp)) {
+ throw new Error(`Invalid date format: ${this.datetimesingle}`);
+ }
+ this.sendingTime = Math.floor(timestamp / 1e3);
+ const secondsTimestamp = Math.floor(Date.now() / 1e3);
+ if (this.sendingTime < secondsTimestamp) {
+ common_vendor.index.showToast({
+ title: "日期不能早于当前时间",
+ icon: "none",
+ duration: 2e3
+ });
+ return;
+ }
+ common_vendor.index.showLoading({
+ title: "发布中...",
+ mask: true
+ });
+ const res = await components_request.request({
+ url: "pk/addPkData",
+ method: "POST",
+ data: {
+ anchorId: this.nameAnchor,
+ pkTime: this.sendingTime,
+ sex: this.genders,
+ country: this.countrys,
+ coin: this.numberCoins,
+ remark: this.remarks,
+ senderId: this.id,
+ anchorIcon: this.AnchorProfilePicture,
+ pkNumber: this.session
+ },
+ userInfo: true
+ });
+ if (res.code === 200) {
+ this.Display = false;
+ this.Hint = false;
+ this.nameAnchor = "";
+ this.genders = 0;
+ this.numberCoins = "";
+ this.remarks = "";
+ this.datetimesingle = "";
+ this.session = "";
+ this.AnchorProfilePicture = "";
+ common_vendor.index.hideLoading();
+ common_vendor.index.showToast({
+ title: "发布成功",
+ icon: "success",
+ duration: 2e3
+ });
+ } else {
+ common_vendor.index.hideLoading();
+ common_vendor.index.showToast({
+ title: "发布失败",
+ icon: "none",
+ duration: 2e3
+ });
+ }
+ }
+ }
+};
+if (!Array) {
+ const _easycom_wht_select2 = common_vendor.resolveComponent("wht-select");
+ const _easycom_uni_number_box2 = common_vendor.resolveComponent("uni-number-box");
+ const _easycom_uni_datetime_picker2 = common_vendor.resolveComponent("uni-datetime-picker");
+ const _easycom_uni_easyinput2 = common_vendor.resolveComponent("uni-easyinput");
+ (_easycom_wht_select2 + _easycom_uni_number_box2 + _easycom_uni_datetime_picker2 + _easycom_uni_easyinput2)();
+}
+const _easycom_wht_select = () => "./uni_modules/wht-select/components/wht-select/wht-select.js";
+const _easycom_uni_number_box = () => "./uni_modules/uni-number-box/components/uni-number-box/uni-number-box.js";
+const _easycom_uni_datetime_picker = () => "./uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.js";
+const _easycom_uni_easyinput = () => "./uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js";
+if (!Math) {
+ (_easycom_wht_select + _easycom_uni_number_box + _easycom_uni_datetime_picker + _easycom_uni_easyinput)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $data.Display
+ }, $data.Display ? common_vendor.e({
+ b: common_vendor.o$1(($event) => $options.open()),
+ c: common_vendor.o$1((...args) => _ctx.NameAnchor && _ctx.NameAnchor(...args)),
+ d: common_vendor.o$1((...args) => $options.blur && $options.blur(...args)),
+ e: $data.nameAnchor === "" && $data.Hint === true
+ }, $data.nameAnchor === "" && $data.Hint === true ? {} : {}, {
+ f: common_vendor.o$1($options.country),
+ g: common_vendor.p({
+ backgroundColor: "#ffffff",
+ placeholderColor: "#666666",
+ textColor: "#666666",
+ borderColor: "#ffffff",
+ options: $data.Country,
+ filterable: $data.filterable,
+ placeholder: "请选择国家"
+ }),
+ h: $data.countrys === "" && $data.Hint === true
+ }, $data.countrys === "" && $data.Hint === true ? {} : {}, {
+ i: common_vendor.o$1($options.gender),
+ j: common_vendor.p({
+ backgroundColor: "#ffffff",
+ placeholderColor: "#666666",
+ textColor: "#666666",
+ borderColor: "#ffffff",
+ options: $data.Gender,
+ placeholder: "性别"
+ }),
+ k: $data.genders === 0
+ }, $data.genders === 0 ? {} : {}, {
+ l: $data.genders === 1
+ }, $data.genders === 1 ? {} : {}, {
+ m: $data.genders === 2
+ }, $data.genders === 2 ? {} : {}, {
+ n: $data.genders === 0 && $data.Hint === true
+ }, $data.genders === 0 && $data.Hint === true ? {} : {}, {
+ o: common_vendor.o$1(($event) => $data.numberCoins = $event),
+ p: common_vendor.p({
+ max: 9999999999,
+ background: "#03ABA8",
+ modelValue: $data.numberCoins
+ }),
+ q: $data.numberCoins === "" && $data.Hint === true
+ }, $data.numberCoins === "" && $data.Hint === true ? {} : {}, {
+ r: common_vendor.o$1(($event) => $data.datetimesingle = $event),
+ s: common_vendor.p({
+ type: "datetime",
+ ["hide-second"]: "true",
+ modelValue: $data.datetimesingle
+ }),
+ t: $data.datetimesingle === "" && $data.Hint === true
+ }, $data.datetimesingle === "" && $data.Hint === true ? {} : {}, {
+ v: common_vendor.o$1(($event) => $data.session = $event),
+ w: common_vendor.p({
+ background: "#03ABA8",
+ modelValue: $data.session
+ }),
+ x: $data.session === "" && $data.Hint === true
+ }, $data.session === "" && $data.Hint === true ? {} : {}, {
+ y: common_vendor.o$1(($event) => $data.remarks = $event),
+ z: common_vendor.p({
+ type: "textarea",
+ placeholder: "备注",
+ maxlength: "-1",
+ modelValue: $data.remarks
+ }),
+ A: common_vendor.o$1(($event) => $options.Publish()),
+ B: common_vendor.o$1(() => {
+ }),
+ C: common_vendor.n($data.Display ? "create-module" : "close-animation "),
+ D: common_vendor.o$1(($event) => $options.open())
+ }) : {});
+}
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-96d38e2b"]]);
+exports.MiniProgramPage = MiniProgramPage;
+//# sourceMappingURL=../.sourcemap/mp-weixin/NewAddedPk.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/adapter-vue.js b/unpackage/dist/dev/mp-weixin/TUIKit/adapter-vue.js
new file mode 100644
index 0000000..4779f31
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/adapter-vue.js
@@ -0,0 +1,6 @@
+"use strict";
+const common_vendor = require("../common/vendor.js");
+let vueVersion;
+vueVersion = 3;
+common_vendor.index.__f__("warn", "at TUIKit/adapter-vue.ts:13", `[adapter-vue]: vue version is ${vueVersion}`);
+//# sourceMappingURL=../../.sourcemap/mp-weixin/TUIKit/adapter-vue.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.js
new file mode 100644
index 0000000..b3efede
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.js
@@ -0,0 +1,59 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: ["isGroup"],
+ emits: ["openGroupManagement"],
+ setup(__props, { emit: __emit }) {
+ const currentConversation = common_vendor.ref();
+ const typingStatus = common_vendor.ref(false);
+ const setChatHeaderContent = (content) => {
+ var _a;
+ (_a = common_vendor.i) == null ? void 0 : _a.setNavigationBarTitle({
+ title: content || "云通信 IM"
+ });
+ };
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdated
+ });
+ common_vendor.Jt.watch(common_vendor.o.CHAT, {
+ typingStatus: onTypingStatusUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdated
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.CHAT, {
+ typingStatus: onTypingStatusUpdated
+ });
+ });
+ common_vendor.onLoad(() => {
+ var _a;
+ setChatHeaderContent((_a = currentConversation.value) == null ? void 0 : _a.getShowName());
+ });
+ function onCurrentConversationUpdated(conversation) {
+ var _a;
+ currentConversation.value = conversation;
+ if (!typingStatus.value) {
+ setChatHeaderContent((_a = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _a.getShowName());
+ }
+ }
+ function onTypingStatusUpdated(status) {
+ var _a;
+ typingStatus.value = status;
+ if (typingStatus.value) {
+ setChatHeaderContent(common_vendor.Wt.t("TUIChat.对方正在输入"));
+ } else {
+ setChatHeaderContent((_a = currentConversation.value) == null ? void 0 : _a.getShowName());
+ }
+ }
+ return (_ctx, _cache) => {
+ return {};
+ };
+ }
+});
+wx.createComponent(_sfc_main);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/chat-header/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.wxml
new file mode 100644
index 0000000..f6bb233
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/chat-header/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/config.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/config.js
new file mode 100644
index 0000000..9ec9e90
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/config.js
@@ -0,0 +1,69 @@
+"use strict";
+class TUIChatConfig {
+ constructor() {
+ this.chatType = "";
+ this.features = {
+ DownloadFile: true,
+ CopyMessage: true,
+ DeleteMessage: true,
+ RevokeMessage: true,
+ QuoteMessage: true,
+ ForwardMessage: true,
+ TranslateMessage: true,
+ VoiceToText: true,
+ MultiSelection: true,
+ EmojiReaction: true,
+ InputEmoji: true,
+ InputStickers: true,
+ InputImage: true,
+ InputVoice: true,
+ InputVideo: true,
+ InputFile: true,
+ InputEvaluation: true,
+ InputQuickReplies: true,
+ InputCustomMessage: true,
+ InputMention: true,
+ MessageSearch: true,
+ ReadStatus: true
+ };
+ this.theme = "light";
+ }
+ static getInstance() {
+ if (!TUIChatConfig.instance) {
+ TUIChatConfig.instance = new TUIChatConfig();
+ }
+ return TUIChatConfig.instance;
+ }
+ setChatType(chatType) {
+ this.chatType = chatType;
+ }
+ getChatType() {
+ return this.chatType;
+ }
+ hideTUIChatFeatures(features) {
+ if (!features) {
+ return;
+ }
+ features.forEach((feature) => {
+ if (this.features[feature]) {
+ this.features[feature] = false;
+ }
+ });
+ }
+ getFeatureConfig(key) {
+ if (key) {
+ return this.features[key];
+ }
+ return this.features;
+ }
+ setTheme(theme) {
+ this.theme = theme;
+ }
+ getTheme() {
+ return this.theme;
+ }
+}
+const ChatConfig = TUIChatConfig.getInstance();
+ChatConfig.hideTUIChatFeatures.bind(ChatConfig);
+exports.ChatConfig = ChatConfig;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/config.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/custom-emoji.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/custom-emoji.js
new file mode 100644
index 0000000..5795d8e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/custom-emoji.js
@@ -0,0 +1,6 @@
+"use strict";
+const CUSTOM_BIG_EMOJI_URL = "";
+const CUSTOM_BIG_EMOJI_GROUP_LIST = [];
+exports.CUSTOM_BIG_EMOJI_GROUP_LIST = CUSTOM_BIG_EMOJI_GROUP_LIST;
+exports.CUSTOM_BIG_EMOJI_URL = CUSTOM_BIG_EMOJI_URL;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/emoji-config/custom-emoji.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/default-emoji.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/default-emoji.js
new file mode 100644
index 0000000..7fe4fa9
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/default-emoji.js
@@ -0,0 +1,159 @@
+"use strict";
+var _a, _b;
+const TUIKit_components_TUIChat_emojiConfig_locales_zh_cn = require("./locales/zh_cn.js");
+const TUIKit_components_TUIChat_emojiConfig_locales_en = require("./locales/en.js");
+const TUIKit_constant = require("../../../constant.js");
+const DEFAULT_BASIC_EMOJI_URL = "https://web.sdk.qcloud.com/im/assets/emoji-plugin/";
+const DEFAULT_BIG_EMOJI_URL = "https://web.sdk.qcloud.com/im/assets/face-elem/";
+const DEFAULT_BASIC_EMOJI_URL_MAPPING = {
+ "[TUIEmoji_Expect]": "emoji_0@2x.png",
+ "[TUIEmoji_Blink]": "emoji_1@2x.png",
+ "[TUIEmoji_Guffaw]": "emoji_2@2x.png",
+ "[TUIEmoji_KindSmile]": "emoji_3@2x.png",
+ "[TUIEmoji_Haha]": "emoji_4@2x.png",
+ "[TUIEmoji_Cheerful]": "emoji_5@2x.png",
+ "[TUIEmoji_Smile]": "emoji_6@2x.png",
+ "[TUIEmoji_Sorrow]": "emoji_7@2x.png",
+ "[TUIEmoji_Speechless]": "emoji_8@2x.png",
+ "[TUIEmoji_Amazed]": "emoji_9@2x.png",
+ "[TUIEmoji_Complacent]": "emoji_10@2x.png",
+ "[TUIEmoji_Lustful]": "emoji_11@2x.png",
+ "[TUIEmoji_Stareyes]": "emoji_12@2x.png",
+ "[TUIEmoji_Giggle]": "emoji_13@2x.png",
+ "[TUIEmoji_Daemon]": "emoji_14@2x.png",
+ "[TUIEmoji_Rage]": "emoji_15@2x.png",
+ "[TUIEmoji_Yawn]": "emoji_16@2x.png",
+ "[TUIEmoji_TearsLaugh]": "emoji_17@2x.png",
+ "[TUIEmoji_Silly]": "emoji_18@2x.png",
+ "[TUIEmoji_Wail]": "emoji_19@2x.png",
+ "[TUIEmoji_Kiss]": "emoji_20@2x.png",
+ "[TUIEmoji_Trapped]": "emoji_21@2x.png",
+ "[TUIEmoji_Fear]": "emoji_22@2x.png",
+ "[TUIEmoji_BareTeeth]": "emoji_23@2x.png",
+ "[TUIEmoji_FlareUp]": "emoji_24@2x.png",
+ "[TUIEmoji_Tact]": "emoji_25@2x.png",
+ "[TUIEmoji_Shit]": "emoji_26@2x.png",
+ "[TUIEmoji_ShutUp]": "emoji_27@2x.png",
+ "[TUIEmoji_Sigh]": "emoji_28@2x.png",
+ "[TUIEmoji_Hehe]": "emoji_29@2x.png",
+ "[TUIEmoji_Silent]": "emoji_30@2x.png",
+ "[TUIEmoji_Skull]": "emoji_31@2x.png",
+ "[TUIEmoji_Mask]": "emoji_32@2x.png",
+ "[TUIEmoji_Beer]": "emoji_33@2x.png",
+ "[TUIEmoji_Cake]": "emoji_34@2x.png",
+ "[TUIEmoji_RedPacket]": "emoji_35@2x.png",
+ "[TUIEmoji_Bombs]": "emoji_36@2x.png",
+ "[TUIEmoji_Ai]": "emoji_37@2x.png",
+ "[TUIEmoji_Celebrate]": "emoji_38@2x.png",
+ "[TUIEmoji_Bless]": "emoji_39@2x.png",
+ "[TUIEmoji_Flower]": "emoji_40@2x.png",
+ "[TUIEmoji_Watermelon]": "emoji_41@2x.png",
+ "[TUIEmoji_Cow]": "emoji_42@2x.png",
+ "[TUIEmoji_Fool]": "emoji_43@2x.png",
+ "[TUIEmoji_Surprised]": "emoji_44@2x.png",
+ "[TUIEmoji_Askance]": "emoji_45@2x.png",
+ "[TUIEmoji_Monster]": "emoji_46@2x.png",
+ "[TUIEmoji_Pig]": "emoji_47@2x.png",
+ "[TUIEmoji_Coffee]": "emoji_48@2x.png",
+ "[TUIEmoji_Ok]": "emoji_49@2x.png",
+ "[TUIEmoji_Heart]": "emoji_50@2x.png",
+ "[TUIEmoji_Sun]": "emoji_51@2x.png",
+ "[TUIEmoji_Moon]": "emoji_52@2x.png",
+ "[TUIEmoji_Star]": "emoji_53@2x.png",
+ "[TUIEmoji_Rich]": "emoji_54@2x.png",
+ "[TUIEmoji_Fortune]": "emoji_55@2x.png",
+ "[TUIEmoji_857]": "emoji_56@2x.png",
+ "[TUIEmoji_666]": "emoji_57@2x.png",
+ "[TUIEmoji_Prohibit]": "emoji_58@2x.png",
+ "[TUIEmoji_Convinced]": "emoji_59@2x.png",
+ "[TUIEmoji_Knife]": "emoji_60@2x.png",
+ "[TUIEmoji_Like]": "emoji_61@2x.png"
+};
+const BIG_EMOJI_GROUP_LIST = [
+ {
+ emojiGroupID: 1,
+ type: TUIKit_constant.EMOJI_TYPE.BIG,
+ url: DEFAULT_BIG_EMOJI_URL,
+ list: [
+ "yz00",
+ "yz01",
+ "yz02",
+ "yz03",
+ "yz04",
+ "yz05",
+ "yz06",
+ "yz07",
+ "yz08",
+ "yz09",
+ "yz10",
+ "yz11",
+ "yz12",
+ "yz13",
+ "yz14",
+ "yz15",
+ "yz16",
+ "yz17"
+ ]
+ },
+ {
+ emojiGroupID: 2,
+ type: TUIKit_constant.EMOJI_TYPE.BIG,
+ url: DEFAULT_BIG_EMOJI_URL,
+ list: [
+ "ys00",
+ "ys01",
+ "ys02",
+ "ys03",
+ "ys04",
+ "ys05",
+ "ys06",
+ "ys07",
+ "ys08",
+ "ys09",
+ "ys10",
+ "ys11",
+ "ys12",
+ "ys13",
+ "ys14",
+ "ys15"
+ ]
+ },
+ {
+ emojiGroupID: 3,
+ type: TUIKit_constant.EMOJI_TYPE.BIG,
+ url: DEFAULT_BIG_EMOJI_URL,
+ list: [
+ "gcs00",
+ "gcs01",
+ "gcs02",
+ "gcs03",
+ "gcs04",
+ "gcs05",
+ "gcs06",
+ "gcs07",
+ "gcs08",
+ "gcs09",
+ "gcs10",
+ "gcs11",
+ "gcs12",
+ "gcs13",
+ "gcs14",
+ "gcs15",
+ "gcs16"
+ ]
+ }
+];
+const BASIC_EMOJI_NAME_TO_KEY_MAPPING = {
+ ...Object.fromEntries(
+ (_a = Object.entries(TUIKit_components_TUIChat_emojiConfig_locales_zh_cn.Emoji)) == null ? void 0 : _a.map(([key, val]) => [val, key])
+ ),
+ ...Object.fromEntries(
+ (_b = Object.entries(TUIKit_components_TUIChat_emojiConfig_locales_en.Emoji)) == null ? void 0 : _b.map(([key, val]) => [val, key])
+ )
+};
+exports.BASIC_EMOJI_NAME_TO_KEY_MAPPING = BASIC_EMOJI_NAME_TO_KEY_MAPPING;
+exports.BIG_EMOJI_GROUP_LIST = BIG_EMOJI_GROUP_LIST;
+exports.DEFAULT_BASIC_EMOJI_URL = DEFAULT_BASIC_EMOJI_URL;
+exports.DEFAULT_BASIC_EMOJI_URL_MAPPING = DEFAULT_BASIC_EMOJI_URL_MAPPING;
+exports.DEFAULT_BIG_EMOJI_URL = DEFAULT_BIG_EMOJI_URL;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/emoji-config/default-emoji.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/index.js
new file mode 100644
index 0000000..8e18955
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/index.js
@@ -0,0 +1,77 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_components_TUIChat_emojiConfig_customEmoji = require("./custom-emoji.js");
+const TUIKit_components_TUIChat_emojiConfig_defaultEmoji = require("./default-emoji.js");
+const TUIKit_components_TUIChat_emojiConfig_locales_zh_cn = require("./locales/zh_cn.js");
+const TUIKit_constant = require("../../../constant.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const BASIC_EMOJI_URL = TUIKit_components_TUIChat_emojiConfig_defaultEmoji.DEFAULT_BASIC_EMOJI_URL;
+const BASIC_EMOJI_URL_MAPPING = TUIKit_components_TUIChat_emojiConfig_defaultEmoji.DEFAULT_BASIC_EMOJI_URL_MAPPING;
+const EMOJI_GROUP_LIST = [
+ {
+ emojiGroupID: 0,
+ type: TUIKit_constant.EMOJI_TYPE.BASIC,
+ url: BASIC_EMOJI_URL,
+ list: Object.keys(BASIC_EMOJI_URL_MAPPING)
+ },
+ ...TUIKit_components_TUIChat_emojiConfig_defaultEmoji.BIG_EMOJI_GROUP_LIST,
+ ...TUIKit_components_TUIChat_emojiConfig_customEmoji.CUSTOM_BIG_EMOJI_GROUP_LIST
+];
+const convertKeyToEmojiName = (key) => {
+ return TUIKit_utils_env.isWeChat ? TUIKit_components_TUIChat_emojiConfig_locales_zh_cn.Emoji[key] : common_vendor.Wt.t(`Emoji.${key}`);
+};
+const transformTextWithKeysToEmojiNames = (text) => {
+ if (!text) {
+ return "";
+ }
+ const reg = /(\[.+?\])/g;
+ let txt = text;
+ if (reg.test(text)) {
+ txt = text.replace(reg, (match) => BASIC_EMOJI_URL_MAPPING[match] ? convertKeyToEmojiName(match) : match);
+ }
+ return txt;
+};
+const transformTextWithEmojiNamesToKeys = (text) => {
+ if (!text) {
+ return "";
+ }
+ const reg = /(\[.+?\])/g;
+ let txt = text;
+ if (reg.test(text)) {
+ txt = text.replace(reg, (match) => TUIKit_components_TUIChat_emojiConfig_defaultEmoji.BASIC_EMOJI_NAME_TO_KEY_MAPPING[match] || match);
+ }
+ return txt;
+};
+const parseTextToRenderArray = (text) => {
+ const emojiRegex = /\[([^\]]+)\]/g;
+ const result = [];
+ let match;
+ let lastIndex = 0;
+ while ((match = emojiRegex.exec(text)) !== null) {
+ const startIndex = match.index;
+ const endIndex = emojiRegex.lastIndex;
+ const emojiKey = match[0];
+ if (startIndex > lastIndex) {
+ result.push({ type: "text", content: text.substring(lastIndex, startIndex) });
+ }
+ const emojiUrl = BASIC_EMOJI_URL + BASIC_EMOJI_URL_MAPPING[emojiKey];
+ if (emojiUrl) {
+ result.push({ type: "image", content: emojiUrl, emojiKey });
+ } else {
+ result.push({ type: "text", content: emojiKey });
+ }
+ lastIndex = endIndex;
+ emojiRegex.lastIndex = lastIndex;
+ }
+ if (lastIndex < text.length) {
+ result.push({ type: "text", content: text.substring(lastIndex) });
+ }
+ return result;
+};
+exports.BASIC_EMOJI_URL_MAPPING = BASIC_EMOJI_URL_MAPPING;
+exports.EMOJI_GROUP_LIST = EMOJI_GROUP_LIST;
+exports.convertKeyToEmojiName = convertKeyToEmojiName;
+exports.parseTextToRenderArray = parseTextToRenderArray;
+exports.transformTextWithEmojiNamesToKeys = transformTextWithEmojiNamesToKeys;
+exports.transformTextWithKeysToEmojiNames = transformTextWithKeysToEmojiNames;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/emoji-config/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/locales/en.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/locales/en.js
new file mode 100644
index 0000000..212b91f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/locales/en.js
@@ -0,0 +1,67 @@
+"use strict";
+const Emoji = {
+ "[TUIEmoji_Smile]": "[Smile]",
+ "[TUIEmoji_Expect]": "[Expect]",
+ "[TUIEmoji_Blink]": "[Blink]",
+ "[TUIEmoji_Guffaw]": "[Guffaw]",
+ "[TUIEmoji_KindSmile]": "[KindSmile]",
+ "[TUIEmoji_Haha]": "[Haha]",
+ "[TUIEmoji_Cheerful]": "[Cheerful]",
+ "[TUIEmoji_Speechless]": "[Speechless]",
+ "[TUIEmoji_Amazed]": "[Amazed]",
+ "[TUIEmoji_Sorrow]": "[Sorrow]",
+ "[TUIEmoji_Complacent]": "[Complacent]",
+ "[TUIEmoji_Silly]": "[Silly]",
+ "[TUIEmoji_Lustful]": "[Lustful]",
+ "[TUIEmoji_Giggle]": "[Giggle]",
+ "[TUIEmoji_Kiss]": "[Kiss]",
+ "[TUIEmoji_Wail]": "[Wail]",
+ "[TUIEmoji_TearsLaugh]": "[TearsLaugh]",
+ "[TUIEmoji_Trapped]": "[Trapped]",
+ "[TUIEmoji_Mask]": "[Mask]",
+ "[TUIEmoji_Fear]": "[Fear]",
+ "[TUIEmoji_BareTeeth]": "[BareTeeth]",
+ "[TUIEmoji_FlareUp]": "[FlareUp]",
+ "[TUIEmoji_Yawn]": "[Yawn]",
+ "[TUIEmoji_Tact]": "[Tact]",
+ "[TUIEmoji_Stareyes]": "[StarEyes]",
+ "[TUIEmoji_ShutUp]": "[ShutUp]",
+ "[TUIEmoji_Sigh]": "[Sigh]",
+ "[TUIEmoji_Hehe]": "[Hehe]",
+ "[TUIEmoji_Silent]": "[Silent]",
+ "[TUIEmoji_Surprised]": "[Surprised]",
+ "[TUIEmoji_Askance]": "[Askance]]",
+ "[TUIEmoji_Ok]": "[OK]",
+ "[TUIEmoji_Shit]": "[Shit]",
+ "[TUIEmoji_Monster]": "[Monster]",
+ "[TUIEmoji_Daemon]": "[Daemon]",
+ "[TUIEmoji_Rage]": "[Rage]",
+ "[TUIEmoji_Fool]": "[Fool]",
+ "[TUIEmoji_Pig]": "[Pig]",
+ "[TUIEmoji_Cow]": "[Cow]",
+ "[TUIEmoji_Ai]": "[AI]",
+ "[TUIEmoji_Skull]": "[Skull]",
+ "[TUIEmoji_Bombs]": "[Bombs]",
+ "[TUIEmoji_Coffee]": "[Coffee]",
+ "[TUIEmoji_Cake]": "[Cake]",
+ "[TUIEmoji_Beer]": "[Beer]",
+ "[TUIEmoji_Flower]": "[Flower]",
+ "[TUIEmoji_Watermelon]": "[Watermelon]",
+ "[TUIEmoji_Rich]": "[Rich]",
+ "[TUIEmoji_Heart]": "[Heart]",
+ "[TUIEmoji_Moon]": "[Moon]",
+ "[TUIEmoji_Sun]": "[Sun]",
+ "[TUIEmoji_Star]": "[Star]",
+ "[TUIEmoji_RedPacket]": "[RedPacket]",
+ "[TUIEmoji_Celebrate]": "[Celebrate]",
+ "[TUIEmoji_Bless]": "[Bless]",
+ "[TUIEmoji_Fortune]": "[Fortune]",
+ "[TUIEmoji_Convinced]": "[Convinced]",
+ "[TUIEmoji_Prohibit]": "[Prohibit]",
+ "[TUIEmoji_666]": "[666]",
+ "[TUIEmoji_857]": "[857]",
+ "[TUIEmoji_Knife]": "[Knife]",
+ "[TUIEmoji_Like]": "[Like]"
+};
+exports.Emoji = Emoji;
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/emoji-config/locales/en.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/locales/zh_cn.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/locales/zh_cn.js
new file mode 100644
index 0000000..9ba642e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/emoji-config/locales/zh_cn.js
@@ -0,0 +1,67 @@
+"use strict";
+const Emoji = {
+ "[TUIEmoji_Smile]": "[微笑]",
+ "[TUIEmoji_Expect]": "[期待]",
+ "[TUIEmoji_Blink]": "[眨眼]",
+ "[TUIEmoji_Guffaw]": "[大笑]",
+ "[TUIEmoji_KindSmile]": "[姨母笑]",
+ "[TUIEmoji_Haha]": "[哈哈哈]",
+ "[TUIEmoji_Cheerful]": "[愉快]",
+ "[TUIEmoji_Speechless]": "[无语]",
+ "[TUIEmoji_Amazed]": "[惊讶]",
+ "[TUIEmoji_Sorrow]": "[悲伤]",
+ "[TUIEmoji_Complacent]": "[得意]",
+ "[TUIEmoji_Silly]": "[傻了]",
+ "[TUIEmoji_Lustful]": "[色]",
+ "[TUIEmoji_Giggle]": "[憨笑]",
+ "[TUIEmoji_Kiss]": "[亲亲]",
+ "[TUIEmoji_Wail]": "[大哭]",
+ "[TUIEmoji_TearsLaugh]": "[哭笑]",
+ "[TUIEmoji_Trapped]": "[困]",
+ "[TUIEmoji_Mask]": "[口罩]",
+ "[TUIEmoji_Fear]": "[恐惧]",
+ "[TUIEmoji_BareTeeth]": "[龇牙]",
+ "[TUIEmoji_FlareUp]": "[发怒]",
+ "[TUIEmoji_Yawn]": "[打哈欠]",
+ "[TUIEmoji_Tact]": "[机智]",
+ "[TUIEmoji_Stareyes]": "[星星眼]",
+ "[TUIEmoji_ShutUp]": "[闭嘴]",
+ "[TUIEmoji_Sigh]": "[叹气]",
+ "[TUIEmoji_Hehe]": "[呵呵]",
+ "[TUIEmoji_Silent]": "[收声]",
+ "[TUIEmoji_Surprised]": "[惊喜]",
+ "[TUIEmoji_Askance]": "[白眼]",
+ "[TUIEmoji_Ok]": "[OK]",
+ "[TUIEmoji_Shit]": "[便便]",
+ "[TUIEmoji_Monster]": "[怪兽]",
+ "[TUIEmoji_Daemon]": "[恶魔]",
+ "[TUIEmoji_Rage]": "[恶魔怒]",
+ "[TUIEmoji_Fool]": "[衰]",
+ "[TUIEmoji_Pig]": "[猪]",
+ "[TUIEmoji_Cow]": "[牛]",
+ "[TUIEmoji_Ai]": "[AI]",
+ "[TUIEmoji_Skull]": "[骷髅]",
+ "[TUIEmoji_Bombs]": "[炸弹]",
+ "[TUIEmoji_Coffee]": "[咖啡]",
+ "[TUIEmoji_Cake]": "[蛋糕]",
+ "[TUIEmoji_Beer]": "[啤酒]",
+ "[TUIEmoji_Flower]": "[花]",
+ "[TUIEmoji_Watermelon]": "[瓜]",
+ "[TUIEmoji_Rich]": "[壕]",
+ "[TUIEmoji_Heart]": "[爱心]",
+ "[TUIEmoji_Moon]": "[月亮]",
+ "[TUIEmoji_Sun]": "[太阳]",
+ "[TUIEmoji_Star]": "[星星]",
+ "[TUIEmoji_RedPacket]": "[红包]",
+ "[TUIEmoji_Celebrate]": "[庆祝]",
+ "[TUIEmoji_Bless]": "[福]",
+ "[TUIEmoji_Fortune]": "[发]",
+ "[TUIEmoji_Convinced]": "[服]",
+ "[TUIEmoji_Prohibit]": "[禁]",
+ "[TUIEmoji_666]": "[666]",
+ "[TUIEmoji_857]": "[857]",
+ "[TUIEmoji_Knife]": "[刀]",
+ "[TUIEmoji_Like]": "[赞]"
+};
+exports.Emoji = Emoji;
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/emoji-config/locales/zh_cn.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/entry-chat-only.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/entry-chat-only.js
new file mode 100644
index 0000000..c3b7b18
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/entry-chat-only.js
@@ -0,0 +1,24 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const TUIKit_index = require("../../index.js");
+const initChat = (options) => {
+ TUIKit_index.TUIChatKit.init();
+ const { chat } = common_vendor.A.getContext();
+ if (options && options.conversationID && (chat == null ? void 0 : chat.isReady())) {
+ const { conversationID } = options;
+ if (!conversationID.startsWith("C2C") && !conversationID.startsWith("GROUP")) {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIChat/entry-chat-only.ts:22", "conversationID from options is invalid.");
+ return;
+ }
+ common_vendor.Xt.switchConversation(conversationID);
+ }
+};
+const logout = (flag) => {
+ if (flag) {
+ return common_vendor.A.logout();
+ }
+ return Promise.resolve();
+};
+exports.initChat = initChat;
+exports.logout = logout;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/entry-chat-only.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.js
new file mode 100644
index 0000000..eb1c75a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.js
@@ -0,0 +1,144 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const TUIKit_components_TUIChat_utils_utils = require("../utils/utils.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../offlinePushInfoManager/index.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+if (!Math) {
+ (Transfer + Overlay)();
+}
+const Overlay = () => "../../common/Overlay/index.js";
+const Transfer = () => "../../common/Transfer/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ emits: ["toggleMultipleSelectMode"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ let selectedToForwardMessageIDList = [];
+ let isMergeForward = false;
+ const isShowForwardPanel = common_vendor.ref(false);
+ const customConversationList = common_vendor.ref();
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CUSTOM, {
+ singleForwardMessageID: onSingleForwardMessageIDUpdated,
+ multipleForwardMessageID: onMultipleForwardMessageIDUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CUSTOM, {
+ singleForwardMessageID: onSingleForwardMessageIDUpdated,
+ multipleForwardMessageID: onMultipleForwardMessageIDUpdated
+ });
+ clearStoreData();
+ });
+ function onSingleForwardMessageIDUpdated(messageID) {
+ if (typeof messageID !== "undefined") {
+ isMergeForward = false;
+ selectedToForwardMessageIDList = [messageID];
+ openForwardPanel();
+ }
+ }
+ function onMultipleForwardMessageIDUpdated(params) {
+ if (!params) {
+ return;
+ }
+ isMergeForward = false;
+ const {
+ isMergeForward: _isMergeForward,
+ messageIDList: selectedMessageIDList
+ } = params || {};
+ if ((selectedMessageIDList == null ? void 0 : selectedMessageIDList.length) > 0) {
+ isMergeForward = _isMergeForward;
+ selectedToForwardMessageIDList = selectedMessageIDList;
+ openForwardPanel();
+ } else {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIChat.未选择消息"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ }
+ }
+ function clearStoreData() {
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "singleForwardMessageID", void 0);
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "multipleForwardMessageID", void 0);
+ }
+ function closeForwardPanel() {
+ clearStoreData();
+ isShowForwardPanel.value = false;
+ }
+ function openForwardPanel() {
+ getTransforRenderDataList();
+ isShowForwardPanel.value = true;
+ }
+ function finishSelected(selectedConvIDWrapperList) {
+ if ((selectedConvIDWrapperList == null ? void 0 : selectedConvIDWrapperList.length) === 0)
+ return;
+ const selectedConversationList = selectedConvIDWrapperList.map((IDWrapper) => common_vendor.Jt.getConversationModel(IDWrapper.userID));
+ const unsentMessageQueue = selectedToForwardMessageIDList.map((messageID) => common_vendor.Jt.getMessageModel(messageID)).sort((a, b) => a.time - b.time);
+ const forwardPromises = selectedConversationList.map((conversation) => {
+ const offlinePushInfoCreateParams = {
+ conversation,
+ messageType: common_vendor.qt.TYPES.MSG_MERGER
+ };
+ return common_vendor.Qt.sendForwardMessage(
+ [conversation],
+ unsentMessageQueue,
+ {
+ needMerge: isMergeForward,
+ offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams),
+ params: {
+ needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
+ }
+ }
+ );
+ });
+ Promise.allSettled(forwardPromises).then((results) => {
+ for (const result of results) {
+ const { status } = result;
+ if (status === "rejected") {
+ const errorMessage = result.reason.code === 80001 ? common_vendor.Wt.t("TUIChat.内容包含敏感词汇") : result.reason.message;
+ TUIKit_components_common_Toast_index.Toast({
+ message: errorMessage,
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ break;
+ }
+ }
+ });
+ closeForwardPanel();
+ emits("toggleMultipleSelectMode", false);
+ }
+ function getTransforRenderDataList() {
+ const conversationList = common_vendor.Jt.getData(common_vendor.o.CONV, "conversationList");
+ customConversationList.value = conversationList.map((conversation) => {
+ return {
+ // To achieve reusability of Transfer, userID is used here instead of ConversationID
+ userID: conversation.conversationID,
+ nick: conversation.getShowName(),
+ avatar: conversation.getAvatar()
+ };
+ });
+ }
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.o$1(closeForwardPanel),
+ b: common_vendor.o$1(finishSelected),
+ c: common_vendor.p({
+ title: common_vendor.unref(common_vendor.Wt).t("TUIChat.转发"),
+ isSearch: false,
+ isCustomItem: false,
+ list: common_vendor.unref(customConversationList),
+ isHiddenBackIcon: common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }),
+ d: common_vendor.p({
+ visible: common_vendor.unref(isShowForwardPanel),
+ useMask: false
+ })
+ };
+ };
+ }
+});
+wx.createComponent(_sfc_main);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/forward/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.json
new file mode 100644
index 0000000..f8a652f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "overlay": "../../common/Overlay/index",
+ "transfer": "../../common/Transfer/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.wxml
new file mode 100644
index 0000000..03d2255
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/forward/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.js
new file mode 100644
index 0000000..cebbcfb
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.js
@@ -0,0 +1,4 @@
+"use strict";
+const TUIKit_components_index = require("../index.js");
+wx.createPage(TUIKit_components_index.MiniProgramPage$1);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.json
new file mode 100644
index 0000000..c7ffff2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.json
@@ -0,0 +1,11 @@
+{
+ "navigationBarTitleText": "腾讯云 IM",
+ "usingComponents": {
+ "chat-header": "./chat-header/index",
+ "message-list": "./message-list/index",
+ "message-input": "./message-input/index",
+ "multiple-select-panel": "./mulitple-select-panel/index",
+ "forward": "./forward/index",
+ "message-input-toolbar": "./message-input-toolbar/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.wxml
new file mode 100644
index 0000000..cad5947
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.wxml
@@ -0,0 +1 @@
+{{q}} {{M}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.wxss
new file mode 100644
index 0000000..fd43003
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/index.wxss
@@ -0,0 +1,707 @@
+
+.Navigation {
+ width: 100%;
+ height: 100rpx;
+ z-index: 999;
+}
+.Navigationimg {
+ width: 100%;
+ height: 200rpx;
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: -1;
+}
+.Navigation {
+ width: 100%;
+ height: 200rpx;
+ z-index: 999;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.Navigation-left{
+ width: 100%;
+ height: 200rpx;
+ z-index: 998;
+}
+.Return {
+ width: 70rpx;
+ height: 70rpx;
+ position: absolute;
+ top: 120rpx;
+ left: 360rpx;
+ z-index: 999;
+ font-weight: bold;
+}
+
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-40b33296, div.data-v-40b33296, ul.data-v-40b33296, ol.data-v-40b33296, dt.data-v-40b33296, dd.data-v-40b33296, li.data-v-40b33296, dl.data-v-40b33296, h1.data-v-40b33296, h2.data-v-40b33296, h3.data-v-40b33296, h4.data-v-40b33296, p.data-v-40b33296 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-40b33296, ul.data-v-40b33296, li.data-v-40b33296 {
+ list-style: none;
+}
+img.data-v-40b33296 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-40b33296 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-40b33296 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-40b33296 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-40b33296:hover {
+ text-decoration: none;
+}
+input.data-v-40b33296, textarea.data-v-40b33296 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-40b33296:focus, input.data-v-40b33296:active, textarea.data-v-40b33296:focus, textarea.data-v-40b33296:active {
+ outline: none;
+}
+.chat-aside.data-v-40b33296 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-conversation.data-v-40b33296 {
+ width: 100%;
+ height: 100%;
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+.tui-conversation-list.data-v-40b33296 {
+ overflow: auto;
+}
+.tui-conversation-header.data-v-40b33296 {
+ width: 100%;
+ position: relative;
+}
+.tui-conversation-header .list.data-v-40b33296 {
+ display: flex;
+ align-items: center;
+ border-bottom: 1px solid #F4F5F9;
+ padding: 7px 0;
+}
+.tui-conversation-header .list-item.data-v-40b33296 {
+ flex: 1;
+ display: flex;
+ position: relative;
+ padding: 7px;
+ cursor: pointer;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.tui-conversation-header-item.data-v-40b33296 {
+ flex: 1;
+ display: flex;
+ align-items: center;
+}
+.tui-conversation-header-item-title.data-v-40b33296 {
+ padding: 0 8px;
+ font-size: 16px;
+ font-weight: normal;
+}
+.tui-conversation-header-children.data-v-40b33296 {
+ position: absolute;
+ top: 100%;
+ z-index: 3;
+ padding: 7px 9px;
+ border-bottom: none;
+ box-shadow: 0 3px 7px 0 #0003;
+ flex-direction: column;
+}
+.network.data-v-40b33296 {
+ padding: 0 12px;
+ display: flex;
+ align-items: center;
+}
+.network .icon-error.data-v-40b33296 {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 15px;
+ height: 15px;
+ border-radius: 15px;
+ color: #fff;
+ font-style: normal;
+}
+.network-content.data-v-40b33296 {
+ padding: 5px;
+ font-size: 12px;
+ line-height: 22px;
+}
+.plus.data-v-40b33296 {
+ display: inline-block;
+ width: 30px;
+ height: 30px;
+ position: relative;
+}
+.plus.data-v-40b33296::before,
+.plus.data-v-40b33296::after {
+ content: "";
+ position: absolute;
+ background-color: #232832;
+ border-radius: 0.5px;
+ width: 1px;
+ height: 14px;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+}
+.plus.data-v-40b33296::after {
+ transform: rotate(90deg);
+ width: 0.5px;
+}
+.network-content.data-v-40b33296 {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #e54545;
+ letter-spacing: 0;
+}
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-fdde69b1, div.data-v-fdde69b1, ul.data-v-fdde69b1, ol.data-v-fdde69b1, dt.data-v-fdde69b1, dd.data-v-fdde69b1, li.data-v-fdde69b1, dl.data-v-fdde69b1, h1.data-v-fdde69b1, h2.data-v-fdde69b1, h3.data-v-fdde69b1, h4.data-v-fdde69b1, p.data-v-fdde69b1 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-fdde69b1, ul.data-v-fdde69b1, li.data-v-fdde69b1 {
+ list-style: none;
+}
+img.data-v-fdde69b1 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-fdde69b1 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-fdde69b1 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-fdde69b1 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-fdde69b1:hover {
+ text-decoration: none;
+}
+input.data-v-fdde69b1, textarea.data-v-fdde69b1 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-fdde69b1:focus, input.data-v-fdde69b1:active, textarea.data-v-fdde69b1:focus, textarea.data-v-fdde69b1:active {
+ outline: none;
+}
+.chat-aside.data-v-fdde69b1 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-search-main-global.data-v-fdde69b1 {
+ width: 100%;
+ height: -webkit-fit-content;
+ height: fit-content;
+}
+.tui-search-main-conversation.data-v-fdde69b1 {
+ width: 100%;
+ height: 100%;
+ background: #fff;
+ box-shadow: 0 1px 10px 0 rgba(2, 16, 43, 0.15);
+}
+.tui-search .tui-search-global-header.data-v-fdde69b1 {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+}
+.tui-search .tui-search-conversation.data-v-fdde69b1 {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+.tui-search-h5-full-screen.data-v-fdde69b1 {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ z-index: 1000;
+ background: #fff;
+}
+.tui-search-h5-global.data-v-fdde69b1, .tui-search-h5-conversation.data-v-fdde69b1 {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+}
+.tui-search-h5-conversation.data-v-fdde69b1 {
+ overflow: hidden;
+}
+.tui-search-h5.tui-search-main-conversation.data-v-fdde69b1 {
+ box-shadow: none;
+}
+.tui-search-h5 .search-input.data-v-fdde69b1,
+.tui-search-h5 .search-container.data-v-fdde69b1,
+.tui-search-h5 .search-result.data-v-fdde69b1 {
+ min-width: 0;
+ box-sizing: border-box;
+ display: flex;
+ flex: 1;
+ overflow: hidden;
+}
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-32d81a7d, div.data-v-32d81a7d, ul.data-v-32d81a7d, ol.data-v-32d81a7d, dt.data-v-32d81a7d, dd.data-v-32d81a7d, li.data-v-32d81a7d, dl.data-v-32d81a7d, h1.data-v-32d81a7d, h2.data-v-32d81a7d, h3.data-v-32d81a7d, h4.data-v-32d81a7d, p.data-v-32d81a7d {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-32d81a7d, ul.data-v-32d81a7d, li.data-v-32d81a7d {
+ list-style: none;
+}
+img.data-v-32d81a7d {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-32d81a7d {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-32d81a7d {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-32d81a7d {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-32d81a7d:hover {
+ text-decoration: none;
+}
+input.data-v-32d81a7d, textarea.data-v-32d81a7d {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-32d81a7d:focus, input.data-v-32d81a7d:active, textarea.data-v-32d81a7d:focus, textarea.data-v-32d81a7d:active {
+ outline: none;
+}
+.chat-aside.data-v-32d81a7d {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-contact.data-v-32d81a7d {
+ width: 100%;
+ height: 100%;
+ box-sizing: border-box;
+ display: flex;
+ overflow: hidden;
+}
+.tui-contact-left.data-v-32d81a7d {
+ min-width: 285px;
+ flex: 0 0 24%;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+.tui-contact-right.data-v-32d81a7d {
+ border-left: 1px solid #f4f5f9;
+ flex: 1;
+ overflow: hidden;
+}
+.tui-contact-h5.data-v-32d81a7d {
+ position: relative;
+}
+.tui-contact-h5-left.data-v-32d81a7d, .tui-contact-h5-right.data-v-32d81a7d {
+ width: 100%;
+ height: 100%;
+ flex: 1;
+}
+.tui-contact-h5-right.data-v-32d81a7d {
+ position: absolute;
+ z-index: 100;
+}
+.tui-contact-h5-left-list.data-v-32d81a7d {
+ overflow-y: auto;
+}
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-group.data-v-61238656 {
+ width: 100%;
+ height: 100%;
+}
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-04dfedea, div.data-v-04dfedea, ul.data-v-04dfedea, ol.data-v-04dfedea, dt.data-v-04dfedea, dd.data-v-04dfedea, li.data-v-04dfedea, dl.data-v-04dfedea, h1.data-v-04dfedea, h2.data-v-04dfedea, h3.data-v-04dfedea, h4.data-v-04dfedea, p.data-v-04dfedea {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-04dfedea, ul.data-v-04dfedea, li.data-v-04dfedea {
+ list-style: none;
+}
+img.data-v-04dfedea {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-04dfedea {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-04dfedea {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-04dfedea {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-04dfedea:hover {
+ text-decoration: none;
+}
+input.data-v-04dfedea, textarea.data-v-04dfedea {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-04dfedea:focus, input.data-v-04dfedea:active, textarea.data-v-04dfedea:focus, textarea.data-v-04dfedea:active {
+ outline: none;
+}
+.chat-aside.data-v-04dfedea {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-chat.data-v-04dfedea {
+ width: 100%;
+ height: 100%;
+ max-width: 100%;
+ overflow: hidden;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+}
+.tui-chat-default.data-v-04dfedea {
+ width: 100%;
+ height: 100%;
+ box-sizing: border-box;
+ display: flex;
+}
+.tui-chat-header.data-v-04dfedea {
+ padding: 10px;
+ box-sizing: border-box;
+ display: flex;
+}
+.tui-chat-message-list.data-v-04dfedea {
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+}
+.tui-chat-leave-group.data-v-04dfedea {
+ font-size: 14px;
+ height: 160px;
+ border-top: 1px solid #efefef;
+ justify-content: center;
+ align-items: center;
+}
+.tui-chat-leave-group-mobile.data-v-04dfedea {
+ height: 50px;
+}
+.tui-chat-message-input.data-v-04dfedea {
+ height: 160px;
+ display: flex;
+}
+.chat.data-v-04dfedea {
+ display: block;
+ height: 85%;
+ overflow: hidden;
+}
+.tui-chat-h5-message-list.data-v-04dfedea {
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+}
+.tui-chat-h5-message-input.data-v-04dfedea {
+ height: auto;
+ padding: 10px 10px 0;
+ border-top: 1px solid #eee;
+}
+.tui-chat-h5-message-input-toolbar.data-v-04dfedea {
+ order: 1;
+ border: none;
+}
+.tui-chat-uniapp-header.data-v-04dfedea {
+ display: none;
+}
+.group-profile.data-v-04dfedea {
+ position: absolute;
+ top: 14%;
+ right: 0;
+ width: 50px;
+ height: 30px;
+ line-height: 30px;
+ color: #000;
+ font-size: 10px;
+ border-top-left-radius: 20px;
+ border-bottom-left-radius: 20px;
+ padding-left: 15px;
+ z-index: 100;
+ background-color: #ccc;
+ opacity: 0.5;
+}
+.tui-chat-uni-message-input.data-v-04dfedea {
+ max-height: 370px;
+ padding: 10px;
+}
+.tui-chat-uni-message-input-toolbar.data-v-04dfedea {
+ z-index: 100;
+}
+.tui-chat-wx-message-input.data-v-04dfedea {
+ padding: 0;
+}
+.data-v-04dfedea:not(not) {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-width: 0;
+}
+
+.dingweizhibox{
+ width: 100%;
+ height: 15%;
+}
+.tui-chat{
+ width: 100%;
+ height: 15%;
+}
+.tui-chat-h5 {
+ width: 100%;
+ height: 100%;
+}
+.tui-chat-uniapp-header{
+ width: 100%;
+ height: 100%;
+}
+.Navigation {
+ width: 100%;
+ height: 10%;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 999;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.Navigationimg {
+ width: 100%;
+ height: 200rpx;
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: -1;
+}
+.Navigation {
+ width: 100%;
+ height: 200rpx;
+ z-index: 999;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.Return {
+ width: 50rpx;
+ height: 50rpx;
+ position: absolute;
+ top: 100rpx;
+ left: 40rpx;
+ z-index: 999;
+}
+.Navigation-name{
+ width: 50rpx;
+ height: 50rpx;
+ position: absolute;
+ top: 100rpx;
+ left: 300rpx;
+ z-index: 999;
+}
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.js
new file mode 100644
index 0000000..2cdbcc7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.js
@@ -0,0 +1,150 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_constant = require("../../../../constant.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+const TUIKit_components_TUIChat_utils_utils = require("../../utils/utils.js");
+const TUIKit_components_TUIChat_emojiConfig_index = require("../../emoji-config/index.js");
+const TUIKit_components_TUIChat_config = require("../../config.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "emoji-picker-dialog",
+ emits: ["insertEmoji", "onClose", "sendMessage"],
+ setup(__props, { emit: __emit }) {
+ var _a;
+ const faceIcon = TUIKit_components_TUIChat_config.ChatConfig.getTheme() === "dark" ? common_assets.faceIconDark : common_assets.faceIconLight;
+ const emits = __emit;
+ const currentTabIndex = common_vendor.ref(0);
+ const currentConversation = common_vendor.ref();
+ common_vendor.ref();
+ const emojiPickerListRef = common_vendor.ref();
+ const featureConfig = TUIKit_components_TUIChat_config.ChatConfig.getFeatureConfig();
+ const list = common_vendor.ref(initEmojiList());
+ const currentTabItem = common_vendor.ref(list == null ? void 0 : list.value[0]);
+ const currentEmojiList = common_vendor.ref((_a = list == null ? void 0 : list.value[0]) == null ? void 0 : _a.list);
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdate
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdate
+ });
+ });
+ const toggleEmojiTab = (index) => {
+ var _a2;
+ currentTabIndex.value = index;
+ currentTabItem.value = list == null ? void 0 : list.value[index];
+ currentEmojiList.value = (_a2 = list == null ? void 0 : list.value[index]) == null ? void 0 : _a2.list;
+ if (!TUIKit_utils_env.isUniFrameWork) {
+ (emojiPickerListRef == null ? void 0 : emojiPickerListRef.value) && (emojiPickerListRef.value.scrollTop = 0);
+ }
+ };
+ const select = (item, index) => {
+ var _a2, _b, _c;
+ const options = {
+ emoji: { key: item, name: TUIKit_components_TUIChat_emojiConfig_index.convertKeyToEmojiName(item) },
+ type: (_a2 = currentTabItem == null ? void 0 : currentTabItem.value) == null ? void 0 : _a2.type
+ };
+ switch ((_b = currentTabItem == null ? void 0 : currentTabItem.value) == null ? void 0 : _b.type) {
+ case TUIKit_constant.EMOJI_TYPE.BASIC:
+ options.url = ((_c = currentTabItem == null ? void 0 : currentTabItem.value) == null ? void 0 : _c.url) + TUIKit_components_TUIChat_emojiConfig_index.BASIC_EMOJI_URL_MAPPING[item];
+ if (TUIKit_utils_env.isUniFrameWork) {
+ common_vendor.index.$emit("insert-emoji", options);
+ } else {
+ emits("insertEmoji", options);
+ }
+ break;
+ case TUIKit_constant.EMOJI_TYPE.BIG:
+ sendFaceMessage(index, currentTabItem.value);
+ break;
+ case TUIKit_constant.EMOJI_TYPE.CUSTOM:
+ sendFaceMessage(index, currentTabItem.value);
+ break;
+ }
+ TUIKit_utils_env.isPC && emits("onClose");
+ };
+ const sendFaceMessage = (index, listItem) => {
+ var _a2, _b, _c, _d, _e;
+ const options = {
+ to: ((_b = (_a2 = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _a2.groupProfile) == null ? void 0 : _b.groupID) || ((_d = (_c = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _c.userProfile) == null ? void 0 : _d.userID),
+ conversationType: (_e = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _e.type,
+ payload: {
+ index: listItem.emojiGroupID,
+ data: listItem.list[index]
+ },
+ needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
+ };
+ common_vendor.Qt.sendFaceMessage(options);
+ };
+ function sendMessage() {
+ common_vendor.index.$emit("send-message-in-emoji-picker");
+ }
+ function onCurrentConversationUpdate(conversation) {
+ currentConversation.value = conversation;
+ }
+ function initEmojiList() {
+ return TUIKit_components_TUIChat_emojiConfig_index.EMOJI_GROUP_LIST.filter((item) => {
+ if (item.type === TUIKit_constant.EMOJI_TYPE.BASIC) {
+ return featureConfig.InputEmoji;
+ }
+ if (item.type === TUIKit_constant.EMOJI_TYPE.BIG) {
+ return featureConfig.InputStickers;
+ }
+ if (item.type === TUIKit_constant.EMOJI_TYPE.CUSTOM) {
+ return featureConfig.InputStickers;
+ }
+ });
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.f(common_vendor.unref(currentEmojiList), (childrenItem, childrenIndex, i0) => {
+ return common_vendor.e(common_vendor.unref(currentTabItem).type === common_vendor.unref(TUIKit_constant.EMOJI_TYPE).BASIC ? {
+ a: common_vendor.unref(currentTabItem).url + common_vendor.unref(TUIKit_components_TUIChat_emojiConfig_index.BASIC_EMOJI_URL_MAPPING)[childrenItem]
+ } : common_vendor.unref(currentTabItem).type === common_vendor.unref(TUIKit_constant.EMOJI_TYPE).BIG ? {
+ b: common_vendor.unref(currentTabItem).url + childrenItem + "@2x.png"
+ } : {
+ c: common_vendor.unref(currentTabItem).url + childrenItem
+ }, {
+ d: childrenIndex,
+ e: common_vendor.o$1(($event) => select(childrenItem, childrenIndex), childrenIndex)
+ });
+ }),
+ b: common_vendor.unref(currentTabItem).type === common_vendor.unref(TUIKit_constant.EMOJI_TYPE).BASIC,
+ c: common_vendor.unref(currentTabItem).type === common_vendor.unref(TUIKit_constant.EMOJI_TYPE).BIG,
+ d: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "emoji-picker-h5-list"),
+ e: common_vendor.f(common_vendor.unref(list), (item, index, i0) => {
+ return common_vendor.e({
+ a: item.type === common_vendor.unref(TUIKit_constant.EMOJI_TYPE).BASIC
+ }, item.type === common_vendor.unref(TUIKit_constant.EMOJI_TYPE).BASIC ? {
+ b: "194fb307-0-" + i0,
+ c: common_vendor.p({
+ file: common_vendor.unref(faceIcon)
+ })
+ } : item.type === common_vendor.unref(TUIKit_constant.EMOJI_TYPE).BIG ? {
+ e: item.url + item.list[0] + "@2x.png"
+ } : {
+ f: item.url + item.list[0]
+ }, {
+ d: item.type === common_vendor.unref(TUIKit_constant.EMOJI_TYPE).BIG,
+ g: index,
+ h: common_vendor.o$1(($event) => toggleEmojiTab(index), index)
+ });
+ }),
+ f: common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? {
+ g: common_vendor.o$1(sendMessage)
+ } : {}, {
+ h: !common_vendor.unref(TUIKit_utils_env.isPC) ? 1 : ""
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-194fb307"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.json
new file mode 100644
index 0000000..e4996d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.wxml
new file mode 100644
index 0000000..081d373
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.wxml
@@ -0,0 +1 @@
+ 发送
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.wxss
new file mode 100644
index 0000000..9b00404
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/emoji-picker/emoji-picker-dialog.wxss
@@ -0,0 +1,143 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-194fb307, div.data-v-194fb307, ul.data-v-194fb307, ol.data-v-194fb307, dt.data-v-194fb307, dd.data-v-194fb307, li.data-v-194fb307, dl.data-v-194fb307, h1.data-v-194fb307, h2.data-v-194fb307, h3.data-v-194fb307, h4.data-v-194fb307, p.data-v-194fb307 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-194fb307, ul.data-v-194fb307, li.data-v-194fb307 {
+ list-style: none;
+}
+img.data-v-194fb307 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-194fb307 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-194fb307 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-194fb307 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-194fb307:hover {
+ text-decoration: none;
+}
+input.data-v-194fb307, textarea.data-v-194fb307 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-194fb307:focus, input.data-v-194fb307:active, textarea.data-v-194fb307:focus, textarea.data-v-194fb307:active {
+ outline: none;
+}
+.chat-aside.data-v-194fb307 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.emoji-picker.data-v-194fb307 {
+ width: 405px;
+ height: 300px;
+ display: flex;
+ flex-direction: column;
+}
+.emoji-picker-list.data-v-194fb307 {
+ flex: 1;
+ display: flex;
+ flex-wrap: wrap;
+ overflow-y: auto;
+ margin: 2px;
+}
+.emoji-picker-list.data-v-194fb307::-webkit-scrollbar {
+ display: none;
+}
+.emoji-picker-list-item.data-v-194fb307 {
+ cursor: pointer;
+ padding: 5px;
+}
+.emoji-picker-list-item .emoji.data-v-194fb307 {
+ width: 30px;
+ height: 30px;
+}
+.emoji-picker-list-item .emoji-big.data-v-194fb307 {
+ width: 70px;
+ height: 70px;
+}
+.emoji-picker-tab.data-v-194fb307 {
+ display: flex;
+ align-items: center;
+}
+.emoji-picker-tab-item.data-v-194fb307 {
+ padding: 0 10px;
+ cursor: pointer;
+}
+.emoji-picker-tab-item .icon.data-v-194fb307 {
+ margin: 10px;
+ width: 20px;
+ height: 20px;
+}
+.emoji-picker-tab-item .icon-big.data-v-194fb307 {
+ margin: 2px 0;
+ width: 30px;
+ height: 30px;
+}
+.emoji-picker-h5.data-v-194fb307 {
+ width: 100%;
+}
+.emoji-picker-h5-list.data-v-194fb307 {
+ justify-content: space-between;
+}
+.emoji-picker-h5-list.data-v-194fb307::after {
+ content: "";
+ display: block;
+ flex: 1 1 auto;
+}
+.emoji-picker-h5 .send-btn.data-v-194fb307 {
+ width: 50px;
+ height: 30px;
+ background-color: #55C06A;
+ position: absolute;
+ right: 10px;
+ font-size: 16px;
+ color: #fff;
+ text-align: center;
+ line-height: 30px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.js
new file mode 100644
index 0000000..b1809d1
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.js
@@ -0,0 +1,137 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_components_TUIChat_utils_utils = require("../../utils/utils.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../../offlinePushInfoManager/index.js");
+const TUIKit_components_TUIChat_config = require("../../config.js");
+if (!Math) {
+ ToolbarItemContainer();
+}
+const ToolbarItemContainer = () => "../toolbar-item-container/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ // Image source: only valid for uni-app version, web version only supports selecting images from the album.
+ // album: Select from album
+ // camera: Take a photo using the camera
+ imageSourceType: {
+ type: String,
+ default: "album"
+ }
+ },
+ setup(__props) {
+ const props = __props;
+ const inputRef = common_vendor.ref();
+ const currentConversation = common_vendor.ref();
+ const theme = TUIKit_components_TUIChat_config.ChatConfig.getTheme();
+ const IMAGE_TOOLBAR_SHOW_MAP = {
+ web_album: {
+ icon: theme === "dark" ? common_assets.imageIconDark : common_assets.imageIconLight,
+ title: "图片"
+ },
+ uni_album: {
+ icon: common_assets.imageUniIcon,
+ title: "图片"
+ },
+ uni_camera: {
+ icon: common_assets.cameraUniIcon,
+ title: "拍照"
+ }
+ };
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: (conversation) => {
+ currentConversation.value = conversation;
+ }
+ });
+ const imageToolbarForShow = common_vendor.computed(() => {
+ if (TUIKit_utils_env.isUniFrameWork) {
+ return props.imageSourceType === "camera" ? IMAGE_TOOLBAR_SHOW_MAP["uni_camera"] : IMAGE_TOOLBAR_SHOW_MAP["uni_album"];
+ } else {
+ return IMAGE_TOOLBAR_SHOW_MAP["web_album"];
+ }
+ });
+ const onIconClick = () => {
+ var _a, _b, _c, _d;
+ if (TUIKit_utils_env.isUniFrameWork) {
+ if (TUIKit_utils_env.isWeChat && ((_a = common_vendor.i) == null ? void 0 : _a.chooseMedia)) {
+ (_b = common_vendor.i) == null ? void 0 : _b.chooseMedia({
+ count: 1,
+ mediaType: ["image"],
+ sizeType: ["original", "compressed"],
+ sourceType: [props.imageSourceType],
+ // Use camera or select from album.
+ success: function(res) {
+ sendImageMessage(res);
+ }
+ });
+ } else {
+ (_c = common_vendor.i) == null ? void 0 : _c.chooseImage({
+ count: 1,
+ sourceType: [props.imageSourceType],
+ // Use camera or select from album.
+ success: function(res) {
+ sendImageMessage(res);
+ }
+ });
+ }
+ } else {
+ if ((_d = inputRef.value) == null ? void 0 : _d.click) {
+ inputRef.value.click();
+ }
+ }
+ };
+ const sendImageInWeb = (e) => {
+ var _a, _b;
+ if (((_b = (_a = e == null ? void 0 : e.target) == null ? void 0 : _a.files) == null ? void 0 : _b.length) <= 0) {
+ return;
+ }
+ sendImageMessage(e == null ? void 0 : e.target);
+ e.target.value = "";
+ };
+ const sendImageMessage = (files) => {
+ var _a, _b, _c, _d, _e;
+ if (!files) {
+ return;
+ }
+ const options = {
+ to: ((_b = (_a = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _a.groupProfile) == null ? void 0 : _b.groupID) || ((_d = (_c = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _c.userProfile) == null ? void 0 : _d.userID),
+ conversationType: (_e = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _e.type,
+ payload: {
+ file: files
+ },
+ needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
+ };
+ const offlinePushInfoCreateParams = {
+ conversation: currentConversation.value,
+ payload: options.payload,
+ messageType: common_vendor.qt.TYPES.MSG_IMAGE
+ };
+ const sendMessageOptions = {
+ offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams)
+ };
+ common_vendor.Qt.sendImageMessage(options, sendMessageOptions);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, !common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? {
+ b: common_vendor.o$1(sendImageInWeb),
+ c: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "image-upload-h5")
+ } : {}, {
+ d: common_vendor.o$1(onIconClick),
+ e: common_vendor.p({
+ iconFile: common_vendor.unref(imageToolbarForShow).icon,
+ title: common_vendor.unref(imageToolbarForShow).title,
+ iconWidth: common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "32px" : "20px",
+ iconHeight: common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "25px" : "18px",
+ needDialog: false
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-2d15f470"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.json
new file mode 100644
index 0000000..d700001
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "toolbar-item-container": "../toolbar-item-container/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.wxml
new file mode 100644
index 0000000..aa830cc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.wxss
new file mode 100644
index 0000000..88df68f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/image-upload/index.wxss
@@ -0,0 +1,75 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-2d15f470, div.data-v-2d15f470, ul.data-v-2d15f470, ol.data-v-2d15f470, dt.data-v-2d15f470, dd.data-v-2d15f470, li.data-v-2d15f470, dl.data-v-2d15f470, h1.data-v-2d15f470, h2.data-v-2d15f470, h3.data-v-2d15f470, h4.data-v-2d15f470, p.data-v-2d15f470 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-2d15f470, ul.data-v-2d15f470, li.data-v-2d15f470 {
+ list-style: none;
+}
+img.data-v-2d15f470 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-2d15f470 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-2d15f470 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-2d15f470 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-2d15f470:hover {
+ text-decoration: none;
+}
+input.data-v-2d15f470, textarea.data-v-2d15f470 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-2d15f470:focus, input.data-v-2d15f470:active, textarea.data-v-2d15f470:focus, textarea.data-v-2d15f470:active {
+ outline: none;
+}
+.chat-aside.data-v-2d15f470 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.js
new file mode 100644
index 0000000..1f07a76
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.js
@@ -0,0 +1,260 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_components_TUIChat_config = require("../config.js");
+const TUIKit_utils_enableSampleTaskStatus = require("../../../utils/enableSampleTaskStatus.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../offlinePushInfoManager/index.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_const = require("../offlinePushInfoManager/const.js");
+if (!Math) {
+ (EmojiPickerDialog + ImageUpload + VideoUpload + Words + ToolbarItemContainer + UserSelector)();
+}
+const ImageUpload = () => "./image-upload/index.js";
+const VideoUpload = () => "./video-upload/index.js";
+const Words = () => "./words/index.js";
+const ToolbarItemContainer = () => "./toolbar-item-container/index.js";
+const EmojiPickerDialog = () => "./emoji-picker/emoji-picker-dialog.js";
+const UserSelector = () => "./user-selector/index.js";
+const __default__ = {
+ options: {
+ styleIsolation: "shared"
+ }
+};
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ ...__default__,
+ __name: "index",
+ props: {
+ displayType: {}
+ },
+ setup(__props) {
+ const props = __props;
+ const currentConversation = common_vendor.ref();
+ const isGroup = common_vendor.ref(false);
+ const selectorShowType = common_vendor.ref("");
+ const userSelectorRef = common_vendor.ref();
+ const currentUserSelectorExtension = common_vendor.ref();
+ const currentExtensionList = common_vendor.ref([]);
+ const isSwiperIndicatorDotsEnable = common_vendor.ref(false);
+ const featureConfig = TUIKit_components_TUIChat_config.ChatConfig.getFeatureConfig();
+ const neededCountFirstPage = common_vendor.ref(8);
+ const slicePos = common_vendor.ref(0);
+ const computeToolbarPaging = () => {
+ if (featureConfig.InputImage && featureConfig.InputVideo) {
+ neededCountFirstPage.value -= 4;
+ } else if (featureConfig.InputImage || featureConfig.InputVideo) {
+ neededCountFirstPage.value -= 2;
+ }
+ slicePos.value = neededCountFirstPage.value;
+ neededCountFirstPage.value -= currentExtensionList.value.length;
+ if (neededCountFirstPage.value === 1) {
+ isSwiperIndicatorDotsEnable.value = featureConfig.InputEvaluation && featureConfig.InputQuickReplies;
+ } else if (neededCountFirstPage.value < 1) {
+ isSwiperIndicatorDotsEnable.value = featureConfig.InputEvaluation || featureConfig.InputQuickReplies;
+ }
+ };
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CUSTOM, {
+ activeConversation: onActiveConversationUpdate
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CUSTOM, {
+ activeConversation: onActiveConversationUpdate
+ });
+ });
+ const onActiveConversationUpdate = (conversationID) => {
+ var _a;
+ if (!conversationID) {
+ return;
+ }
+ if (conversationID !== ((_a = currentConversation.value) == null ? void 0 : _a.conversationID)) {
+ getExtensionList();
+ computeToolbarPaging();
+ currentConversation.value = common_vendor.Jt.getData(common_vendor.o.CONV, "currentConversation");
+ isGroup.value = conversationID.startsWith(common_vendor.qt.TYPES.CONV_GROUP);
+ }
+ };
+ const getExtensionList = () => {
+ const chatType = TUIKit_components_TUIChat_config.ChatConfig.getChatType();
+ const params = { chatType };
+ if (chatType === common_vendor.E.TUIChat.TYPE.CUSTOMER_SERVICE) {
+ params.filterVoice = true;
+ params.filterVideo = true;
+ TUIKit_utils_enableSampleTaskStatus.enableSampleTaskStatus("customerService");
+ }
+ currentExtensionList.value = [
+ ...common_vendor.R.getExtensionList(common_vendor.E.TUIChat.EXTENSION.INPUT_MORE.EXT_ID, params)
+ ].filter((extension) => {
+ var _a;
+ if (((_a = extension == null ? void 0 : extension.data) == null ? void 0 : _a.name) === "search") {
+ return featureConfig.MessageSearch;
+ }
+ return true;
+ });
+ reportExtension(currentExtensionList.value);
+ };
+ function reportExtension(extensionList) {
+ extensionList.forEach((extension) => {
+ var _a;
+ const _name = (_a = extension == null ? void 0 : extension.data) == null ? void 0 : _a.name;
+ if (_name === "voiceCall") {
+ common_vendor.ss.reportFeature(203, "voice-call");
+ } else if (_name === "videoCall") {
+ common_vendor.ss.reportFeature(203, "video-call");
+ } else if (_name === "quickRoom") {
+ common_vendor.ss.reportFeature(204);
+ }
+ });
+ }
+ const onExtensionClick = (extension) => {
+ var _a, _b, _c;
+ const extensionModel = currentExtensionList.value.find(
+ (targetExtension) => {
+ var _a2, _b2;
+ return ((_a2 = targetExtension == null ? void 0 : targetExtension.data) == null ? void 0 : _a2.name) === ((_b2 = extension == null ? void 0 : extension.data) == null ? void 0 : _b2.name);
+ }
+ );
+ switch ((_a = extensionModel == null ? void 0 : extensionModel.data) == null ? void 0 : _a.name) {
+ case "voiceCall":
+ onCallExtensionClicked(extensionModel, 1);
+ break;
+ case "videoCall":
+ onCallExtensionClicked(extensionModel, 2);
+ break;
+ case "search":
+ (_c = (_b = extensionModel == null ? void 0 : extensionModel.listener) == null ? void 0 : _b.onClicked) == null ? void 0 : _c.call(_b);
+ break;
+ }
+ };
+ const onCallExtensionClicked = (extension, callType) => {
+ var _a, _b, _c, _d, _e, _f, _g;
+ selectorShowType.value = (_a = extension == null ? void 0 : extension.data) == null ? void 0 : _a.name;
+ if (((_b = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _b.type) === common_vendor.qt.TYPES.CONV_C2C) {
+ (_f = (_c = extension == null ? void 0 : extension.listener) == null ? void 0 : _c.onClicked) == null ? void 0 : _f.call(_c, {
+ userIDList: [(_e = (_d = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _d.conversationID) == null ? void 0 : _e.slice(3)],
+ type: callType,
+ callParams: {
+ offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.getOfflinePushInfo(TUIKit_components_TUIChat_offlinePushInfoManager_const.PUSH_SCENE.CALL)
+ }
+ });
+ } else if (isGroup.value) {
+ currentUserSelectorExtension.value = extension;
+ ((_g = userSelectorRef == null ? void 0 : userSelectorRef.value) == null ? void 0 : _g.toggleShow) && userSelectorRef.value.toggleShow(true);
+ }
+ };
+ const genExtensionIcon = (extension) => {
+ return extension == null ? void 0 : extension.icon;
+ };
+ const genExtensionText = (extension) => {
+ return extension == null ? void 0 : extension.text;
+ };
+ const onUserSelectorSubmit = (selectedInfo) => {
+ var _a, _b, _c;
+ (_c = (_b = (_a = currentUserSelectorExtension.value) == null ? void 0 : _a.listener) == null ? void 0 : _b.onClicked) == null ? void 0 : _c.call(_b, {
+ ...selectedInfo,
+ callParams: {
+ offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.getOfflinePushInfo(TUIKit_components_TUIChat_offlinePushInfoManager_const.PUSH_SCENE.CALL)
+ }
+ });
+ currentUserSelectorExtension.value = null;
+ };
+ const onUserSelectorCancel = () => {
+ currentUserSelectorExtension.value = null;
+ };
+ const handleSwiperDotShow = (showStatus) => {
+ isSwiperIndicatorDotsEnable.value = neededCountFirstPage.value <= 1 && !showStatus;
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.displayType === "emojiPicker"
+ }, props.displayType === "emojiPicker" ? {} : common_vendor.e({
+ b: common_vendor.unref(featureConfig).InputImage
+ }, common_vendor.unref(featureConfig).InputImage ? {
+ c: common_vendor.p({
+ imageSourceType: "camera"
+ })
+ } : {}, {
+ d: common_vendor.unref(featureConfig).InputImage
+ }, common_vendor.unref(featureConfig).InputImage ? {
+ e: common_vendor.p({
+ imageSourceType: "album"
+ })
+ } : {}, {
+ f: common_vendor.unref(featureConfig).InputVideo
+ }, common_vendor.unref(featureConfig).InputVideo ? {
+ g: common_vendor.p({
+ videoSourceType: "album"
+ })
+ } : {}, {
+ h: common_vendor.unref(featureConfig).InputVideo
+ }, common_vendor.unref(featureConfig).InputVideo ? {
+ i: common_vendor.p({
+ videoSourceType: "camera"
+ })
+ } : {}, {
+ j: common_vendor.unref(currentExtensionList).length > 0
+ }, common_vendor.unref(currentExtensionList).length > 0 ? {
+ k: common_vendor.f(common_vendor.unref(currentExtensionList).slice(0, common_vendor.unref(slicePos)), (extension, index, i0) => {
+ return {
+ a: index
+ };
+ })
+ } : {}, {
+ l: common_vendor.unref(neededCountFirstPage) === 1
+ }, common_vendor.unref(neededCountFirstPage) === 1 ? common_vendor.e({
+ m: common_vendor.unref(featureConfig).InputQuickReplies
+ }, common_vendor.unref(featureConfig).InputQuickReplies ? {
+ n: common_vendor.o$1(handleSwiperDotShow)
+ } : {}) : {}, {
+ o: common_vendor.unref(neededCountFirstPage) > 1
+ }, common_vendor.unref(neededCountFirstPage) > 1 ? common_vendor.e({
+ p: common_vendor.unref(featureConfig).InputQuickReplies
+ }, common_vendor.unref(featureConfig).InputQuickReplies ? {
+ q: common_vendor.o$1(handleSwiperDotShow)
+ } : {}) : {}, {
+ r: common_vendor.unref(neededCountFirstPage) <= 1
+ }, common_vendor.unref(neededCountFirstPage) <= 1 ? common_vendor.e({
+ s: common_vendor.f(common_vendor.unref(currentExtensionList).slice(common_vendor.unref(slicePos)), (extension, index, i0) => {
+ return common_vendor.e({
+ a: extension
+ }, extension ? {
+ b: common_vendor.o$1(($event) => onExtensionClick(extension), index),
+ c: "76f68da4-7-" + i0,
+ d: common_vendor.p({
+ iconFile: genExtensionIcon(extension),
+ title: genExtensionText(extension),
+ iconWidth: "25px",
+ iconHeight: "25px",
+ needDialog: false
+ })
+ } : {}, {
+ e: index
+ });
+ }),
+ t: common_vendor.unref(neededCountFirstPage) === 1
+ }, common_vendor.unref(neededCountFirstPage) === 1 ? common_vendor.e({
+ v: common_vendor.unref(featureConfig).InputQuickReplies
+ }, common_vendor.unref(featureConfig).InputQuickReplies ? {
+ w: common_vendor.o$1(handleSwiperDotShow)
+ } : {}) : common_vendor.e({
+ x: common_vendor.unref(featureConfig).InputQuickReplies
+ }, common_vendor.unref(featureConfig).InputQuickReplies ? {
+ y: common_vendor.o$1(handleSwiperDotShow)
+ } : {})) : {}, {
+ z: common_vendor.unref(isSwiperIndicatorDotsEnable)
+ }), {
+ A: common_vendor.sr(userSelectorRef, "76f68da4-10", {
+ "k": "userSelectorRef"
+ }),
+ B: common_vendor.o$1(onUserSelectorSubmit),
+ C: common_vendor.o$1(onUserSelectorCancel),
+ D: common_vendor.p({
+ type: common_vendor.unref(selectorShowType),
+ currentConversation: common_vendor.unref(currentConversation),
+ isGroup: common_vendor.unref(isGroup)
+ })
+ });
+ };
+ }
+});
+wx.createComponent(_sfc_main);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.json
new file mode 100644
index 0000000..9b16f96
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.json
@@ -0,0 +1,11 @@
+{
+ "component": true,
+ "usingComponents": {
+ "image-upload": "./image-upload/index",
+ "video-upload": "./video-upload/index",
+ "words": "./words/index",
+ "toolbar-item-container": "./toolbar-item-container/index",
+ "emoji-picker-dialog": "./emoji-picker/emoji-picker-dialog",
+ "user-selector": "./user-selector/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.wxml
new file mode 100644
index 0000000..8ca160a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.wxss
new file mode 100644
index 0000000..325d9a0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/index.wxss
@@ -0,0 +1,254 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body, div, ul, ol, dt, dd, li, dl, h1, h2, h3, h4, p {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol, ul, li {
+ list-style: none;
+}
+img {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body {
+ color: #000;
+ background: #FFF;
+}
+.clear {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a:hover {
+ text-decoration: none;
+}
+input, textarea {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input:focus, input:active, textarea:focus, textarea:active {
+ outline: none;
+}
+.chat-aside {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+/* stylelint-disable */
+.message-input-toolbar {
+ border-top: 1px solid #f4f5f9;
+ width: 100%;
+ max-width: 100%;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ z-index: 100;
+ user-select: none;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+}
+.message-input-toolbar-list {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+.message-input-toolbar-list .extension-list {
+ list-style: none;
+ display: flex;
+}
+.message-input-toolbar-list .extension-list-item {
+ width: 20px;
+ height: 20px;
+ padding: 12px 10px 1px;
+ cursor: pointer;
+}
+.message-input-toolbar-h5 {
+ padding: 5px 10px;
+ box-sizing: border-box;
+ flex-direction: column;
+}
+.message-input-toolbar-uni {
+ background-color: #ebf0f6;
+ flex-direction: column;
+ z-index: 100;
+}
+.message-input-toolbar-uni-list {
+ flex: 1;
+ display: grid;
+ grid-template-columns: repeat(4, 25%);
+ grid-template-rows: repeat(2, 100px);
+}
+wx-swiper .wx-swiper-wrapper,
+wx-swiper .wx-swiper-slides,
+wx-swiper .wx-swiper-slide-frame,
+.message-input-toolbar-list {
+ overflow: visible !important;
+}
+.message-input-toolbar .bottom-popup,
+.message-input-toolbar .bottom-popup-h5,
+.message-input-toolbar .bottom-popup-uni {
+ position: -webkit-sticky !important;
+ position: sticky !important;
+}
+.message-input-toolbar-swiper {
+ width: 100%;
+ height: 220px;
+}
+.message-input-toolbar-swiper .uni-swiper-wrapper,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper {
+ overflow: visible !important;
+}
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides {
+ overflow: visible !important;
+}
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides .uni-swiper-slide-frame,
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides .wx-swiper-slide-frame,
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides wx-swiper .wx-swiper-slide-frame,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides .uni-swiper-slide-frame,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides .wx-swiper-slide-frame,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides .uni-swiper-slide-frame,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides .wx-swiper-slide-frame,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides .uni-swiper-slide-frame,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides .wx-swiper-slide-frame,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides wx-swiper .wx-swiper-slide-frame,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides .uni-swiper-slide-frame,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides .wx-swiper-slide-frame,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides .uni-swiper-slide-frame,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides .wx-swiper-slide-frame,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame {
+ overflow: visible !important;
+}
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides .uni-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides wx-swiper .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides .uni-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides .uni-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides .uni-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides wx-swiper .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides .uni-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides .uni-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides .wx-swiper-slide-frame .message-input-toolbar-list,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .message-input-toolbar-list {
+ overflow: visible !important;
+}
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-uni {
+ position: static !important;
+}
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog {
+ position: absolute !important;
+ background: transparent;
+ left: -10px;
+ bottom: -5px;
+}
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper .uni-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper .uni-swiper-wrapper wx-swiper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .uni-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides .uni-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni,
+.message-input-toolbar-swiper wx-swiper .wx-swiper-wrapper wx-swiper .wx-swiper-slides wx-swiper .wx-swiper-slide-frame .toolbar-item-container-dialog .bottom-popup-uni {
+ position: -webkit-sticky !important;
+ position: sticky !important;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.js
new file mode 100644
index 0000000..a51b8e8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.js
@@ -0,0 +1,119 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+const TUIKit_components_TUIChat_config = require("../../config.js");
+if (!Math) {
+ (Icon + BottomPopup)();
+}
+const Icon = () => "../../../common/Icon.js";
+const BottomPopup = () => "../../../common/BottomPopup/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ iconFile: {
+ type: String,
+ required: true
+ },
+ title: {
+ type: String,
+ default: ""
+ },
+ needDialog: {
+ type: Boolean,
+ default: true
+ },
+ iconWidth: {
+ type: String,
+ default: "20px"
+ },
+ iconHeight: {
+ type: String,
+ default: "20px"
+ },
+ // Whether to display the bottom popup dialog on mobile devices
+ // Invalid on PC
+ needBottomPopup: {
+ type: Boolean,
+ default: false
+ }
+ },
+ emits: ["onIconClick", "onDialogClose", "onDialogShow"],
+ setup(__props, { expose: __expose, emit: __emit }) {
+ const props = __props;
+ const emits = __emit;
+ const isDark = common_vendor.ref(TUIKit_components_TUIChat_config.ChatConfig.getTheme() === "dark");
+ const showDialog = common_vendor.ref(false);
+ const toolbarItemRef = common_vendor.ref();
+ const dialogRef = common_vendor.ref();
+ const toggleToolbarItem = () => {
+ emits("onIconClick", dialogRef);
+ if (TUIKit_utils_env.isPC) {
+ common_vendor.O.listen({
+ domRefs: toolbarItemRef.value,
+ handler: closeToolbarItem
+ });
+ }
+ if (!props.needDialog) {
+ return;
+ }
+ toggleDialogDisplay(!showDialog.value);
+ };
+ const closeToolbarItem = () => {
+ showDialog.value = false;
+ emits("onDialogClose", dialogRef);
+ };
+ const toggleDialogDisplay = (showStatus) => {
+ if (showDialog.value === showStatus) {
+ return;
+ }
+ showDialog.value = showStatus;
+ switch (showStatus) {
+ case true:
+ emits("onDialogShow", dialogRef);
+ break;
+ case false:
+ emits("onDialogClose", dialogRef);
+ }
+ };
+ const onPopupClose = () => {
+ showDialog.value = false;
+ };
+ __expose({
+ toggleDialogDisplay
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.p({
+ file: props.iconFile,
+ width: props.iconWidth,
+ height: props.iconHeight
+ }),
+ b: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && "toolbar-item-container-uni-icon"),
+ c: common_vendor.o$1(toggleToolbarItem),
+ d: common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? {
+ e: common_vendor.t(props.title)
+ } : {}, {
+ f: props.needBottomPopup && !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, props.needBottomPopup && !common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ g: common_vendor.o$1(() => {
+ }),
+ h: common_vendor.o$1(onPopupClose),
+ i: common_vendor.p({
+ show: common_vendor.unref(showDialog)
+ })
+ } : {}, {
+ j: common_vendor.unref(showDialog),
+ k: common_vendor.n(common_vendor.unref(isDark) && "toolbar-item-container-dialog-dark"),
+ l: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "toolbar-item-container-h5-dialog"),
+ m: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && "toolbar-item-container-uni-dialog"),
+ n: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "toolbar-item-container-h5"),
+ o: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && "toolbar-item-container-uni")
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-bf58df78"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.json
new file mode 100644
index 0000000..6f99130
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon",
+ "bottom-popup": "../../../common/BottomPopup/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.wxml
new file mode 100644
index 0000000..70034ad
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.wxml
@@ -0,0 +1 @@
+{{e}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.wxss
new file mode 100644
index 0000000..ff7e4fa
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/toolbar-item-container/index.wxss
@@ -0,0 +1,140 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-bf58df78, div.data-v-bf58df78, ul.data-v-bf58df78, ol.data-v-bf58df78, dt.data-v-bf58df78, dd.data-v-bf58df78, li.data-v-bf58df78, dl.data-v-bf58df78, h1.data-v-bf58df78, h2.data-v-bf58df78, h3.data-v-bf58df78, h4.data-v-bf58df78, p.data-v-bf58df78 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-bf58df78, ul.data-v-bf58df78, li.data-v-bf58df78 {
+ list-style: none;
+}
+img.data-v-bf58df78 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-bf58df78 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-bf58df78 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-bf58df78 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-bf58df78:hover {
+ text-decoration: none;
+}
+input.data-v-bf58df78, textarea.data-v-bf58df78 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-bf58df78:focus, input.data-v-bf58df78:active, textarea.data-v-bf58df78:focus, textarea.data-v-bf58df78:active {
+ outline: none;
+}
+.chat-aside.data-v-bf58df78 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.toolbar-item-container-dialog.data-v-bf58df78 {
+ background: #fff;
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+}
+.toolbar-item-container.data-v-bf58df78 {
+ position: relative;
+}
+.toolbar-item-container-icon.data-v-bf58df78 {
+ padding: 8px;
+ cursor: pointer;
+ -webkit-tap-highlight-color: transparent;
+}
+.toolbar-item-container-dialog.data-v-bf58df78 {
+ z-index: 5;
+ position: absolute;
+ background: #fff;
+ box-shadow: 0 2px 4px -3px rgba(32, 77, 141, 0.03), 0 6px 10px 1px rgba(32, 77, 141, 0.06), 0 3px 14px 2px rgba(32, 77, 141, 0.05);
+ width: -webkit-fit-content;
+ width: fit-content;
+ height: -webkit-fit-content;
+ height: fit-content;
+ bottom: 35px;
+}
+.toolbar-item-container-dialog-dark.data-v-bf58df78 {
+ background: #22262E;
+ box-shadow: 0 8px 40px 0 rgba(23, 25, 31, 0.6), 0 4px 12px 0 rgba(23, 25, 31, 0.8);
+}
+.toolbar-item-container-h5-dialog.data-v-bf58df78 {
+ position: static !important;
+ width: 100%;
+ box-shadow: none;
+}
+.toolbar-item-container-uni.data-v-bf58df78 {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ position: static;
+}
+.toolbar-item-container-uni-icon.data-v-bf58df78 {
+ background: #fff;
+ border-radius: 15px;
+ width: 60px;
+ height: 60px;
+ padding: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.toolbar-item-container-uni-title.data-v-bf58df78 {
+ font-size: 14px;
+ color: #8F959D;
+}
+.toolbar-item-container-uni-dialog.data-v-bf58df78 {
+ position: absolute !important;
+ background: transparent;
+ left: -10px;
+ bottom: -5px;
+}
+.toolbar-item-container-uni-dialog .toolbar-bottom-popup.data-v-bf58df78 {
+ position: -webkit-sticky;
+ position: sticky;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.js
new file mode 100644
index 0000000..5ca23ed
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.js
@@ -0,0 +1,134 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+if (!Math) {
+ (Transfer + Dialog)();
+}
+const Dialog = () => "../../../common/Dialog/index.js";
+const Transfer = () => "../../../common/Transfer/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ // type: voiceCall/groupCall/...
+ type: {
+ type: String,
+ default: ""
+ },
+ currentConversation: {
+ type: Object,
+ default: () => ({})
+ },
+ isGroup: {
+ type: Boolean,
+ default: false
+ }
+ },
+ emits: ["submit", "cancel"],
+ setup(__props, { expose: __expose, emit: __emit }) {
+ const props = __props;
+ const emits = __emit;
+ const show = common_vendor.ref(false);
+ const groupID = common_vendor.ref("");
+ const memberList = common_vendor.ref([]);
+ const searchMemberList = common_vendor.ref([]);
+ const selfUserID = common_vendor.ref("");
+ const titleMap = {
+ voiceCall: "发起群语音",
+ videoCall: "发起群视频"
+ };
+ const title = common_vendor.computed(() => {
+ return titleMap[props.type] ? titleMap[props.type] : "";
+ });
+ common_vendor.Zt.getUserProfile().then((res) => {
+ var _a;
+ if ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.userID) {
+ selfUserID.value = res.data.userID;
+ }
+ });
+ common_vendor.watch(
+ () => {
+ var _a;
+ return [(_a = props == null ? void 0 : props.currentConversation) == null ? void 0 : _a.conversationID, show.value];
+ },
+ (newVal, oldVal) => {
+ if (newVal && newVal !== oldVal) {
+ if (props.isGroup && show.value) {
+ groupID.value = props.currentConversation.groupProfile.groupID;
+ common_vendor.es.getGroupMemberList({
+ groupID: groupID.value
+ }).then((res) => {
+ var _a, _b;
+ memberList.value = (_b = (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.memberList) == null ? void 0 : _b.filter(
+ (user) => (user == null ? void 0 : user.userID) !== selfUserID.value
+ );
+ searchMemberList.value = memberList.value;
+ });
+ } else {
+ groupID.value = "";
+ memberList.value = [];
+ searchMemberList.value = memberList.value;
+ }
+ }
+ },
+ {
+ immediate: true
+ }
+ );
+ const search = (searchInfo) => {
+ var _a;
+ const results = (_a = memberList.value) == null ? void 0 : _a.filter(
+ (member) => (member == null ? void 0 : member.userID) === searchInfo
+ );
+ searchMemberList.value = (results == null ? void 0 : results.length) ? results : memberList.value;
+ };
+ const submit = (selectedMemberList) => {
+ const userIDList = [];
+ selectedMemberList == null ? void 0 : selectedMemberList.forEach((user) => {
+ (user == null ? void 0 : user.userID) && userIDList.push(user.userID);
+ });
+ if (props.type === "voiceCall") {
+ emits("submit", { userIDList, groupID: groupID.value, type: 1 });
+ } else if (props.type === "videoCall") {
+ emits("submit", { userIDList, groupID: groupID.value, type: 2 });
+ }
+ searchMemberList.value = memberList.value;
+ toggleShow(false);
+ };
+ const cancel = () => {
+ searchMemberList.value = memberList.value;
+ emits("cancel");
+ toggleShow(false);
+ };
+ const toggleShow = (showStatus) => {
+ show.value = showStatus;
+ };
+ __expose({
+ toggleShow
+ });
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.o$1(search),
+ b: common_vendor.o$1(submit),
+ c: common_vendor.o$1(cancel),
+ d: common_vendor.p({
+ isSearch: true,
+ title: common_vendor.unref(title),
+ list: common_vendor.unref(searchMemberList),
+ isH5: !common_vendor.unref(TUIKit_utils_env.isPC),
+ isRadio: false
+ }),
+ e: common_vendor.o$1(toggleShow),
+ f: common_vendor.p({
+ show: common_vendor.unref(show),
+ isH5: !common_vendor.unref(TUIKit_utils_env.isPC),
+ isHeaderShow: false,
+ isFooterShow: false,
+ background: false
+ })
+ };
+ };
+ }
+});
+wx.createComponent(_sfc_main);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.json
new file mode 100644
index 0000000..e06ced4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "dialog": "../../../common/Dialog/index",
+ "transfer": "../../../common/Transfer/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.wxml
new file mode 100644
index 0000000..70fffab
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/user-selector/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.js
new file mode 100644
index 0000000..ec2e434
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.js
@@ -0,0 +1,131 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_components_TUIChat_utils_utils = require("../../utils/utils.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../../offlinePushInfoManager/index.js");
+const TUIKit_components_TUIChat_config = require("../../config.js");
+if (!Math) {
+ ToolbarItemContainer();
+}
+const ToolbarItemContainer = () => "../toolbar-item-container/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ // Video source, only valid for uni-app version, web version only supports selecting videos from files
+ // album: Select from files
+ // camera: Take a video using the camera
+ videoSourceType: {
+ type: String,
+ default: "album"
+ }
+ },
+ setup(__props) {
+ const props = __props;
+ const inputRef = common_vendor.ref();
+ const currentConversation = common_vendor.ref();
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: (conversation) => {
+ currentConversation.value = conversation;
+ }
+ });
+ const handleIcon = () => {
+ if (TUIKit_utils_env.isUniFrameWork) {
+ switch (props.videoSourceType) {
+ case "album":
+ return common_assets.videoUniIcon;
+ case "camera":
+ return common_assets.cameraUniIcon;
+ default:
+ return common_assets.videoUniIcon;
+ }
+ } else {
+ const videoIcon = TUIKit_components_TUIChat_config.ChatConfig.getTheme() === "dark" ? common_assets.videoIconDark : common_assets.videoIconLight;
+ return videoIcon;
+ }
+ };
+ const handleTitle = () => {
+ if (TUIKit_utils_env.isUniFrameWork && props.videoSourceType === "camera") {
+ return "录制";
+ } else {
+ return "视频";
+ }
+ };
+ const onIconClick = () => {
+ var _a, _b, _c, _d, _e;
+ if (TUIKit_utils_env.isUniFrameWork) {
+ if (TUIKit_utils_env.isWeChat && ((_a = common_vendor.i) == null ? void 0 : _a.chooseMedia)) {
+ (_b = common_vendor.i) == null ? void 0 : _b.chooseMedia({
+ mediaType: ["video"],
+ count: 1,
+ sourceType: [props.videoSourceType],
+ maxDuration: 60,
+ success: function(res) {
+ sendVideoMessage(res);
+ }
+ });
+ } else {
+ (_c = common_vendor.i) == null ? void 0 : _c.chooseVideo({
+ count: 1,
+ sourceType: [props.videoSourceType],
+ compressed: false,
+ success: function(res) {
+ sendVideoMessage(res);
+ }
+ });
+ }
+ } else {
+ ((_d = inputRef == null ? void 0 : inputRef.value) == null ? void 0 : _d.click) && ((_e = inputRef == null ? void 0 : inputRef.value) == null ? void 0 : _e.click());
+ }
+ };
+ const sendVideoInWeb = (e) => {
+ var _a, _b;
+ if (((_b = (_a = e == null ? void 0 : e.target) == null ? void 0 : _a.files) == null ? void 0 : _b.length) <= 0) {
+ return;
+ }
+ sendVideoMessage(e == null ? void 0 : e.target);
+ e.target.value = "";
+ };
+ const sendVideoMessage = (file) => {
+ var _a, _b, _c, _d, _e;
+ if (!file) {
+ return;
+ }
+ const options = {
+ to: ((_b = (_a = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _a.groupProfile) == null ? void 0 : _b.groupID) || ((_d = (_c = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _c.userProfile) == null ? void 0 : _d.userID),
+ conversationType: (_e = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _e.type,
+ payload: {
+ file
+ },
+ needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
+ };
+ const offlinePushInfoCreateParams = {
+ conversation: currentConversation.value,
+ payload: options.payload,
+ messageType: common_vendor.qt.TYPES.MSG_VIDEO
+ };
+ const sendMessageOptions = {
+ offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams)
+ };
+ common_vendor.Qt.sendVideoMessage(options, sendMessageOptions);
+ };
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.o$1(sendVideoInWeb),
+ b: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "video-upload-h5"),
+ c: common_vendor.o$1(onIconClick),
+ d: common_vendor.p({
+ iconFile: handleIcon(),
+ title: handleTitle(),
+ needDialog: false,
+ iconWidth: common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "32px" : "20px",
+ iconHeight: common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? props.videoSourceType === "album" ? "20px" : "25px" : "18px"
+ })
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-11a33e36"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.json
new file mode 100644
index 0000000..d700001
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "toolbar-item-container": "../toolbar-item-container/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.wxml
new file mode 100644
index 0000000..1779c96
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.wxss
new file mode 100644
index 0000000..d4540f4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/video-upload/index.wxss
@@ -0,0 +1,75 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-11a33e36, div.data-v-11a33e36, ul.data-v-11a33e36, ol.data-v-11a33e36, dt.data-v-11a33e36, dd.data-v-11a33e36, li.data-v-11a33e36, dl.data-v-11a33e36, h1.data-v-11a33e36, h2.data-v-11a33e36, h3.data-v-11a33e36, h4.data-v-11a33e36, p.data-v-11a33e36 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-11a33e36, ul.data-v-11a33e36, li.data-v-11a33e36 {
+ list-style: none;
+}
+img.data-v-11a33e36 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-11a33e36 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-11a33e36 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-11a33e36 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-11a33e36:hover {
+ text-decoration: none;
+}
+input.data-v-11a33e36, textarea.data-v-11a33e36 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-11a33e36:focus, input.data-v-11a33e36:active, textarea.data-v-11a33e36:focus, textarea.data-v-11a33e36:active {
+ outline: none;
+}
+.chat-aside.data-v-11a33e36 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.js
new file mode 100644
index 0000000..eb540a1
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.js
@@ -0,0 +1,87 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_components_TUIChat_utils_wordsList = require("../../utils/wordsList.js");
+const TUIKit_components_TUIChat_utils_utils = require("../../utils/utils.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+const TUIKit_components_TUIChat_config = require("../../config.js");
+if (!Math) {
+ ToolbarItemContainer();
+}
+const ToolbarItemContainer = () => "../toolbar-item-container/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ emits: ["onDialogPopupShowOrHide"],
+ setup(__props, { emit: __emit }) {
+ const wordsIcon = TUIKit_components_TUIChat_config.ChatConfig.getTheme() === "dark" ? common_assets.wordsIconDark : common_assets.wordsIconLight;
+ const emits = __emit;
+ const currentConversation = common_vendor.ref();
+ const container = common_vendor.ref();
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: (conversation) => {
+ currentConversation.value = conversation;
+ }
+ });
+ const selectWord = (item) => {
+ var _a, _b, _c, _d, _e, _f;
+ const options = {
+ to: ((_b = (_a = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _a.groupProfile) == null ? void 0 : _b.groupID) || ((_d = (_c = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _c.userProfile) == null ? void 0 : _d.userID),
+ conversationType: (_e = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _e.type,
+ payload: {
+ text: common_vendor.Wt.t(`Words.${item.value}`)
+ },
+ needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
+ };
+ common_vendor.Qt.sendTextMessage(options);
+ (_f = container == null ? void 0 : container.value) == null ? void 0 : _f.toggleDialogDisplay(false);
+ };
+ const closeDialog = () => {
+ var _a;
+ (_a = container == null ? void 0 : container.value) == null ? void 0 : _a.toggleDialogDisplay(false);
+ };
+ const onDialogShow = () => {
+ emits("onDialogPopupShowOrHide", true);
+ };
+ const onDialogClose = () => {
+ emits("onDialogPopupShowOrHide", false);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("Words.常用语-快捷回复工具")),
+ b: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "words-h5-header-title"),
+ c: !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ d: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "words-h5-header-close"),
+ e: common_vendor.o$1(closeDialog)
+ } : {}, {
+ f: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "words-h5-header"),
+ g: common_vendor.f(common_vendor.unref(TUIKit_components_TUIChat_utils_wordsList.wordsList), (item, index, i0) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`Words.${item.value}`)),
+ b: index,
+ c: common_vendor.o$1(($event) => selectWord(item), index)
+ };
+ }),
+ h: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "words-h5-list-item"),
+ i: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "words-h5-list"),
+ j: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "words-h5"),
+ k: common_vendor.sr(container, "ac0e1580-0", {
+ "k": "container"
+ }),
+ l: common_vendor.o$1(onDialogShow),
+ m: common_vendor.o$1(onDialogClose),
+ n: common_vendor.p({
+ iconFile: common_vendor.unref(wordsIcon),
+ title: "常用语",
+ needBottomPopup: true,
+ iconWidth: common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "26px" : "20px",
+ iconHeight: common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "26px" : "20px"
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ac0e1580"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.json
new file mode 100644
index 0000000..d700001
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "toolbar-item-container": "../toolbar-item-container/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.wxml
new file mode 100644
index 0000000..643726f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.wxml
@@ -0,0 +1 @@
+{{item.a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.wxss
new file mode 100644
index 0000000..d579cea
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input-toolbar/words/index.wxss
@@ -0,0 +1,142 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-ac0e1580, div.data-v-ac0e1580, ul.data-v-ac0e1580, ol.data-v-ac0e1580, dt.data-v-ac0e1580, dd.data-v-ac0e1580, li.data-v-ac0e1580, dl.data-v-ac0e1580, h1.data-v-ac0e1580, h2.data-v-ac0e1580, h3.data-v-ac0e1580, h4.data-v-ac0e1580, p.data-v-ac0e1580 {
+ margin:0;
+ padding:0;
+ font-style:normal;
+
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-ac0e1580, ul.data-v-ac0e1580, li.data-v-ac0e1580 {
+ list-style:none;
+}
+img.data-v-ac0e1580 {
+ border:0;
+ vertical-align:middle;
+ pointer-events:none;
+}
+body.data-v-ac0e1580 {
+ color:#000;
+ background:#FFF;
+}
+.clear.data-v-ac0e1580 {
+ clear:both;
+ height:1px;
+ width:100%;
+ overflow:hidden;
+ margin-top:-1px;
+}
+a.data-v-ac0e1580 {
+ color:#000;
+ text-decoration:none;
+ cursor: pointer;
+}
+a.data-v-ac0e1580:hover {
+ text-decoration:none;
+}
+input.data-v-ac0e1580, textarea.data-v-ac0e1580 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-ac0e1580:focus, input.data-v-ac0e1580:active, textarea.data-v-ac0e1580:focus, textarea.data-v-ac0e1580:active {
+ outline: none;
+}
+.chat-aside.data-v-ac0e1580 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.words.data-v-ac0e1580 {
+ background-color: #ffffff;
+}
+.words-header-close.data-v-ac0e1580 {
+ color: #3370ff;
+}
+.words.data-v-ac0e1580 {
+ z-index: 5;
+ width: 315px;
+ padding: 12px;
+ display: flex;
+ flex-direction: column;
+ width: 19.13rem;
+ height: 12.44rem;
+ overflow-y: auto;
+}
+.words-header.data-v-ac0e1580 {
+ display: flex;
+ justify-content: space-between;
+ font-size: 14px;
+ font-weight: 500;
+}
+.words-list.data-v-ac0e1580 {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ cursor: pointer;
+}
+.words-list-item.data-v-ac0e1580 {
+ cursor: pointer;
+ padding: 4px 0;
+ font-size: 14px;
+ color: #50545c;
+ line-height: 18px;
+}
+.words-list-item.data-v-ac0e1580:hover {
+ color: #006eff;
+}
+.words-h5.data-v-ac0e1580 {
+ width: 100%;
+ box-sizing: border-box;
+ max-height: 80vh;
+ height: -webkit-fit-content;
+ height: fit-content;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+.words-h5-header-title.data-v-ac0e1580 {
+ font-size: 18px;
+ line-height: 40px;
+}
+.words-h5-list.data-v-ac0e1580 {
+ flex: 1;
+ overflow-y: scroll;
+}
+.words-h5-list-item.data-v-ac0e1580 {
+ cursor: none;
+ -webkit-tap-highlight-color: transparent;
+ -moz-tap-highlight-color: transparent;
+ padding: 12px 0;
+ font-size: 16px;
+ color: #50545c;
+ line-height: 18px;
+ border-bottom: 1px solid #eeeeee;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.js
new file mode 100644
index 0000000..d504def
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.js
@@ -0,0 +1,176 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const TUIKit_components_TUIChat_utils_sendMessage = require("../utils/sendMessage.js");
+const TUIKit_components_TUIChat_config = require("../config.js");
+if (!Math) {
+ (MessageInputAudio + MessageInputEditor + MessageInputAt + Icon + MessageQuote)();
+}
+const MessageInputEditor = () => "./message-input-editor.js";
+const MessageInputAt = () => "./message-input-at/index.js";
+const MessageInputAudio = () => "./message-input-audio.js";
+const MessageQuote = () => "./message-input-quote/index.js";
+const Icon = () => "../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ placeholder: { default: "this is placeholder" },
+ isMuted: { type: Boolean, default: true },
+ muteText: { default: "" },
+ enableInput: { type: Boolean, default: true },
+ enableAt: { type: Boolean, default: true },
+ enableTyping: { type: Boolean, default: true },
+ replyOrReference: { default: () => ({}) },
+ inputToolbarDisplayType: { default: "none" }
+ },
+ emits: ["changeToolbarDisplayType"],
+ setup(__props, { expose: __expose, emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const editor = common_vendor.ref();
+ const messageInputAtRef = common_vendor.ref();
+ const currentConversation = common_vendor.ref();
+ const isGroup = common_vendor.ref(false);
+ const displayType = common_vendor.ref("editor");
+ const featureConfig = TUIKit_components_TUIChat_config.ChatConfig.getFeatureConfig();
+ const isRenderVoice = common_vendor.ref(featureConfig.InputVoice);
+ const isRenderEmojiPicker = common_vendor.ref(featureConfig.InputEmoji || featureConfig.InputStickers);
+ const isRenderMore = common_vendor.ref(featureConfig.InputImage || featureConfig.InputVideo || featureConfig.InputEvaluation || featureConfig.InputQuickReplies);
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdated
+ });
+ common_vendor.Jt.watch(common_vendor.o.CHAT, {
+ quoteMessage: onQuoteMessageUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdated
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.CHAT, {
+ quoteMessage: onQuoteMessageUpdated
+ });
+ });
+ common_vendor.watch(() => props.inputToolbarDisplayType, (newVal) => {
+ if (newVal !== "none") {
+ changeDisplayType("editor");
+ }
+ });
+ function changeDisplayType(display) {
+ displayType.value = display;
+ if (display === "audio") {
+ emits("changeToolbarDisplayType", "none");
+ }
+ }
+ function changeToolbarDisplayType(displayType2) {
+ emits("changeToolbarDisplayType", displayType2);
+ }
+ const onTyping = (inputContentEmpty, inputBlur) => {
+ TUIKit_components_TUIChat_utils_sendMessage.sendTyping(inputContentEmpty, inputBlur);
+ };
+ const onAt = (show) => {
+ var _a;
+ (_a = messageInputAtRef == null ? void 0 : messageInputAtRef.value) == null ? void 0 : _a.toggleAtList(show);
+ };
+ const onFocus = () => {
+ if (TUIKit_utils_env.isH5) {
+ emits("changeToolbarDisplayType", "none");
+ }
+ };
+ const insertEmoji = (emoji) => {
+ var _a, _b;
+ ((_a = editor == null ? void 0 : editor.value) == null ? void 0 : _a.addEmoji) && ((_b = editor == null ? void 0 : editor.value) == null ? void 0 : _b.addEmoji(emoji));
+ };
+ const insertAt = (atInfo) => {
+ var _a, _b;
+ ((_a = editor == null ? void 0 : editor.value) == null ? void 0 : _a.insertAt) && ((_b = editor == null ? void 0 : editor.value) == null ? void 0 : _b.insertAt(atInfo));
+ };
+ const onAtListOpen = () => {
+ var _a, _b;
+ ((_a = editor == null ? void 0 : editor.value) == null ? void 0 : _a.blur) && ((_b = editor == null ? void 0 : editor.value) == null ? void 0 : _b.blur());
+ };
+ const reEdit = (content) => {
+ var _a, _b;
+ (_a = editor == null ? void 0 : editor.value) == null ? void 0 : _a.resetEditor();
+ (_b = editor == null ? void 0 : editor.value) == null ? void 0 : _b.setEditorContent(content);
+ };
+ function onCurrentConversationUpdated(conversation) {
+ var _a;
+ currentConversation.value = conversation;
+ isGroup.value = ((_a = currentConversation.value) == null ? void 0 : _a.type) === common_vendor.qt.TYPES.CONV_GROUP;
+ }
+ function onQuoteMessageUpdated(options) {
+ if ((options == null ? void 0 : options.message) && (options == null ? void 0 : options.type) === "quote") {
+ changeDisplayType("editor");
+ }
+ }
+ __expose({
+ insertEmoji,
+ reEdit
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: (common_vendor.unref(TUIKit_utils_env.isWeChat) || common_vendor.unref(TUIKit_utils_env.isApp)) && common_vendor.unref(isRenderVoice)
+ }, (common_vendor.unref(TUIKit_utils_env.isWeChat) || common_vendor.unref(TUIKit_utils_env.isApp)) && common_vendor.unref(isRenderVoice) ? {
+ b: common_vendor.unref(displayType) === "audio" ? 1 : "",
+ c: common_vendor.o$1(changeDisplayType),
+ d: common_vendor.p({
+ isEnableAudio: common_vendor.unref(displayType) === "audio"
+ })
+ } : {}, {
+ e: common_vendor.sr(editor, "ceb9e230-1", {
+ "k": "editor"
+ }),
+ f: common_vendor.unref(displayType) === "editor",
+ g: common_vendor.o$1(onTyping),
+ h: common_vendor.o$1(onAt),
+ i: common_vendor.o$1(onFocus),
+ j: common_vendor.p({
+ placeholder: props.placeholder,
+ isMuted: props.isMuted,
+ muteText: props.muteText,
+ enableInput: props.enableInput,
+ enableAt: props.enableAt,
+ enableTyping: props.enableTyping,
+ isGroup: common_vendor.unref(isGroup)
+ }),
+ k: props.enableAt
+ }, props.enableAt ? {
+ l: common_vendor.sr(messageInputAtRef, "ceb9e230-2", {
+ "k": "messageInputAtRef"
+ }),
+ m: common_vendor.o$1(insertAt),
+ n: common_vendor.o$1(onAtListOpen)
+ } : {}, {
+ o: common_vendor.unref(isRenderEmojiPicker)
+ }, common_vendor.unref(isRenderEmojiPicker) ? {
+ p: common_vendor.o$1(($event) => changeToolbarDisplayType("emojiPicker")),
+ q: common_vendor.p({
+ file: common_vendor.unref(common_assets.faceIcon),
+ size: "23px",
+ hotAreaSize: "3px"
+ })
+ } : {}, {
+ r: common_vendor.unref(isRenderMore)
+ }, common_vendor.unref(isRenderMore) ? {
+ s: common_vendor.o$1(($event) => changeToolbarDisplayType("tools")),
+ t: common_vendor.p({
+ file: common_vendor.unref(common_assets.moreIcon),
+ size: "23px",
+ hotAreaSize: "3px"
+ })
+ } : {}, {
+ v: common_vendor.p({
+ displayType: common_vendor.unref(displayType)
+ }),
+ w: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "message-input-h5")
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ceb9e230"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.json
new file mode 100644
index 0000000..b5d7cbb
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "message-input-editor": "./message-input-editor",
+ "message-input-at": "./message-input-at/index",
+ "message-input-audio": "./message-input-audio",
+ "message-quote": "./message-input-quote/index",
+ "icon": "../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.wxml
new file mode 100644
index 0000000..5b27d80
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.wxss
new file mode 100644
index 0000000..600b21b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/index.wxss
@@ -0,0 +1,107 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-ceb9e230, div.data-v-ceb9e230, ul.data-v-ceb9e230, ol.data-v-ceb9e230, dt.data-v-ceb9e230, dd.data-v-ceb9e230, li.data-v-ceb9e230, dl.data-v-ceb9e230, h1.data-v-ceb9e230, h2.data-v-ceb9e230, h3.data-v-ceb9e230, h4.data-v-ceb9e230, p.data-v-ceb9e230 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-ceb9e230, ul.data-v-ceb9e230, li.data-v-ceb9e230 {
+ list-style: none;
+}
+img.data-v-ceb9e230 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-ceb9e230 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-ceb9e230 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-ceb9e230 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-ceb9e230:hover {
+ text-decoration: none;
+}
+input.data-v-ceb9e230, textarea.data-v-ceb9e230 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-ceb9e230:focus, input.data-v-ceb9e230:active, textarea.data-v-ceb9e230:focus, textarea.data-v-ceb9e230:active {
+ outline: none;
+}
+.chat-aside.data-v-ceb9e230 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.data-v-ceb9e230:not(not) {
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ box-sizing: border-box;
+}
+.message-input.data-v-ceb9e230 {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ border: none;
+ overflow: hidden;
+ background: #ebf0f6;
+}
+.message-input-h5.data-v-ceb9e230 {
+ padding: 10px 10px 15px;
+}
+.message-input-editor.data-v-ceb9e230 {
+ flex: 1;
+ display: flex;
+}
+.message-input .icon.data-v-ceb9e230 {
+ margin-left: 3px;
+}
+.message-input-wx-audio-open.data-v-ceb9e230 {
+ flex: 1;
+}
+.audio-main-content-line.data-v-ceb9e230 {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.js
new file mode 100644
index 0000000..5d92af6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.js
@@ -0,0 +1,154 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+if (!Math) {
+ BottomPopup();
+}
+const BottomPopup = () => "../../../common/BottomPopup/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ emits: ["onAtListOpen", "insertAt"],
+ setup(__props, { expose: __expose, emit: __emit }) {
+ const emits = __emit;
+ const MessageInputAt = common_vendor.ref();
+ const memberListItems = common_vendor.ref();
+ const showAtList = common_vendor.ref(false);
+ const memberList = common_vendor.ref();
+ const allMemberList = common_vendor.ref();
+ const showMemberList = common_vendor.ref();
+ const isGroup = common_vendor.ref(false);
+ const position = common_vendor.ref({
+ left: 0,
+ top: 0
+ });
+ const selectedIndex = common_vendor.ref(0);
+ const currentConversationID = common_vendor.ref("");
+ const all = {
+ userID: common_vendor.qt.TYPES.MSG_AT_ALL,
+ nick: "所有人",
+ isAll: true,
+ avatar: "https://web.sdk.qcloud.com/im/assets/images/at.svg"
+ };
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversationID: (id) => {
+ var _a, _b;
+ if (id !== currentConversationID.value) {
+ currentConversationID.value = id;
+ memberList.value = [];
+ allMemberList.value = [];
+ showMemberList.value = [];
+ isGroup.value = false;
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "memberList", memberList.value);
+ if ((_a = currentConversationID == null ? void 0 : currentConversationID.value) == null ? void 0 : _a.startsWith("GROUP")) {
+ isGroup.value = true;
+ const groupID = (_b = currentConversationID == null ? void 0 : currentConversationID.value) == null ? void 0 : _b.substring(5);
+ common_vendor.es.switchGroup(groupID);
+ } else {
+ common_vendor.es.switchGroup("");
+ }
+ }
+ }
+ });
+ common_vendor.Jt.watch(common_vendor.o.GRP, {
+ currentGroupMemberList: (list) => {
+ memberList.value = list;
+ allMemberList.value = [all, ...memberList.value];
+ showMemberList.value = allMemberList.value;
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "memberList", memberList.value);
+ }
+ });
+ const toggleAtList = (show) => {
+ if (!isGroup.value) {
+ return;
+ }
+ showAtList.value = show;
+ if (showAtList.value) {
+ emits("onAtListOpen");
+ }
+ };
+ const handleAtListPosition = (positionData) => {
+ position.value = positionData;
+ };
+ const setCurrentSelectIndex = (index) => {
+ var _a, _b;
+ selectedIndex.value = index;
+ (_b = (_a = memberListItems.value) == null ? void 0 : _a[selectedIndex.value]) == null ? void 0 : _b.scrollIntoView(false);
+ };
+ const setShowMemberList = (list) => {
+ showMemberList.value = list;
+ };
+ common_vendor.i.toggleAtList = toggleAtList;
+ common_vendor.i.handleAtListPosition = handleAtListPosition;
+ common_vendor.i.setCurrentSelectIndex = setCurrentSelectIndex;
+ common_vendor.i.setShowMemberList = setShowMemberList;
+ __expose({
+ toggleAtList
+ });
+ common_vendor.watch(
+ () => [position.value, MessageInputAt == null ? void 0 : MessageInputAt.value],
+ () => {
+ var _a;
+ if (TUIKit_utils_env.isH5 || !(MessageInputAt == null ? void 0 : MessageInputAt.value) || !((_a = MessageInputAt == null ? void 0 : MessageInputAt.value) == null ? void 0 : _a.style)) {
+ return;
+ }
+ MessageInputAt.value.style.left = position.value.left + "px";
+ MessageInputAt.value.style.top = position.value.top - MessageInputAt.value.clientHeight + "px";
+ }
+ );
+ const closeAt = () => {
+ showAtList.value = false;
+ showMemberList.value = allMemberList.value;
+ position.value = {
+ left: 0,
+ top: 0
+ };
+ };
+ const selectItem = (index) => {
+ var _a;
+ if (TUIKit_utils_env.isPC && common_vendor.i.selectItem) {
+ common_vendor.i.selectItem(index);
+ } else {
+ if ((_a = showMemberList == null ? void 0 : showMemberList.value) == null ? void 0 : _a.length) {
+ const item = showMemberList == null ? void 0 : showMemberList.value[index];
+ emits("insertAt", {
+ id: item == null ? void 0 : item.userID,
+ label: (item == null ? void 0 : item.nick) || (item == null ? void 0 : item.userID)
+ });
+ }
+ }
+ closeAt();
+ };
+ const handleMemberAvatar = (item) => {
+ return (item == null ? void 0 : item.avatar) || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png";
+ };
+ const handleMemberName = (item) => {
+ return (item == null ? void 0 : item.nick) ? item == null ? void 0 : item.nick : item == null ? void 0 : item.userID;
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ b: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.选择提醒的人"))
+ } : {}, {
+ c: common_vendor.f(common_vendor.unref(showMemberList), (item, index, i0) => {
+ return {
+ a: handleMemberAvatar(item),
+ b: common_vendor.t(handleMemberName(item)),
+ c: index,
+ d: common_vendor.n(index === common_vendor.unref(selectedIndex) && "selected"),
+ e: common_vendor.o$1(($event) => selectItem(index), index)
+ };
+ }),
+ d: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isPC) ? "message-input-at" : "message-input-at-h5"),
+ e: common_vendor.o$1(closeAt),
+ f: common_vendor.p({
+ show: common_vendor.unref(showAtList)
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7a11d573"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.json
new file mode 100644
index 0000000..66ad39c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "bottom-popup": "../../../common/BottomPopup/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.wxml
new file mode 100644
index 0000000..7b19350
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.wxml
@@ -0,0 +1 @@
+{{b}} {{item.b}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.wxss
new file mode 100644
index 0000000..2e2bea2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-at/index.wxss
@@ -0,0 +1,168 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-7a11d573, div.data-v-7a11d573, ul.data-v-7a11d573, ol.data-v-7a11d573, dt.data-v-7a11d573, dd.data-v-7a11d573, li.data-v-7a11d573, dl.data-v-7a11d573, h1.data-v-7a11d573, h2.data-v-7a11d573, h3.data-v-7a11d573, h4.data-v-7a11d573, p.data-v-7a11d573 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-7a11d573, ul.data-v-7a11d573, li.data-v-7a11d573 {
+ list-style: none;
+}
+img.data-v-7a11d573 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-7a11d573 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-7a11d573 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-7a11d573 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-7a11d573:hover {
+ text-decoration: none;
+}
+input.data-v-7a11d573, textarea.data-v-7a11d573 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-7a11d573:focus, input.data-v-7a11d573:active, textarea.data-v-7a11d573:focus, textarea.data-v-7a11d573:active {
+ outline: none;
+}
+.chat-aside.data-v-7a11d573 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-input-at.data-v-7a11d573 {
+ position: fixed;
+ max-width: 15rem;
+ max-height: 10rem;
+ overflow: hidden auto;
+ background: #fff;
+ box-shadow: 0 0.06rem 0.63rem 0 rgba(2, 16, 43, 0.15);
+ border-radius: 0.13rem;
+}
+.member-list-box-header.data-v-7a11d573 {
+ height: 2.5rem;
+ padding-top: 5px;
+ cursor: pointer;
+}
+.member-list-box-header.data-v-7a11d573:hover {
+ background: rgba(0, 110, 255, 0.1);
+}
+.member-list-box span.data-v-7a11d573 {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ font-size: 12px;
+ color: #000;
+ letter-spacing: 0;
+ padding: 5px;
+}
+.member-list-box-body.data-v-7a11d573 {
+ height: 30px;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+}
+.member-list-box-body .selected.data-v-7a11d573, .member-list-box-body.data-v-7a11d573:hover {
+ background: rgba(0, 110, 255, 0.1);
+}
+.member-list-box-body-name.data-v-7a11d573 {
+ overflow: hidden;
+ white-space: nowrap;
+ word-wrap: break-word;
+ word-break: break-all;
+ text-overflow: ellipsis;
+}
+.member-list-box-body-avatar.data-v-7a11d573 {
+ width: 20px;
+ height: 20px;
+ padding-left: 10px;
+}
+.member-list-box .selected.data-v-7a11d573 {
+ background: rgba(0, 110, 255, 0.1);
+}
+.message-input-at-h5 .member-list.data-v-7a11d573 {
+ height: auto;
+ max-height: 500px;
+ width: 100%;
+ max-width: 100%;
+ background: white;
+ border-radius: 12px 12px 0 0;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+}
+.message-input-at-h5 .member-list-title.data-v-7a11d573 {
+ height: -webkit-fit-content;
+ height: fit-content;
+ width: calc(100% - 30px);
+ text-align: center;
+ vertical-align: middle;
+ padding: 15px;
+}
+.message-input-at-h5 .member-list-title .title.data-v-7a11d573 {
+ vertical-align: middle;
+ display: inline-block;
+ font-size: 16px;
+}
+.message-input-at-h5 .member-list-title .close.data-v-7a11d573 {
+ vertical-align: middle;
+ position: absolute;
+ right: 10px;
+ display: inline-block;
+}
+.message-input-at-h5 .member-list-box.data-v-7a11d573 {
+ flex: 1;
+ overflow-y: scroll;
+}
+.message-input-at-h5 .member-list-box-body.data-v-7a11d573 {
+ padding: 10px;
+}
+.message-input-at-h5 .member-list-box-body img.data-v-7a11d573 {
+ width: 26px;
+ height: 26px;
+}
+.message-input-at-h5 .member-list-box-body span.data-v-7a11d573 {
+ font-size: 14px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.js
new file mode 100644
index 0000000..aefbd16
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.js
@@ -0,0 +1,199 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_utils_lodash = require("../../../utils/lodash.js");
+const TUIKit_components_TUIChat_utils_utils = require("../utils/utils.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-input-audio",
+ props: {
+ isEnableAudio: { type: Boolean, default: false }
+ },
+ emits: ["changeDisplayType"],
+ setup(__props, { emit: __emit }) {
+ var _a;
+ const emits = __emit;
+ const props = __props;
+ let recordTime = 0;
+ let isManualCancelBySlide = false;
+ let recordTimer;
+ let firstTouchPageY = -1;
+ let isFingerTouchingScreen = false;
+ let isFirstAuthrizedRecord = false;
+ const recorderManager = (_a = common_vendor.i) == null ? void 0 : _a.getRecorderManager();
+ const isRecording = common_vendor.ref(false);
+ const touchBarText = common_vendor.ref("按住说话");
+ const modalText = common_vendor.ref("正在录音");
+ const isAudioTouchBarShow = common_vendor.ref(false);
+ const currentConversation = common_vendor.ref();
+ const recordConfig = {
+ // Duration of the recording, in ms, with a maximum value of 600000 (10 minutes)
+ duration: 6e4,
+ // Sampling rate
+ sampleRate: 44100,
+ // Number of recording channels
+ numberOfChannels: 1,
+ // Encoding bit rate
+ encodeBitRate: 192e3,
+ // Audio format
+ // Select this format to create audio messages that can be interoperable across all chat platforms (Android, iOS, WeChat Mini Programs, and Web).
+ format: "mp3"
+ };
+ function switchAudio() {
+ emits("changeDisplayType", props.isEnableAudio ? "editor" : "audio");
+ }
+ common_vendor.onMounted(() => {
+ recorderManager.onStart(onRecorderStart);
+ recorderManager.onStop(onRecorderStop);
+ recorderManager.onError(onRecorderError);
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConverstaionUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConverstaionUpdated
+ });
+ });
+ function onCurrentConverstaionUpdated(conversation) {
+ currentConversation.value = conversation;
+ }
+ function initRecorder() {
+ initRecorderData();
+ initRecorderView();
+ }
+ function initRecorderView() {
+ isRecording.value = false;
+ touchBarText.value = "按住说话";
+ modalText.value = "正在录音";
+ }
+ function initRecorderData(options) {
+ clearInterval(recordTimer);
+ recordTimer = void 0;
+ recordTime = 0;
+ firstTouchPageY = -1;
+ isManualCancelBySlide = false;
+ if (!(options == null ? void 0 : options.hasError)) {
+ recorderManager.stop();
+ }
+ }
+ function handleTouchStart() {
+ if (isFingerTouchingScreen) {
+ isFirstAuthrizedRecord = true;
+ }
+ }
+ function handleLongPress() {
+ isFingerTouchingScreen = true;
+ recorderManager.start(recordConfig);
+ }
+ const handleTouchMove = TUIKit_utils_lodash.throttle(function(e) {
+ if (isRecording.value) {
+ const pageY = e.changedTouches[e.changedTouches.length - 1].pageY;
+ if (firstTouchPageY < 0) {
+ firstTouchPageY = pageY;
+ }
+ const offset = firstTouchPageY - pageY;
+ if (offset > 150) {
+ touchBarText.value = "抬起取消";
+ modalText.value = "松开手指 取消发送";
+ isManualCancelBySlide = true;
+ } else if (offset > 50) {
+ touchBarText.value = "抬起发送";
+ modalText.value = "继续上滑可取消";
+ isManualCancelBySlide = false;
+ } else {
+ touchBarText.value = "抬起发送";
+ modalText.value = "正在录音";
+ isManualCancelBySlide = false;
+ }
+ }
+ }, 100);
+ function handleTouchEnd() {
+ isFingerTouchingScreen = false;
+ recorderManager.stop();
+ }
+ function onRecorderStart() {
+ if (!isFingerTouchingScreen) {
+ isFirstAuthrizedRecord = true;
+ recorderManager.stop();
+ return;
+ }
+ recordTimer = setInterval(() => {
+ recordTime += 1;
+ }, 1e3);
+ touchBarText.value = "抬起发送";
+ isRecording.value = true;
+ }
+ function onRecorderStop(res) {
+ var _a2, _b, _c, _d, _e, _f;
+ if (isFirstAuthrizedRecord) {
+ isFirstAuthrizedRecord = false;
+ initRecorder();
+ return;
+ }
+ if (isManualCancelBySlide || !isRecording.value) {
+ initRecorder();
+ return;
+ }
+ clearInterval(recordTimer);
+ const tempFilePath = res.tempFilePath;
+ const duration = res.duration ? res.duration : recordTime * 1e3;
+ const fileSize = res.fileSize ? res.fileSize : 48 * recordTime / 8 * 1024;
+ if (duration < 1e3) {
+ TUIKit_components_common_Toast_index.Toast({
+ message: "录音时间太短",
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.NORMAL,
+ duration: 1500
+ });
+ } else {
+ const options = {
+ to: ((_b = (_a2 = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _a2.groupProfile) == null ? void 0 : _b.groupID) || ((_d = (_c = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _c.userProfile) == null ? void 0 : _d.userID),
+ conversationType: (_e = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _e.type,
+ payload: { file: { duration, tempFilePath, fileSize } },
+ needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
+ };
+ (_f = common_vendor.Qt) == null ? void 0 : _f.sendAudioMessage(options);
+ }
+ initRecorder();
+ }
+ function onRecorderError() {
+ initRecorderData({ hasError: true });
+ initRecorderView();
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.o$1(switchAudio),
+ b: common_vendor.p({
+ file: common_vendor.unref(common_assets.audioIcon$1),
+ size: "23px",
+ hotAreaSize: "3px"
+ }),
+ c: props.isEnableAudio
+ }, props.isEnableAudio ? common_vendor.e({
+ d: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIChat.${common_vendor.unref(touchBarText)}`)),
+ e: common_vendor.unref(isRecording)
+ }, common_vendor.unref(isRecording) ? {
+ f: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIChat.${common_vendor.unref(modalText)}`))
+ } : {}, {
+ g: common_vendor.o$1(handleTouchStart),
+ h: common_vendor.o$1(handleLongPress),
+ i: common_vendor.o$1(
+ //@ts-ignore
+ (...args) => common_vendor.unref(handleTouchMove) && common_vendor.unref(handleTouchMove)(...args)
+ ),
+ j: common_vendor.o$1(handleTouchEnd)
+ }) : {}, {
+ k: common_vendor.unref(isAudioTouchBarShow) ? 1 : ""
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-89320e8a"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.json
new file mode 100644
index 0000000..017f9cf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.wxml
new file mode 100644
index 0000000..4111cf3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.wxml
@@ -0,0 +1 @@
+{{d}} {{f}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.wxss
new file mode 100644
index 0000000..1e6244f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-audio.wxss
@@ -0,0 +1,145 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-89320e8a, div.data-v-89320e8a, ul.data-v-89320e8a, ol.data-v-89320e8a, dt.data-v-89320e8a, dd.data-v-89320e8a, li.data-v-89320e8a, dl.data-v-89320e8a, h1.data-v-89320e8a, h2.data-v-89320e8a, h3.data-v-89320e8a, h4.data-v-89320e8a, p.data-v-89320e8a {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-89320e8a, ul.data-v-89320e8a, li.data-v-89320e8a {
+ list-style: none;
+}
+img.data-v-89320e8a {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-89320e8a {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-89320e8a {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-89320e8a {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-89320e8a:hover {
+ text-decoration: none;
+}
+input.data-v-89320e8a, textarea.data-v-89320e8a {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-89320e8a:focus, input.data-v-89320e8a:active, textarea.data-v-89320e8a:focus, textarea.data-v-89320e8a:active {
+ outline: none;
+}
+.chat-aside.data-v-89320e8a {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-input-audio.data-v-89320e8a {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+.message-input-audio .audio-message-icon.data-v-89320e8a {
+ margin-right: 3px;
+}
+.message-input-audio .audio-input-touch-bar.data-v-89320e8a {
+ height: 39px;
+ flex: 1;
+ border-radius: 10px;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ background-color: #fff;
+}
+.message-input-audio .audio-input-touch-bar .record-modal.data-v-89320e8a {
+ height: 300rpx;
+ width: 60vw;
+ background-color: rgba(0, 0, 0, 0.8);
+ position: fixed;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ z-index: 9999;
+ border-radius: 24rpx;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+}
+.message-input-audio .audio-input-touch-bar .record-modal .red-mask.data-v-89320e8a {
+ position: absolute;
+ inset: 0;
+ background-color: rgba(255, 62, 72, 0.5);
+ opacity: 0;
+ transition: opacity 10ms linear;
+ z-index: 1;
+}
+.message-input-audio .audio-input-touch-bar .record-modal .moving-slider.data-v-89320e8a {
+ margin: 10vw;
+ width: 40rpx;
+ height: 16rpx;
+ border-radius: 4rpx;
+ background-color: #006fff;
+ animation: loading-89320e8a 1s ease-in-out infinite alternate;
+ z-index: 2;
+}
+.message-input-audio .audio-input-touch-bar .record-modal .float-element.data-v-89320e8a {
+ position: relative;
+ z-index: 2;
+}
+@keyframes loading-89320e8a {
+0% {
+ transform: translate(0, 0);
+}
+100% {
+ transform: translate(30vw, 0);
+ background-color: #f5634a;
+ width: 40px;
+}
+}
+.message-input-audio .audio-input-touch-bar .modal-title.data-v-89320e8a {
+ text-align: center;
+ color: #fff;
+}
+.message-input-audio-open.data-v-89320e8a {
+ flex: 1;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.js
new file mode 100644
index 0000000..ac0617d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.js
@@ -0,0 +1,214 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_components_TUIChat_utils_conversationDraft = require("../utils/conversationDraft.js");
+const TUIKit_components_TUIChat_emojiConfig_index = require("../emoji-config/index.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const TUIKit_components_TUIChat_utils_sendMessage = require("../utils/sendMessage.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-input-editor",
+ props: {
+ placeholder: {
+ type: String,
+ default: "this is placeholder"
+ },
+ replayOrReferenceMessage: {
+ type: Object,
+ default: () => ({}),
+ required: false
+ },
+ isMuted: {
+ type: Boolean,
+ default: true
+ },
+ muteText: {
+ type: String,
+ default: ""
+ },
+ enableInput: {
+ type: Boolean,
+ default: true
+ },
+ enableAt: {
+ type: Boolean,
+ default: true
+ },
+ enableTyping: {
+ type: Boolean,
+ default: true
+ },
+ isGroup: {
+ type: Boolean,
+ default: false
+ }
+ },
+ emits: ["onTyping", "onFocus", "onAt"],
+ setup(__props, { expose: __expose, emit: __emit }) {
+ const props = __props;
+ const emits = __emit;
+ const inputText = common_vendor.ref("");
+ common_vendor.ref();
+ const inputBlur = common_vendor.ref(true);
+ const inputContentEmpty = common_vendor.ref(true);
+ const allInsertedAtInfo = /* @__PURE__ */ new Map();
+ const currentConversation = common_vendor.ref();
+ const currentConversationID = common_vendor.ref("");
+ const currentQuoteMessage = common_vendor.ref();
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdated
+ });
+ common_vendor.Jt.watch(common_vendor.o.CHAT, {
+ quoteMessage: onQuoteMessageUpdated
+ });
+ common_vendor.index.$on("insert-emoji", (data) => {
+ var _a;
+ inputText.value += (_a = data == null ? void 0 : data.emoji) == null ? void 0 : _a.name;
+ });
+ common_vendor.index.$on("send-message-in-emoji-picker", () => {
+ handleSendMessage();
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ if (currentConversationID.value) {
+ TUIKit_components_TUIChat_utils_conversationDraft.DraftManager.setStore(currentConversationID.value, inputText.value, inputText.value, currentQuoteMessage.value);
+ }
+ common_vendor.index.$off("insertEmoji");
+ common_vendor.index.$off("send-message-in-emoji-picker");
+ common_vendor.Jt.unwatch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdated
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.CHAT, {
+ quoteMessage: onQuoteMessageUpdated
+ });
+ reset();
+ });
+ const handleSendMessage = () => {
+ const messageList = getEditorContent();
+ resetEditor();
+ TUIKit_components_TUIChat_utils_sendMessage.sendMessages(messageList, currentConversation.value);
+ };
+ const insertAt = (atInfo) => {
+ if (!(allInsertedAtInfo == null ? void 0 : allInsertedAtInfo.has(atInfo == null ? void 0 : atInfo.id))) {
+ allInsertedAtInfo == null ? void 0 : allInsertedAtInfo.set(atInfo == null ? void 0 : atInfo.id, atInfo == null ? void 0 : atInfo.label);
+ }
+ inputText.value += atInfo == null ? void 0 : atInfo.label;
+ };
+ const getEditorContent = () => {
+ let text = inputText.value;
+ text = TUIKit_components_TUIChat_emojiConfig_index.transformTextWithEmojiNamesToKeys(text);
+ const atUserList = [];
+ allInsertedAtInfo == null ? void 0 : allInsertedAtInfo.forEach((value, key) => {
+ if (text == null ? void 0 : text.includes("@" + value)) {
+ atUserList.push(key);
+ }
+ });
+ const payload = {
+ text
+ };
+ if (atUserList == null ? void 0 : atUserList.length) {
+ payload.atUserList = atUserList;
+ }
+ return [
+ {
+ type: "text",
+ payload
+ }
+ ];
+ };
+ const resetEditor = () => {
+ inputText.value = "";
+ inputContentEmpty.value = true;
+ allInsertedAtInfo == null ? void 0 : allInsertedAtInfo.clear();
+ };
+ const setEditorContent = (content) => {
+ inputText.value = content;
+ };
+ const onBlur = () => {
+ inputBlur.value = true;
+ };
+ const onFocus = (e) => {
+ var _a;
+ inputBlur.value = false;
+ emits("onFocus", (_a = e == null ? void 0 : e.detail) == null ? void 0 : _a.height);
+ };
+ const isEditorContentEmpty = () => {
+ var _a;
+ inputContentEmpty.value = ((_a = inputText == null ? void 0 : inputText.value) == null ? void 0 : _a.length) ? false : true;
+ };
+ const onInput = (e) => {
+ var _a, _b;
+ const text = (_a = e == null ? void 0 : e.detail) == null ? void 0 : _a.value;
+ isEditorContentEmpty();
+ if (props.isGroup && (text.endsWith("@") || text.endsWith("@\n"))) {
+ (_b = common_vendor.i) == null ? void 0 : _b.hideKeyboard();
+ emits("onAt", true);
+ }
+ };
+ common_vendor.watch(
+ () => [inputContentEmpty.value, inputBlur.value],
+ (newVal, oldVal) => {
+ if (newVal !== oldVal) {
+ emits("onTyping", inputContentEmpty.value, inputBlur.value);
+ }
+ },
+ {
+ immediate: true,
+ deep: true
+ }
+ );
+ function onCurrentConversationUpdated(conversation) {
+ const prevConversationID = currentConversationID.value;
+ currentConversation.value = conversation;
+ currentConversationID.value = conversation == null ? void 0 : conversation.conversationID;
+ if (prevConversationID !== currentConversationID.value) {
+ if (prevConversationID) {
+ TUIKit_components_TUIChat_utils_conversationDraft.DraftManager.setStore(
+ prevConversationID,
+ inputText.value,
+ inputText.value,
+ currentQuoteMessage.value
+ );
+ }
+ resetEditor();
+ if (currentConversationID.value) {
+ TUIKit_components_TUIChat_utils_conversationDraft.DraftManager.getStore(currentConversationID.value, setEditorContent);
+ }
+ }
+ }
+ function onQuoteMessageUpdated(options) {
+ currentQuoteMessage.value = options;
+ }
+ function reset() {
+ inputBlur.value = true;
+ currentConversation.value = null;
+ currentConversationID.value = "";
+ currentQuoteMessage.value = null;
+ resetEditor();
+ }
+ __expose({
+ insertAt,
+ resetEditor,
+ setEditorContent,
+ getEditorContent
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.isMuted
+ }, props.isMuted ? {
+ b: common_vendor.t(props.muteText)
+ } : {}, {
+ c: props.placeholder,
+ d: common_vendor.o$1(handleSendMessage),
+ e: common_vendor.o$1([($event) => common_vendor.isRef(inputText) ? inputText.value = $event.detail.value : null, onInput]),
+ f: common_vendor.o$1(onBlur),
+ g: common_vendor.o$1(onFocus),
+ h: common_vendor.unref(inputText),
+ i: !common_vendor.unref(TUIKit_utils_env.isPC) ? 1 : ""
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-6acc9af1"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.wxml
new file mode 100644
index 0000000..e3387e6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.wxml
@@ -0,0 +1 @@
+{{b}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.wxss
new file mode 100644
index 0000000..0f902ed
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-editor.wxss
@@ -0,0 +1,104 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-6acc9af1, div.data-v-6acc9af1, ul.data-v-6acc9af1, ol.data-v-6acc9af1, dt.data-v-6acc9af1, dd.data-v-6acc9af1, li.data-v-6acc9af1, dl.data-v-6acc9af1, h1.data-v-6acc9af1, h2.data-v-6acc9af1, h3.data-v-6acc9af1, h4.data-v-6acc9af1, p.data-v-6acc9af1 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-6acc9af1, ul.data-v-6acc9af1, li.data-v-6acc9af1 {
+ list-style: none;
+}
+img.data-v-6acc9af1 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-6acc9af1 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-6acc9af1 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-6acc9af1 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-6acc9af1:hover {
+ text-decoration: none;
+}
+input.data-v-6acc9af1, textarea.data-v-6acc9af1 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-6acc9af1:focus, input.data-v-6acc9af1:active, textarea.data-v-6acc9af1:focus, textarea.data-v-6acc9af1:active {
+ outline: none;
+}
+.chat-aside.data-v-6acc9af1 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-input-container.data-v-6acc9af1 {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+ padding: 3px 10px 10px;
+ overflow: hidden;
+}
+.message-input-container-h5.data-v-6acc9af1 {
+ flex: 1;
+ height: auto;
+ background: #fff;
+ border-radius: 10px;
+ padding: 7px 0 7px 10px;
+ font-size: 16px !important;
+ max-height: 86px;
+}
+.message-input-container .message-input-mute.data-v-6acc9af1 {
+ flex: 1;
+ display: flex;
+ color: #999;
+ font-size: 14px;
+ justify-content: center;
+ align-items: center;
+}
+.message-input-container .message-input-area.data-v-6acc9af1 {
+ flex: 1;
+ overflow-y: scroll;
+ min-height: 25px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.js
new file mode 100644
index 0000000..f99f15c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.js
@@ -0,0 +1,94 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+const TUIKit_components_TUIChat_emojiConfig_index = require("../../emoji-config/index.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ displayType: { default: "editor" }
+ },
+ setup(__props) {
+ const props = __props;
+ const TYPES = common_vendor.qt.TYPES;
+ const quoteMessage = common_vendor.ref();
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CHAT, {
+ quoteMessage: onQuoteMessageUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CHAT, {
+ quoteMessage: onQuoteMessageUpdated
+ });
+ });
+ const quoteContentText = common_vendor.computed(() => {
+ var _a, _b;
+ let _quoteContentText;
+ switch ((_a = quoteMessage.value) == null ? void 0 : _a.type) {
+ case TYPES.MSG_TEXT:
+ _quoteContentText = TUIKit_components_TUIChat_emojiConfig_index.transformTextWithKeysToEmojiNames((_b = quoteMessage.value.payload) == null ? void 0 : _b.text);
+ break;
+ case TYPES.MSG_IMAGE:
+ _quoteContentText = common_vendor.Wt.t("TUIChat.图片");
+ break;
+ case TYPES.MSG_AUDIO:
+ _quoteContentText = common_vendor.Wt.t("TUIChat.语音");
+ break;
+ case TYPES.MSG_VIDEO:
+ _quoteContentText = common_vendor.Wt.t("TUIChat.视频");
+ break;
+ case TYPES.MSG_FILE:
+ _quoteContentText = common_vendor.Wt.t("TUIChat.文件");
+ break;
+ case TYPES.MSG_CUSTOM:
+ _quoteContentText = common_vendor.Wt.t("TUIChat.自定义");
+ break;
+ case TYPES.MSG_FACE:
+ _quoteContentText = common_vendor.Wt.t("TUIChat.表情");
+ break;
+ case TYPES.MSG_MERGER:
+ _quoteContentText = common_vendor.Wt.t("TUIChat.聊天记录");
+ break;
+ default:
+ _quoteContentText = common_vendor.Wt.t("TUIChat.消息");
+ break;
+ }
+ return _quoteContentText;
+ });
+ function cancelQuote() {
+ common_vendor.Jt.update(common_vendor.o.CHAT, "quoteMessage", { message: void 0, type: "quote" });
+ }
+ function onQuoteMessageUpdated(options) {
+ if ((options == null ? void 0 : options.message) && (options == null ? void 0 : options.type) === "quote") {
+ quoteMessage.value = options.message;
+ } else {
+ quoteMessage.value = void 0;
+ }
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: Boolean(common_vendor.unref(quoteMessage)) && props.displayType !== "audio"
+ }, Boolean(common_vendor.unref(quoteMessage)) && props.displayType !== "audio" ? {
+ b: common_vendor.t(common_vendor.unref(quoteMessage).nick || common_vendor.unref(quoteMessage).from),
+ c: common_vendor.t(common_vendor.unref(quoteContentText)),
+ d: common_vendor.o$1(cancelQuote),
+ e: common_vendor.p({
+ file: common_vendor.unref(common_assets.closeIcon$2),
+ width: "11px",
+ height: "11px"
+ }),
+ f: common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? 1 : "",
+ g: common_vendor.unref(TUIKit_utils_env.isH5) ? 1 : ""
+ } : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-0be2008a"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.json
new file mode 100644
index 0000000..e4996d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.wxml
new file mode 100644
index 0000000..3226672
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.wxml
@@ -0,0 +1 @@
+{{b}}: {{c}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.wxss
new file mode 100644
index 0000000..923904d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-input/message-input-quote/index.wxss
@@ -0,0 +1,59 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.input-quote-container-h5.data-v-0be2008a, .input-quote-container-uni.data-v-0be2008a, .input-quote-container.data-v-0be2008a {
+ margin: 5px 100px 5px 8px;
+ display: flex;
+ flex: 0 1 auto;
+}
+.input-quote-container-h5 .input-quote-content.data-v-0be2008a, .input-quote-container-uni .input-quote-content.data-v-0be2008a, .input-quote-container .input-quote-content.data-v-0be2008a {
+ display: flex;
+ flex: 0 1 auto;
+ background-color: #fafafa;
+ border-radius: 8px;
+ padding: 12px;
+ font-size: 12px;
+ align-items: center;
+ line-height: 16px;
+ max-width: 100%;
+ box-sizing: border-box;
+ min-width: 0;
+}
+.input-quote-container-h5 .input-quote-content .max-one-line.data-v-0be2008a, .input-quote-container-uni .input-quote-content .max-one-line.data-v-0be2008a, .input-quote-container .input-quote-content .max-one-line.data-v-0be2008a {
+ flex: 0 1 auto;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.input-quote-container-h5 .input-quote-close-icon.data-v-0be2008a, .input-quote-container-uni .input-quote-close-icon.data-v-0be2008a, .input-quote-container .input-quote-close-icon.data-v-0be2008a {
+ margin-left: 5px;
+ padding: 5px;
+}
+.input-quote-container-uni.data-v-0be2008a {
+ margin: 5px 60px 0 30px;
+}
+.input-quote-container-h5.data-v-0be2008a {
+ margin: 5px 0 0;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.js
new file mode 100644
index 0000000..2808b4f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.js
@@ -0,0 +1,618 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_components_TUIChat_messageList_link_index = require("./link/index.js");
+const TUIKit_plugins_pluginComponents_index = require("../../../plugins/plugin-components/index.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_components_TUIChat_utils_utils = require("../utils/utils.js");
+const TUIKit_utils_lodash = require("../../../utils/lodash.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const TUIKit_components_TUIChat_utils_chatStorage = require("../utils/chatStorage.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+if (!Math) {
+ (MessageGroupApplication + MessageTimestamp + MessageTip + MessageText + MessageImage + ProgressMessage + MessageVideo + MessageAudio + MessageRecord + MessageFile + MessageFace + MessageLocation + MessageCustom + MessageBubble + MessagePlugin + MessageRevoked + MessageTool + ScrollButton + Dialog + ReadReceiptPanel + SimpleMessageList + Drawer)();
+}
+const SimpleMessageList = () => "./message-elements/simple-message-list/index.js";
+const MessageGroupApplication = () => "./message-group-application/index.js";
+const MessageText = () => "./message-elements/message-text.js";
+const MessageImage = () => "./message-elements/message-image.js";
+const MessageAudio = () => "./message-elements/message-audio.js";
+const MessageRecord = () => "./message-elements/message-record/index.js";
+const MessageFile = () => "./message-elements/message-file.js";
+const MessageFace = () => "./message-elements/message-face.js";
+const MessageCustom = () => "./message-elements/message-custom.js";
+const MessageTip = () => "./message-elements/message-tip.js";
+const MessageBubble = () => "./message-elements/message-bubble.js";
+const MessageLocation = () => "./message-elements/message-location.js";
+const MessageTimestamp = () => "./message-elements/message-timestamp.js";
+const MessageVideo = () => "./message-elements/message-video.js";
+const MessageTool = () => "./message-tool/index.js";
+const MessageRevoked = () => "./message-tool/message-revoked.js";
+const MessagePlugin = () => "../../../plugins/plugin-components/message-plugin.js";
+const ReadReceiptPanel = () => "./read-receipt-panel/index.js";
+const ScrollButton = () => "./scroll-button/index.js";
+const Dialog = () => "../../common/Dialog/index.js";
+const Drawer = () => "../../common/Drawer/index.js";
+const ProgressMessage = () => "../../common/ProgressMessage/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ isGroup: { type: Boolean, default: false },
+ groupID: { default: "" },
+ isNotInGroup: { type: Boolean, default: false },
+ isMultipleSelectMode: { type: Boolean, default: false }
+ },
+ emits: ["closeInputToolBar", "handleEditor", "toggleMultipleSelectMode"],
+ setup(__props, { expose: __expose, emit: __emit }) {
+ var _a;
+ const emits = __emit;
+ const props = __props;
+ let selfAddValue = 0;
+ let observer = null;
+ let groupType;
+ const sentReceiptMessageID = /* @__PURE__ */ new Set();
+ const isOfficial = common_vendor.Jt.getData(common_vendor.o.APP, "isOfficial");
+ const thisInstance = ((_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.proxy) || common_vendor.getCurrentInstance();
+ const messageList = common_vendor.ref();
+ const multipleSelectedMessageIDList = common_vendor.ref([]);
+ const isCompleted = common_vendor.ref(false);
+ const currentConversationID = common_vendor.ref("");
+ const toggleID = common_vendor.ref("");
+ const scrollTop = common_vendor.ref(5e3);
+ const TYPES = common_vendor.ref(common_vendor.qt.TYPES);
+ const isLoadingMessage = common_vendor.ref(false);
+ const isLongpressing = common_vendor.ref(false);
+ const blinkMessageIDList = common_vendor.ref([]);
+ const messageTarget = common_vendor.ref();
+ const scrollButtonInstanceRef = common_vendor.ref();
+ const historyFirstMessageID = common_vendor.ref("");
+ const isShowSimpleMessageList = common_vendor.ref(false);
+ const simpleMessageListRenderMessageID = common_vendor.ref();
+ const audioPlayedMapping = common_vendor.ref({});
+ const broadcastNewAudioSrc = common_vendor.ref("");
+ const readStatusMessage = common_vendor.ref();
+ const isShowReadUserStatusPanel = common_vendor.ref(false);
+ const reSendDialogShow = common_vendor.ref(false);
+ const resendMessageData = common_vendor.ref();
+ const scrollToBottom = () => {
+ scrollTop.value += 300;
+ const timer2 = setTimeout(() => {
+ scrollTop.value += 1;
+ clearTimeout(timer2);
+ }, 300);
+ };
+ const onCurrentConversationIDUpdated = (conversationID) => {
+ currentConversationID.value = conversationID;
+ if (TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()) {
+ const { groupProfile } = common_vendor.Jt.getConversationModel(conversationID) || {};
+ groupType = groupProfile == null ? void 0 : groupProfile.type;
+ }
+ if (Object.keys(audioPlayedMapping.value).length > 0) {
+ TUIKit_components_TUIChat_utils_chatStorage.chatStorage.setChatStorage("audioPlayedMapping", audioPlayedMapping.value);
+ }
+ };
+ common_vendor.onMounted(() => {
+ audioPlayedMapping.value = TUIKit_components_TUIChat_utils_chatStorage.chatStorage.getChatStorage("audioPlayedMapping") || {};
+ common_vendor.Jt.watch(common_vendor.o.CHAT, {
+ messageList: onMessageListUpdated,
+ messageSource: onMessageSourceUpdated,
+ isCompleted: onChatCompletedUpdated
+ });
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversationID: onCurrentConversationIDUpdated
+ });
+ common_vendor.v("messageList", thisInstance);
+ common_vendor.index.$on("scroll-to-bottom", scrollToLatestMessage);
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CHAT, {
+ messageList: onMessageListUpdated,
+ isCompleted: onChatCompletedUpdated
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.CONV, {
+ currentConversationID: onCurrentConversationIDUpdated
+ });
+ observer == null ? void 0 : observer.disconnect();
+ observer = null;
+ common_vendor.index.$off("scroll-to-bottom");
+ if (Object.keys(audioPlayedMapping.value).length > 0) {
+ TUIKit_components_TUIChat_utils_chatStorage.chatStorage.setChatStorage("audioPlayedMapping", audioPlayedMapping.value);
+ }
+ });
+ const handelScrollListScroll = TUIKit_utils_lodash.throttle(
+ function(e) {
+ var _a2;
+ (_a2 = scrollButtonInstanceRef.value) == null ? void 0 : _a2.judgeScrollOverOneScreen(e);
+ },
+ 500,
+ { leading: true }
+ );
+ function getGlobalAudioContext(audioMap, options) {
+ if (options == null ? void 0 : options.newAudioSrc) {
+ broadcastNewAudioSrc.value = options.newAudioSrc;
+ }
+ }
+ async function onMessageListUpdated(list) {
+ var _a2, _b, _c;
+ observer == null ? void 0 : observer.disconnect();
+ messageList.value = list.filter((message) => !message.isDeleted).map((message) => {
+ message.vueForRenderKey = `${message.ID}`;
+ return message;
+ });
+ const newLastMessage = (_b = messageList.value) == null ? void 0 : _b[((_a2 = messageList.value) == null ? void 0 : _a2.length) - 1];
+ if (messageTarget.value) {
+ scrollAndBlinkMessage(messageTarget.value);
+ } else if (!isLoadingMessage.value && !(((_c = scrollButtonInstanceRef.value) == null ? void 0 : _c.isScrollButtonVisible) && (newLastMessage == null ? void 0 : newLastMessage.flow) === "in")) {
+ common_vendor.nextTick$1(() => {
+ scrollToBottom();
+ });
+ }
+ if (TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()) {
+ common_vendor.nextTick$1(() => bindIntersectionObserver());
+ }
+ }
+ async function scrollToLatestMessage() {
+ try {
+ const { scrollHeight } = await common_vendor.P(
+ "#messageScrollList",
+ "messageList"
+ );
+ if (scrollHeight) {
+ scrollTop.value === scrollHeight ? scrollTop.value = scrollHeight + 1 : scrollTop.value = scrollHeight;
+ } else {
+ scrollToBottom();
+ }
+ } catch (error) {
+ scrollToBottom();
+ }
+ }
+ async function onMessageSourceUpdated(message) {
+ messageTarget.value = message;
+ scrollAndBlinkMessage(messageTarget.value);
+ }
+ function scrollAndBlinkMessage(message) {
+ var _a2;
+ if ((_a2 = messageList.value) == null ? void 0 : _a2.some(
+ (messageListItem) => (messageListItem == null ? void 0 : messageListItem.ID) === (message == null ? void 0 : message.ID)
+ )) {
+ common_vendor.nextTick$1(async () => {
+ await scrollToTargetMessage(message);
+ await blinkMessage(message == null ? void 0 : message.ID);
+ messageTarget.value = void 0;
+ });
+ }
+ }
+ function onChatCompletedUpdated(flag) {
+ isCompleted.value = flag;
+ }
+ const getHistoryMessageList = () => {
+ var _a2, _b;
+ isLoadingMessage.value = true;
+ const currentFirstMessageID = ((_b = (_a2 = messageList.value) == null ? void 0 : _a2[0]) == null ? void 0 : _b.ID) || "";
+ common_vendor.Qt.getMessageList().then(() => {
+ common_vendor.nextTick$1(() => {
+ historyFirstMessageID.value = currentFirstMessageID;
+ const timer2 = setTimeout(() => {
+ historyFirstMessageID.value = "";
+ isLoadingMessage.value = false;
+ clearTimeout(timer2);
+ }, 500);
+ });
+ });
+ };
+ const openComplaintLink = () => {
+ };
+ const handleToggleMessageItem = (e, message, index, isLongpress = false) => {
+ if (props.isMultipleSelectMode || props.isNotInGroup) {
+ return;
+ }
+ if (isLongpress) {
+ isLongpressing.value = true;
+ }
+ toggleID.value = message.ID;
+ };
+ let timer;
+ const handleH5LongPress = (e, message, index, type) => {
+ if (props.isMultipleSelectMode || props.isNotInGroup) {
+ return;
+ }
+ if (!TUIKit_utils_env.isH5)
+ return;
+ function longPressHandler() {
+ clearTimeout(timer);
+ handleToggleMessageItem(e, message, index, true);
+ }
+ function touchStartHandler() {
+ timer = setTimeout(longPressHandler, 500);
+ }
+ function touchEndHandler() {
+ clearTimeout(timer);
+ }
+ switch (type) {
+ case "touchstart":
+ touchStartHandler();
+ break;
+ case "touchend":
+ touchEndHandler();
+ setTimeout(() => {
+ isLongpressing.value = false;
+ }, 200);
+ break;
+ }
+ };
+ const handleEdit = (message) => {
+ emits("handleEditor", message, "reedit");
+ };
+ const resendMessage = (message) => {
+ reSendDialogShow.value = true;
+ resendMessageData.value = message;
+ };
+ const handleImagePreview = (index) => {
+ if (!messageList.value) {
+ return;
+ }
+ const imageMessageIndex = [];
+ const imageMessageList = messageList.value.filter((item, index2) => {
+ if (!item.isRevoked && !item.hasRiskContent && item.type === TYPES.value.MSG_IMAGE) {
+ imageMessageIndex.push(index2);
+ return true;
+ }
+ return false;
+ });
+ common_vendor.index.previewImage({
+ current: imageMessageIndex.indexOf(index),
+ urls: imageMessageList.map((message) => {
+ var _a2;
+ return (_a2 = message.payload.imageInfoArray) == null ? void 0 : _a2[2].url;
+ })
+ });
+ };
+ const resendMessageConfirm = () => {
+ reSendDialogShow.value = !reSendDialogShow.value;
+ const messageModel = resendMessageData.value;
+ messageModel.resendMessage();
+ };
+ function blinkMessage(messageID) {
+ return new Promise((resolve) => {
+ const index = blinkMessageIDList.value.indexOf(messageID);
+ if (index < 0) {
+ blinkMessageIDList.value.push(messageID);
+ const timer2 = setTimeout(() => {
+ blinkMessageIDList.value.splice(
+ blinkMessageIDList.value.indexOf(messageID),
+ 1
+ );
+ clearTimeout(timer2);
+ resolve();
+ }, 3e3);
+ }
+ });
+ }
+ function scrollTo(scrollHeight) {
+ scrollTop.value = scrollHeight;
+ }
+ async function bindIntersectionObserver() {
+ if (!messageList.value || messageList.value.length === 0) {
+ return;
+ }
+ if (groupType === TYPES.value.GRP_AVCHATROOM || groupType === TYPES.value.GRP_COMMUNITY) {
+ return;
+ }
+ observer == null ? void 0 : observer.disconnect();
+ observer = common_vendor.index.createIntersectionObserver(thisInstance, {
+ threshold: [0.7],
+ observeAll: true
+ // In Uni-app, the `safetip` is also included, so a negative margin is needed to exclude it.
+ }).relativeTo("#messageScrollList", { top: -70 });
+ observer == null ? void 0 : observer.observe(".message-li.in .message-bubble-container", (res) => {
+ var _a2;
+ if (sentReceiptMessageID.has(res.id)) {
+ return;
+ }
+ const matchingMessage = messageList.value.find((message) => {
+ return res.id.indexOf(message.ID) > -1;
+ });
+ if (matchingMessage && matchingMessage.needReadReceipt && matchingMessage.flow === "in" && !((_a2 = matchingMessage.readReceiptInfo) == null ? void 0 : _a2.isPeerRead)) {
+ common_vendor.Qt.sendMessageReadReceipt([matchingMessage]);
+ sentReceiptMessageID.add(res.id);
+ }
+ });
+ }
+ function setReadReceiptPanelVisible(visible, message) {
+ if (visible && props.isNotInGroup) {
+ return;
+ }
+ if (!visible) {
+ readStatusMessage.value = void 0;
+ } else {
+ readStatusMessage.value = message;
+ }
+ isShowReadUserStatusPanel.value = visible;
+ }
+ async function scrollToTargetMessage(message) {
+ const targetMessageID = message.ID;
+ const isTargetMessageInScreen = messageList.value && messageList.value.some((msg) => msg.ID === targetMessageID);
+ if (targetMessageID && isTargetMessageInScreen) {
+ const timer2 = setTimeout(async () => {
+ try {
+ const scrollViewRect = await common_vendor.T(
+ "#messageScrollList",
+ "messageList"
+ );
+ const originalMessageRect = await common_vendor.T(
+ "#tui-" + targetMessageID,
+ "messageList"
+ );
+ const { scrollTop: scrollTop2 } = await common_vendor.P(
+ "#messageScrollList",
+ "messageList"
+ );
+ const finalScrollTop = originalMessageRect.top + scrollTop2 - scrollViewRect.top - selfAddValue++ % 2;
+ scrollTo(finalScrollTop);
+ clearTimeout(timer2);
+ } catch (error) {
+ }
+ }, 500);
+ } else {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIChat.无法定位到原消息"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.WARNING
+ });
+ }
+ }
+ function onMessageListBackgroundClick() {
+ emits("closeInputToolBar");
+ }
+ common_vendor.watch(() => props.isMultipleSelectMode, (newValue) => {
+ if (!newValue) {
+ changeSelectMessageIDList({
+ type: "clearAll",
+ messageID: ""
+ });
+ }
+ });
+ function changeSelectMessageIDList({ type, messageID }) {
+ if (type === "clearAll") {
+ multipleSelectedMessageIDList.value = [];
+ } else if (type === "add" && !multipleSelectedMessageIDList.value.includes(messageID)) {
+ multipleSelectedMessageIDList.value.push(messageID);
+ } else if (type === "remove") {
+ multipleSelectedMessageIDList.value = multipleSelectedMessageIDList.value.filter((id) => id !== messageID);
+ }
+ }
+ function mergeForwardMessage() {
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "multipleForwardMessageID", {
+ isMergeForward: true,
+ messageIDList: multipleSelectedMessageIDList.value
+ });
+ }
+ function oneByOneForwardMessage() {
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "multipleForwardMessageID", {
+ isMergeForward: false,
+ messageIDList: multipleSelectedMessageIDList.value
+ });
+ }
+ function assignMessageIDInUniapp(messageID) {
+ simpleMessageListRenderMessageID.value = messageID;
+ isShowSimpleMessageList.value = true;
+ }
+ function setAudioPlayed(messageID) {
+ audioPlayedMapping.value[messageID] = true;
+ }
+ __expose({
+ oneByOneForwardMessage,
+ mergeForwardMessage,
+ scrollToLatestMessage
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isOfficial)
+ }, common_vendor.unref(isOfficial) ? {
+ b: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.【安全提示】本 APP 仅用于体验腾讯云即时通信 IM 产品功能,不可用于业务洽谈与拓展。请勿轻信汇款、中奖等涉及钱款的信息,勿轻易拨打陌生电话,谨防上当受骗。")),
+ c: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.点此投诉")),
+ d: common_vendor.o$1(($event) => openComplaintLink(common_vendor.unref(TUIKit_components_TUIChat_messageList_link_index.Link).complaint))
+ } : {}, {
+ e: _ctx.isGroup
+ }, _ctx.isGroup ? {
+ f: props.groupID,
+ g: common_vendor.p({
+ groupID: props.groupID
+ })
+ } : {}, {
+ h: !common_vendor.unref(isCompleted)
+ }, !common_vendor.unref(isCompleted) ? {
+ i: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.查看更多")),
+ j: common_vendor.o$1(getHistoryMessageList)
+ } : {}, {
+ k: common_vendor.f(common_vendor.unref(messageList), (item, index, i0) => {
+ return common_vendor.e({
+ a: "c85b5b22-1-" + i0,
+ b: common_vendor.p({
+ currTime: item.time,
+ prevTime: index > 0 ? common_vendor.unref(messageList)[index - 1].time : 0
+ }),
+ c: item.type === common_vendor.unref(TYPES).MSG_GRP_TIP || common_vendor.unref(TUIKit_components_TUIChat_utils_utils.isCreateGroupCustomMessage)(item)
+ }, item.type === common_vendor.unref(TYPES).MSG_GRP_TIP || common_vendor.unref(TUIKit_components_TUIChat_utils_utils.isCreateGroupCustomMessage)(item) ? {
+ d: "c85b5b22-2-" + i0,
+ e: common_vendor.p({
+ content: item.getMessageContent()
+ })
+ } : !item.isRevoked && !common_vendor.unref(TUIKit_plugins_pluginComponents_index.isPluginMessage)(item) ? common_vendor.e({
+ g: item.type === common_vendor.unref(TYPES).MSG_TEXT
+ }, item.type === common_vendor.unref(TYPES).MSG_TEXT ? {
+ h: "c85b5b22-4-" + i0 + "," + ("c85b5b22-3-" + i0),
+ i: common_vendor.p({
+ content: item.getMessageContent(),
+ messageItem: item
+ })
+ } : item.type === common_vendor.unref(TYPES).MSG_IMAGE ? {
+ k: common_vendor.o$1(($event) => handleImagePreview(index), item.vueForRenderKey),
+ l: "c85b5b22-6-" + i0 + "," + ("c85b5b22-5-" + i0),
+ m: common_vendor.p({
+ content: item.getMessageContent(),
+ messageItem: item
+ }),
+ n: "c85b5b22-5-" + i0 + "," + ("c85b5b22-3-" + i0),
+ o: common_vendor.p({
+ content: item.getMessageContent(),
+ messageItem: common_vendor.unref(TUIKit_components_TUIChat_utils_utils.deepCopy)(item)
+ })
+ } : item.type === common_vendor.unref(TYPES).MSG_VIDEO ? {
+ q: "c85b5b22-8-" + i0 + "," + ("c85b5b22-7-" + i0),
+ r: common_vendor.p({
+ content: item.getMessageContent(),
+ messageItem: item
+ }),
+ s: "c85b5b22-7-" + i0 + "," + ("c85b5b22-3-" + i0),
+ t: common_vendor.p({
+ content: item.getMessageContent(),
+ messageItem: common_vendor.unref(TUIKit_components_TUIChat_utils_utils.deepCopy)(item)
+ })
+ } : item.type === common_vendor.unref(TYPES).MSG_AUDIO ? {
+ w: common_vendor.o$1(setAudioPlayed, item.vueForRenderKey),
+ x: common_vendor.o$1(getGlobalAudioContext, item.vueForRenderKey),
+ y: "c85b5b22-9-" + i0 + "," + ("c85b5b22-3-" + i0),
+ z: common_vendor.p({
+ content: item.getMessageContent(),
+ messageItem: item,
+ broadcastNewAudioSrc: common_vendor.unref(broadcastNewAudioSrc)
+ })
+ } : item.type === common_vendor.unref(TYPES).MSG_MERGER ? {
+ B: common_vendor.o$1(assignMessageIDInUniapp, item.vueForRenderKey),
+ C: "c85b5b22-10-" + i0 + "," + ("c85b5b22-3-" + i0),
+ D: common_vendor.p({
+ renderData: item.payload,
+ messageItem: item
+ })
+ } : item.type === common_vendor.unref(TYPES).MSG_FILE ? {
+ F: "c85b5b22-11-" + i0 + "," + ("c85b5b22-3-" + i0),
+ G: common_vendor.p({
+ content: item.getMessageContent()
+ })
+ } : item.type === common_vendor.unref(TYPES).MSG_FACE ? {
+ I: "c85b5b22-12-" + i0 + "," + ("c85b5b22-3-" + i0),
+ J: common_vendor.p({
+ content: item.getMessageContent()
+ })
+ } : item.type === common_vendor.unref(TYPES).MSG_LOCATION ? {
+ L: "c85b5b22-13-" + i0 + "," + ("c85b5b22-3-" + i0),
+ M: common_vendor.p({
+ content: item.getMessageContent()
+ })
+ } : item.type === common_vendor.unref(TYPES).MSG_CUSTOM ? {
+ O: "c85b5b22-14-" + i0 + "," + ("c85b5b22-3-" + i0),
+ P: common_vendor.p({
+ content: item.getMessageContent(),
+ messageItem: item
+ })
+ } : {}, {
+ j: item.type === common_vendor.unref(TYPES).MSG_IMAGE,
+ p: item.type === common_vendor.unref(TYPES).MSG_VIDEO,
+ v: item.type === common_vendor.unref(TYPES).MSG_AUDIO,
+ A: item.type === common_vendor.unref(TYPES).MSG_MERGER,
+ E: item.type === common_vendor.unref(TYPES).MSG_FILE,
+ H: item.type === common_vendor.unref(TYPES).MSG_FACE,
+ K: item.type === common_vendor.unref(TYPES).MSG_LOCATION,
+ N: item.type === common_vendor.unref(TYPES).MSG_CUSTOM,
+ Q: common_vendor.o$1(($event) => resendMessage(item), item.vueForRenderKey),
+ R: common_vendor.o$1(blinkMessage, item.vueForRenderKey),
+ S: common_vendor.o$1(scrollTo, item.vueForRenderKey),
+ T: common_vendor.o$1(changeSelectMessageIDList, item.vueForRenderKey),
+ U: common_vendor.o$1(setReadReceiptPanelVisible, item.vueForRenderKey),
+ V: "c85b5b22-3-" + i0,
+ W: common_vendor.p({
+ messageItem: common_vendor.unref(TUIKit_components_TUIChat_utils_utils.deepCopy)(item),
+ content: item.getMessageContent(),
+ isAudioPlayed: common_vendor.unref(audioPlayedMapping)[item.ID],
+ blinkMessageIDList: common_vendor.unref(blinkMessageIDList),
+ isMultipleSelectMode: _ctx.isMultipleSelectMode,
+ multipleSelectedMessageIDList: common_vendor.unref(multipleSelectedMessageIDList)
+ }),
+ X: `msg-bubble-${item.ID}`,
+ Y: common_vendor.o$1(($event) => handleToggleMessageItem($event, item, index, true), item.vueForRenderKey),
+ Z: common_vendor.o$1(($event) => handleH5LongPress($event, item, index, "touchstart"), item.vueForRenderKey),
+ aa: common_vendor.o$1(($event) => handleH5LongPress($event, item, index, "touchend"), item.vueForRenderKey),
+ ab: common_vendor.o$1(($event) => handleH5LongPress($event, item, index, "touchend"), item.vueForRenderKey)
+ }) : !item.isRevoked && common_vendor.unref(TUIKit_plugins_pluginComponents_index.isPluginMessage)(item) ? {
+ ad: common_vendor.o$1(resendMessage, item.vueForRenderKey),
+ ae: common_vendor.o$1(handleToggleMessageItem, item.vueForRenderKey),
+ af: common_vendor.o$1(handleH5LongPress, item.vueForRenderKey),
+ ag: "c85b5b22-15-" + i0,
+ ah: common_vendor.p({
+ message: item
+ })
+ } : {
+ ai: common_vendor.o$1(($event) => handleEdit(item), item.vueForRenderKey),
+ aj: "c85b5b22-16-" + i0,
+ ak: common_vendor.p({
+ isEdit: item.type === common_vendor.unref(TYPES).MSG_TEXT,
+ messageItem: item
+ })
+ }, {
+ f: !item.isRevoked && !common_vendor.unref(TUIKit_plugins_pluginComponents_index.isPluginMessage)(item),
+ ac: !item.isRevoked && common_vendor.unref(TUIKit_plugins_pluginComponents_index.isPluginMessage)(item),
+ al: item.ID === common_vendor.unref(toggleID)
+ }, item.ID === common_vendor.unref(toggleID) ? {
+ am: item.flow === "out" ? 1 : "",
+ an: item.flow === "in" ? 1 : "",
+ ao: common_vendor.o$1(() => emits("toggleMultipleSelectMode"), item.vueForRenderKey),
+ ap: "c85b5b22-17-" + i0,
+ aq: common_vendor.p({
+ messageItem: item,
+ isMultipleSelectMode: _ctx.isMultipleSelectMode
+ })
+ } : {}, {
+ ar: common_vendor.o$1(($event) => toggleID.value = "", item.vueForRenderKey),
+ as: `tui-${item.ID}`,
+ at: item.vueForRenderKey,
+ av: common_vendor.n("message-li " + item.flow)
+ });
+ }),
+ l: common_vendor.unref(scrollTop),
+ m: `tui-${common_vendor.unref(historyFirstMessageID)}`,
+ n: common_vendor.o$1(
+ //@ts-ignore
+ (...args) => common_vendor.unref(handelScrollListScroll) && common_vendor.unref(handelScrollListScroll)(...args)
+ ),
+ o: common_vendor.sr(scrollButtonInstanceRef, "c85b5b22-18", {
+ "k": "scrollButtonInstanceRef"
+ }),
+ p: common_vendor.o$1(scrollToLatestMessage),
+ q: common_vendor.unref(reSendDialogShow)
+ }, common_vendor.unref(reSendDialogShow) ? {
+ r: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.确认重发该消息?")),
+ s: common_vendor.o$1(($event) => resendMessageConfirm()),
+ t: common_vendor.o$1((e) => reSendDialogShow.value = e),
+ v: common_vendor.p({
+ show: common_vendor.unref(reSendDialogShow),
+ isH5: !common_vendor.unref(TUIKit_utils_env.isPC),
+ center: true,
+ isHeaderShow: common_vendor.unref(TUIKit_utils_env.isPC)
+ })
+ } : {}, {
+ w: common_vendor.unref(isShowReadUserStatusPanel)
+ }, common_vendor.unref(isShowReadUserStatusPanel) ? {
+ x: common_vendor.o$1(setReadReceiptPanelVisible),
+ y: common_vendor.p({
+ message: Object.assign({}, common_vendor.unref(readStatusMessage))
+ })
+ } : {}, {
+ z: common_vendor.o$1(($event) => isShowSimpleMessageList.value = false),
+ A: common_vendor.p({
+ isMounted: common_vendor.unref(isShowSimpleMessageList),
+ messageID: common_vendor.unref(simpleMessageListRenderMessageID)
+ }),
+ B: common_vendor.p({
+ visible: common_vendor.unref(isShowSimpleMessageList),
+ overlayColor: "transparent",
+ popDirection: "right"
+ }),
+ C: common_vendor.unref(TUIKit_utils_env.isMobile) ? 1 : "",
+ D: common_vendor.o$1(onMessageListBackgroundClick)
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c85b5b22"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.json
new file mode 100644
index 0000000..3a9993f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.json
@@ -0,0 +1,27 @@
+{
+ "component": true,
+ "usingComponents": {
+ "simple-message-list": "./message-elements/simple-message-list/index",
+ "message-group-application": "./message-group-application/index",
+ "message-text": "./message-elements/message-text",
+ "message-image": "./message-elements/message-image",
+ "message-audio": "./message-elements/message-audio",
+ "message-record": "./message-elements/message-record/index",
+ "message-file": "./message-elements/message-file",
+ "message-face": "./message-elements/message-face",
+ "message-custom": "./message-elements/message-custom",
+ "message-tip": "./message-elements/message-tip",
+ "message-bubble": "./message-elements/message-bubble",
+ "message-location": "./message-elements/message-location",
+ "message-timestamp": "./message-elements/message-timestamp",
+ "message-video": "./message-elements/message-video",
+ "message-tool": "./message-tool/index",
+ "message-revoked": "./message-tool/message-revoked",
+ "message-plugin": "../../../plugins/plugin-components/message-plugin",
+ "read-receipt-panel": "./read-receipt-panel/index",
+ "scroll-button": "./scroll-button/index",
+ "dialog": "../../common/Dialog/index",
+ "drawer": "../../common/Drawer/index",
+ "progress-message": "../../common/ProgressMessage/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.wxml
new file mode 100644
index 0000000..76f4e6d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.wxml
@@ -0,0 +1 @@
+{{b}} {{c}} {{i}} {{r}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.wxss
new file mode 100644
index 0000000..fc9db3d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/index.wxss
@@ -0,0 +1,265 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-c85b5b22, div.data-v-c85b5b22, ul.data-v-c85b5b22, ol.data-v-c85b5b22, dt.data-v-c85b5b22, dd.data-v-c85b5b22, li.data-v-c85b5b22, dl.data-v-c85b5b22, h1.data-v-c85b5b22, h2.data-v-c85b5b22, h3.data-v-c85b5b22, h4.data-v-c85b5b22, p.data-v-c85b5b22 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-c85b5b22, ul.data-v-c85b5b22, li.data-v-c85b5b22 {
+ list-style: none;
+}
+img.data-v-c85b5b22 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-c85b5b22 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-c85b5b22 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-c85b5b22 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-c85b5b22:hover {
+ text-decoration: none;
+}
+input.data-v-c85b5b22, textarea.data-v-c85b5b22 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-c85b5b22:focus, input.data-v-c85b5b22:active, textarea.data-v-c85b5b22:focus, textarea.data-v-c85b5b22:active {
+ outline: none;
+}
+.chat-aside.data-v-c85b5b22 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-chat .tui-message-list .message-more.data-v-c85b5b22 {
+ color: #999;
+ cursor: pointer;
+}
+.tui-chat .image-dialog.data-v-c85b5b22 {
+ background: rgba(0, 0, 0, 0.6);
+}
+.tui-chat .image-dialog header.data-v-c85b5b22 {
+ background: rgba(0, 0, 0, 0.49);
+}
+.tui-chat-h5 .tui-chat-header.data-v-c85b5b22 {
+ background: #FFF;
+}
+.tui-chat-h5 .tui-chat-footer.data-v-c85b5b22 {
+ background: #FFF;
+}
+.tui-chat-h5 .tui-chat-footer .input input.data-v-c85b5b22 {
+ background: #F4F5F9;
+}
+.tui-chat.data-v-c85b5b22 {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+}
+.tui-chat-main.data-v-c85b5b22 {
+ min-height: 0;
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+}
+.tui-chat-main .tui-chat-safe-tips.data-v-c85b5b22 {
+ padding: 12px 20px;
+ background-color: rgba(255, 149, 0, 0.1);
+ color: #ff8c39;
+ line-height: 18px;
+ font-family: PingFangSC-Regular;
+ font-style: normal;
+ font-weight: 400;
+ text-align: justify;
+ font-size: 12px;
+}
+.tui-chat-main .tui-chat-safe-tips a.data-v-c85b5b22 {
+ color: #006eff;
+ float: right;
+}
+.tui-chat-main .tui-chat-application-tips.data-v-c85b5b22 {
+ text-align: center;
+ width: 100%;
+ background: #fce4d3;
+ padding: 2px;
+ font-size: 12px;
+}
+.tui-chat-main .application-tips-btn.data-v-c85b5b22 {
+ color: #006eff;
+ padding-left: 10px;
+}
+.tui-chat-main .tui-message-list.data-v-c85b5b22 {
+ flex: 1;
+ height: 100%;
+ overflow: hidden auto;
+}
+.tui-chat-main .tui-message-list .message-more.data-v-c85b5b22 {
+ font-size: 14px;
+ padding: 5px;
+ text-align: center;
+}
+.tui-chat-main .tui-message-list .to-bottom-tip.data-v-c85b5b22 {
+ position: -webkit-sticky;
+ position: sticky;
+ bottom: 10px;
+ left: 100%;
+ margin-right: 15px;
+ width: 92px;
+ height: 28px;
+ padding: 0 5px;
+ background: #fff;
+ border: 1px solid #e0e0e0;
+ box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.06);
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ border-radius: 3px;
+ cursor: pointer;
+}
+.tui-chat-main .tui-message-list .to-bottom-tip-text.data-v-c85b5b22 {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ font-size: 10px;
+ color: #147aff;
+ letter-spacing: 0;
+ text-align: center;
+ padding-left: 3px;
+}
+.tui-chat-main .tui-message-list .message-li.data-v-c85b5b22 {
+ display: flex;
+ flex-direction: column;
+}
+.tui-chat-main .tui-message-list .message-li.data-v-c85b5b22:first-child {
+ margin-top: 5px;
+}
+.tui-chat-main .tui-message-list .message-li .message-item.data-v-c85b5b22 {
+ display: flex;
+ position: relative;
+ flex-direction: column;
+}
+.tui-chat-main .tui-message-list .message-li .message-item .message-tool.data-v-c85b5b22 {
+ z-index: 5;
+ position: absolute;
+ cursor: pointer;
+ transform: translateY(-100%);
+}
+.tui-chat-main .tui-message-list .message-li .message-item .message-tool-out.data-v-c85b5b22 {
+ right: 30px;
+ left: auto;
+}
+.tui-chat-main .tui-message-list .message-li .message-item .message-tool-in.data-v-c85b5b22 {
+ left: 30px;
+ right: auto;
+}
+.tui-chat-main .tui-message-list .message-li .message-item .message-tool-bottom.data-v-c85b5b22 {
+ z-index: 5;
+ bottom: 0;
+ transform: translateY(100%);
+}
+.tui-chat-main .tui-message-list .message-li .message-label.data-v-c85b5b22 {
+ max-width: 50px;
+}
+.tui-chat-main .tui-message-list .right.data-v-c85b5b22 {
+ flex-direction: row-reverse;
+ justify-content: flex-start;
+}
+.tui-chat .disabled.data-v-c85b5b22 {
+ position: relative;
+}
+.tui-chat .disabled.data-v-c85b5b22::before {
+ content: "";
+ position: absolute;
+ width: 100%;
+ height: 100%;
+}
+.image-dialog.data-v-c85b5b22 {
+ position: fixed;
+ z-index: 5;
+ width: 100vw;
+ height: calc(100vh - 63px);
+ top: 63px;
+ left: 0;
+}
+.image-dialog header.data-v-c85b5b22 {
+ display: flex;
+ justify-content: flex-end;
+ width: 100%;
+ box-sizing: border-box;
+ padding: 10px;
+}
+.data-v-c85b5b22::-webkit-scrollbar {
+ width: 6px;
+ height: 140px;
+ background-color: transparent;
+}
+.data-v-c85b5b22::-webkit-scrollbar-track {
+ border-radius: 10px;
+}
+.data-v-c85b5b22::-webkit-scrollbar-thumb {
+ border-radius: 10px;
+ background-color: #9a999c;
+}
+.tui-chat-h5.data-v-c85b5b22 {
+ flex: 1;
+ position: static;
+}
+.tui-chat-h5 .tui-chat-main .tui-message-list.data-v-c85b5b22 {
+ height: 100%;
+}
+.tui-chat-h5 .tui-chat-main .message-more.data-v-c85b5b22 {
+ color: #999;
+ cursor: pointer;
+ font-size: 14px;
+}
+.data-v-c85b5b22:not(not) {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-width: 0;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/link/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/link/index.js
new file mode 100644
index 0000000..2edff7e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/link/index.js
@@ -0,0 +1,25 @@
+"use strict";
+const Link = {
+ product: {
+ label: "产品文档",
+ url: "https://cloud.tencent.com/document/product/269/1499#.E7.BE.A4.E7.BB.84.E5.8A.9F.E8.83.BD"
+ },
+ customMessage: {
+ label: "自定义消息",
+ url: "https://web.sdk.qcloud.com/im/doc/zh-cn/SDK.html#createCustomMessage"
+ },
+ complaint: {
+ label: "点此投诉",
+ url: "https://cloud.tencent.com/apply/p/xc3oaubi98g"
+ },
+ implement: {
+ label: "集成TUICallKit",
+ url: "https://cloud.tencent.com/document/product/269/79861"
+ },
+ purchase: {
+ label: "开通腾讯实时音视频服务",
+ url: "https://cloud.tencent.com/document/product/1640/79968"
+ }
+};
+exports.Link = Link;
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/link/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.js
new file mode 100644
index 0000000..dc81534
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.js
@@ -0,0 +1,128 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_components_common_Toast_index = require("../../../common/Toast/index.js");
+const common_assets = require("../../../../../common/assets.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-audio",
+ props: {
+ broadcastNewAudioSrc: {},
+ messageItem: { default: () => ({}) },
+ content: { default: () => ({}) }
+ },
+ emits: ["getGlobalAudioContext", "setAudioPlayed"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const audioMap = /* @__PURE__ */ new Map();
+ const isAudioPlaying = common_vendor.ref(false);
+ common_vendor.onUnmounted(() => {
+ var _a;
+ const audioContext = getAudio();
+ if (isAudioPlaying.value) {
+ stopAudio();
+ }
+ (_a = audioContext == null ? void 0 : audioContext.destroy) == null ? void 0 : _a.call(audioContext);
+ audioMap.delete("audio");
+ });
+ common_vendor.watch(() => props.broadcastNewAudioSrc, (newSrc) => {
+ if (newSrc !== props.content.url && isAudioPlaying.value) {
+ stopAudio();
+ isAudioPlaying.value = false;
+ }
+ });
+ function toggleClick() {
+ emits("getGlobalAudioContext", audioMap, { newAudioSrc: props.content.url });
+ if (props.messageItem.hasRiskContent || !props.content.url) {
+ TUIKit_components_common_Toast_index.Toast({
+ message: "暂不支持播放"
+ });
+ return;
+ }
+ const audioContext = getAudio();
+ if (!audioContext) {
+ audioMap.set("audio", common_vendor.index.createInnerAudioContext());
+ common_vendor.index.setInnerAudioOption({
+ obeyMuteSwitch: false
+ });
+ initAudioSrc();
+ }
+ toggleAudioPlayState();
+ }
+ function toggleAudioPlayState() {
+ if (!isAudioPlaying.value) {
+ playAudio();
+ } else {
+ stopAudio();
+ }
+ }
+ function initAudioSrc() {
+ const audioContext = getAudio();
+ if (!audioContext) {
+ return;
+ }
+ audioContext.src = props.content.url;
+ isAudioPlaying.value = false;
+ audioContext.onPlay(onAudioPlay);
+ audioContext.onStop(onAudioStop);
+ audioContext.onEnded(onAudioEnded);
+ audioContext.onError(onAudioError);
+ }
+ function playAudio() {
+ const audioContext = getAudio();
+ if (!audioContext) {
+ return;
+ }
+ audioContext.play();
+ if (props.messageItem.flow === "in") {
+ emits("setAudioPlayed", props.messageItem.ID);
+ }
+ }
+ function stopAudio() {
+ const audioContext = getAudio();
+ if (!audioContext) {
+ return;
+ }
+ try {
+ audioContext.stop();
+ } catch {
+ }
+ }
+ function onAudioPlay() {
+ isAudioPlaying.value = true;
+ }
+ function onAudioStop() {
+ isAudioPlaying.value = false;
+ }
+ function onAudioEnded() {
+ isAudioPlaying.value = false;
+ }
+ function onAudioError() {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIChat/message-list/message-elements/message-audio.vue:156", "audio played error");
+ }
+ function getAudio() {
+ return audioMap.get("audio");
+ }
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.unref(isAudioPlaying) ? 1 : "",
+ b: common_vendor.p({
+ width: "15px",
+ height: "20px",
+ file: common_vendor.unref(common_assets.audioIcon)
+ }),
+ c: common_vendor.t(props.content.second || 1),
+ d: `${props.content.second * 5}px`,
+ e: props.messageItem.flow === "out" ? 1 : "",
+ f: common_vendor.o$1(toggleClick)
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-066fcccf"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.json
new file mode 100644
index 0000000..e4996d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.wxml
new file mode 100644
index 0000000..3f94936
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.wxml
@@ -0,0 +1 @@
+{{c}} "
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.wxss
new file mode 100644
index 0000000..bbfd352
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-audio.wxss
@@ -0,0 +1,100 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-066fcccf:not(not) {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-width: 0;
+}
+.message-audio.data-v-066fcccf {
+ flex-direction: row;
+ flex: 0 0 auto;
+ cursor: pointer;
+ -webkit-tap-highlight-color: transparent;
+ overflow: hidden;
+}
+.message-audio .audio-icon-container.data-v-066fcccf {
+ width: 16px;
+ height: 20px;
+ position: relative;
+ flex: 0 0 auto;
+ flex-direction: row;
+ justify-content: flex-end;
+ margin: 0 7px 0 0;
+ overflow: hidden;
+}
+.message-audio .audio-icon-container .mask.data-v-066fcccf {
+ position: absolute;
+ z-index: 1;
+ width: 105%;
+ height: 105%;
+ left: 0;
+ top: 0;
+ transform-origin: right;
+ transform: scaleX(0);
+ background-color: #fbfbfb;
+}
+.message-audio .audio-icon-container .mask.play.data-v-066fcccf {
+ animation: audio-play-066fcccf 2s steps(1, end) infinite;
+}
+@keyframes audio-play-066fcccf {
+0% {
+ transform: scaleX(0.7056);
+}
+50% {
+ transform: scaleX(0.3953);
+}
+75% {
+ transform: scaleX(0);
+ visibility: hidden;
+}
+100% {
+ transform: scaleX(0);
+ visibility: hidden;
+}
+}
+.message-audio .time.data-v-066fcccf {
+ max-width: 165px;
+ min-width: 20px;
+ text-align: start;
+ white-space: nowrap;
+}
+.message-audio.reserve.data-v-066fcccf {
+ flex-direction: row-reverse;
+}
+.message-audio.reserve .time.data-v-066fcccf {
+ text-align: end;
+}
+.message-audio.reserve .audio-icon-container.data-v-066fcccf {
+ margin: 0 0 0 7px;
+}
+.message-audio.reserve .audio-icon-container .mask.data-v-066fcccf {
+ transform-origin: left;
+ background-color: #dceafd;
+}
+.message-audio.reserve .icon.data-v-066fcccf {
+ transform: rotate(180deg);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.js
new file mode 100644
index 0000000..aa0c872
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.js
@@ -0,0 +1,172 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_components_TUIChat_utils_utils = require("../../utils/utils.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+if (!Math) {
+ (RadioSelect + Avatar + Icon + ReadStatus + MessageTranslate + MessageConvert + MessageQuote)();
+}
+const Icon = () => "../../../common/Icon.js";
+const ReadStatus = () => "./read-status/index.js";
+const MessageQuote = () => "./message-quote/index.js";
+const Avatar = () => "../../../common/Avatar/index.js";
+const MessageTranslate = () => "./message-translate/index.js";
+const MessageConvert = () => "./message-convert/index.js";
+const RadioSelect = () => "../../../common/RadioSelect/index.js";
+const riskImageReplaceUrl = "https://web.sdk.qcloud.com/component/TUIKit/assets/has_risk_default.png";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-bubble",
+ props: {
+ messageItem: { default: () => ({}) },
+ content: { default: () => ({}) },
+ classNameList: { default: () => [] },
+ blinkMessageIDList: { default: () => [] },
+ isMultipleSelectMode: { type: Boolean, default: false },
+ isAudioPlayed: { type: Boolean, default: false },
+ multipleSelectedMessageIDList: { default: () => [] }
+ },
+ emits: ["resendMessage", "blinkMessage", "setReadReceiptPanelVisible", "changeSelectMessageIDList", "scrollTo"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const TYPES = common_vendor.qt.TYPES;
+ const needLoadingIconMessageType = [
+ TYPES.MSG_LOCATION,
+ TYPES.MSG_TEXT,
+ TYPES.MSG_CUSTOM,
+ TYPES.MSG_MERGER,
+ TYPES.MSG_FACE
+ ];
+ const { blinkMessageIDList, messageItem: message } = common_vendor.toRefs(props);
+ const isMultipleSelected = common_vendor.computed(() => {
+ return props.multipleSelectedMessageIDList.includes(message.value.ID);
+ });
+ const isDisplayUnplayMark = common_vendor.computed(() => {
+ return message.value.flow === "in" && message.value.status === "success" && message.value.type === TYPES.MSG_AUDIO && !props.isAudioPlayed;
+ });
+ const containerClassNameList = common_vendor.computed(() => {
+ return [
+ "message-bubble",
+ isMultipleSelected.value ? "multiple-selected" : "",
+ ...props.classNameList
+ ];
+ });
+ const isNoPadding = common_vendor.computed(() => {
+ return [TYPES.MSG_IMAGE, TYPES.MSG_VIDEO, TYPES.MSG_MERGER].includes(message.value.type);
+ });
+ const riskContentText = common_vendor.computed(() => {
+ let content = common_vendor.Wt.t("TUIChat.涉及敏感内容") + ", ";
+ if (message.value.flow === "out") {
+ content += common_vendor.Wt.t("TUIChat.发送失败");
+ } else {
+ content += common_vendor.Wt.t(
+ message.value.type === TYPES.MSG_AUDIO ? "TUIChat.无法收听" : "TUIChat.无法查看"
+ );
+ }
+ return content;
+ });
+ const isBlink = common_vendor.computed(() => {
+ var _a, _b;
+ if ((_a = message.value) == null ? void 0 : _a.ID) {
+ return (_b = blinkMessageIDList == null ? void 0 : blinkMessageIDList.value) == null ? void 0 : _b.includes(message.value.ID);
+ }
+ return false;
+ });
+ function toggleMultipleSelect(isSelected) {
+ emits("changeSelectMessageIDList", {
+ type: isSelected ? "add" : "remove",
+ messageID: message.value.ID
+ });
+ }
+ function resendMessage() {
+ var _a;
+ if (!((_a = message.value) == null ? void 0 : _a.hasRiskContent)) {
+ emits("resendMessage");
+ }
+ }
+ function blinkMessage(messageID) {
+ emits("blinkMessage", messageID);
+ }
+ function scrollTo(scrollHeight) {
+ emits("scrollTo", scrollHeight);
+ }
+ function openReadUserPanel() {
+ emits("setReadReceiptPanelVisible", true, message.value);
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.isMultipleSelectMode
+ }, props.isMultipleSelectMode ? {
+ b: common_vendor.o$1(toggleMultipleSelect),
+ c: common_vendor.p({
+ isSelected: common_vendor.unref(isMultipleSelected)
+ })
+ } : {}, {
+ d: common_vendor.p({
+ useSkeletonAnimation: true,
+ url: common_vendor.unref(message).avatar || ""
+ }),
+ e: common_vendor.unref(message).flow === "in" && common_vendor.unref(message).conversationType === "GROUP"
+ }, common_vendor.unref(message).flow === "in" && common_vendor.unref(message).conversationType === "GROUP" ? {
+ f: common_vendor.t(props.content.showName)
+ } : {}, {
+ g: (common_vendor.unref(message).type === common_vendor.unref(TYPES).MSG_IMAGE || common_vendor.unref(message).type === common_vendor.unref(TYPES).MSG_VIDEO) && common_vendor.unref(message).hasRiskContent
+ }, (common_vendor.unref(message).type === common_vendor.unref(TYPES).MSG_IMAGE || common_vendor.unref(message).type === common_vendor.unref(TYPES).MSG_VIDEO) && common_vendor.unref(message).hasRiskContent ? {
+ h: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "message-risk-replace-h5"),
+ i: riskImageReplaceUrl
+ } : {}, {
+ j: common_vendor.unref(message).hasRiskContent
+ }, common_vendor.unref(message).hasRiskContent ? {
+ k: common_vendor.t(common_vendor.unref(riskContentText))
+ } : {}, {
+ l: common_vendor.n(common_vendor.unref(message).flow === "out" ? "content-out" : "content-in"),
+ m: common_vendor.n(common_vendor.unref(message).hasRiskContent && "content-has-risk"),
+ n: common_vendor.n(common_vendor.unref(isNoPadding) ? "content-no-padding" : ""),
+ o: common_vendor.n(common_vendor.unref(isNoPadding) && common_vendor.unref(isBlink) ? "blink-shadow" : ""),
+ p: common_vendor.n(!common_vendor.unref(isNoPadding) && common_vendor.unref(isBlink) ? "blink-content" : ""),
+ q: common_vendor.unref(isDisplayUnplayMark)
+ }, common_vendor.unref(isDisplayUnplayMark) ? {} : {}, {
+ r: common_vendor.unref(message).status === "fail" || common_vendor.unref(message).hasRiskContent
+ }, common_vendor.unref(message).status === "fail" || common_vendor.unref(message).hasRiskContent ? {
+ s: common_vendor.o$1(($event) => resendMessage())
+ } : {}, {
+ t: common_vendor.unref(message).status === "unSend" && needLoadingIconMessageType.includes(common_vendor.unref(message).type)
+ }, common_vendor.unref(message).status === "unSend" && needLoadingIconMessageType.includes(common_vendor.unref(message).type) ? {
+ v: common_vendor.p({
+ file: common_vendor.unref(common_assets.loadingIcon),
+ width: "15px",
+ height: "15px"
+ })
+ } : {}, {
+ w: common_vendor.o$1(openReadUserPanel),
+ x: common_vendor.p({
+ message: common_vendor.unref(TUIKit_components_TUIChat_utils_utils.shallowCopyMessage)(common_vendor.unref(message))
+ }),
+ y: common_vendor.n(common_vendor.unref(message).flow === "out" && "message-body-main-reverse"),
+ z: common_vendor.o$1(() => {
+ }),
+ A: common_vendor.n(common_vendor.unref(message).flow === "in" ? "" : "reverse"),
+ B: common_vendor.n(common_vendor.unref(message).flow === "out" ? "reverse" : "flex-row"),
+ C: common_vendor.p({
+ message: common_vendor.unref(message)
+ }),
+ D: common_vendor.n(common_vendor.unref(message).flow === "out" ? "reverse" : "flex-row"),
+ E: common_vendor.p({
+ message: common_vendor.unref(message)
+ }),
+ F: common_vendor.n(common_vendor.unref(message).flow === "out" ? "reverse" : "flex-row"),
+ G: common_vendor.o$1(blinkMessage),
+ H: common_vendor.o$1(scrollTo),
+ I: common_vendor.p({
+ message: common_vendor.unref(message)
+ }),
+ J: common_vendor.unref(message).flow === "out" ? 1 : "",
+ K: common_vendor.n(common_vendor.unref(containerClassNameList))
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-51fb22b7"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.json
new file mode 100644
index 0000000..3b1070b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.json
@@ -0,0 +1,12 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon",
+ "read-status": "./read-status/index",
+ "message-quote": "./message-quote/index",
+ "avatar": "../../../common/Avatar/index",
+ "message-translate": "./message-translate/index",
+ "message-convert": "./message-convert/index",
+ "radio-select": "../../../common/RadioSelect/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.wxml
new file mode 100644
index 0000000..8c3f29c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.wxml
@@ -0,0 +1 @@
+{{f}} {{k}} !
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.wxss
new file mode 100644
index 0000000..bd4209d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-bubble.wxss
@@ -0,0 +1,226 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-51fb22b7:not(not) {
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ box-sizing: border-box;
+}
+.flex-row.data-v-51fb22b7 {
+ display: flex;
+}
+.reverse.data-v-51fb22b7 {
+ display: flex;
+ flex-direction: row-reverse;
+ justify-content: flex-start;
+}
+.message-bubble.data-v-51fb22b7 {
+ padding: 10px 15px;
+ display: flex;
+ flex-direction: row;
+ user-select: none;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+}
+.message-bubble.multiple-selected.data-v-51fb22b7 {
+ background-color: #f0f0f0;
+}
+.message-bubble .multiple-select-radio.data-v-51fb22b7 {
+ margin-right: 12px;
+ flex: 0 0 auto;
+}
+.message-bubble .control-reverse.data-v-51fb22b7 {
+ flex: 1 1 auto;
+ flex-direction: row-reverse;
+}
+.message-bubble .message-bubble-main-content.data-v-51fb22b7 {
+ display: flex;
+ flex-direction: row;
+}
+.message-bubble .message-bubble-main-content .message-avatar.data-v-51fb22b7 {
+ display: block;
+ width: 36px;
+ height: 36px;
+ border-radius: 5px;
+ flex: 0 0 auto;
+}
+.message-bubble .message-bubble-main-content .message-body.data-v-51fb22b7 {
+ display: flex;
+ flex: 0 1 auto;
+ flex-direction: column;
+ align-items: flex-start;
+ margin: 0 8px;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-nick-name.data-v-51fb22b7 {
+ display: block;
+ margin-bottom: 4px;
+ font-size: 12px;
+ color: #999;
+ max-width: 150px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main.data-v-51fb22b7 {
+ max-width: 100%;
+ display: flex;
+ flex-direction: row;
+ min-width: 0;
+ box-sizing: border-box;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main-reverse.data-v-51fb22b7 {
+ flex-direction: row-reverse;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .audio-unplay-mark.data-v-51fb22b7 {
+ flex: 0 0 auto;
+ width: 5px;
+ height: 5px;
+ border-radius: 50%;
+ background-color: #f00;
+ margin: 5px;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .message-body-content.data-v-51fb22b7 {
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ box-sizing: border-box;
+ padding: 12px;
+ font-size: 14px;
+ color: #000;
+ letter-spacing: 0;
+ word-wrap: break-word;
+ word-break: break-all;
+ position: relative;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .message-body-content .content-main.data-v-51fb22b7 {
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ flex-shrink: 0;
+ align-content: flex-start;
+ border: 0 solid black;
+ margin: 0;
+ padding: 0;
+ min-width: 0;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .message-body-content .content-main .message-risk-replace.data-v-51fb22b7 {
+ width: 130px;
+ height: 130px;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .message-body-content .content-has-risk-tips.data-v-51fb22b7 {
+ font-size: 12px;
+ color: #fa5151;
+ font-family: PingFangSC-Regular;
+ margin-top: 5px;
+ border-top: 1px solid #e5c7c7;
+ padding-top: 5px;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .content-in.data-v-51fb22b7 {
+ background: #fbfbfb;
+ border-radius: 0 10px 10px;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .content-out.data-v-51fb22b7 {
+ background: #dceafd;
+ border-radius: 10px 0 10px 10px;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .content-no-padding.data-v-51fb22b7 {
+ padding: 0;
+ background: transparent;
+ border-radius: 10px;
+ overflow: hidden;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .content-no-padding.content-has-risk.data-v-51fb22b7 {
+ padding: 12px;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .content-has-risk.data-v-51fb22b7 {
+ background: rgba(250, 81, 81, 0.16);
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .blink-shadow.data-v-51fb22b7 {
+ box-shadow: rgba(255, 156, 25, 0) 0 0 10px 0;
+ animation: shadow-blink-51fb22b7 1s linear 3;
+}
+@keyframes shadow-blink-51fb22b7 {
+50% {
+ box-shadow: #ff9c19 0 0 10px 0;
+}
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .blink-content.data-v-51fb22b7 {
+ animation: reference-blink-51fb22b7 1s linear 3;
+}
+@keyframes reference-blink-51fb22b7 {
+50% {
+ background-color: #ff9c19;
+}
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .message-label.data-v-51fb22b7 {
+ align-self: flex-end;
+ font-family: PingFangSC-Regular;
+ font-size: 12px;
+ color: #b6b8ba;
+ word-break: keep-all;
+ flex: 0 0 auto;
+ margin: 0 8px;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .message-label.fail.data-v-51fb22b7 {
+ width: 15px;
+ height: 15px;
+ border-radius: 15px;
+ background: red;
+ color: #fff;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .message-label.loading-circle.data-v-51fb22b7 {
+ opacity: 0;
+ animation: circle-loading-51fb22b7 2s linear 1s infinite;
+}
+@keyframes circle-loading-51fb22b7 {
+0% {
+ transform: rotate(0);
+ opacity: 1;
+}
+100% {
+ opacity: 1;
+ transform: rotate(360deg);
+}
+}
+.message-bubble .message-bubble-main-content .message-body .message-body-main .align-self-bottom.data-v-51fb22b7 {
+ align-self: flex-end;
+}
+.message-bubble .reverse.data-v-51fb22b7 {
+ display: flex;
+ flex-direction: row-reverse;
+ justify-content: flex-start;
+}
+.message-bubble .message-bubble-extra-content.data-v-51fb22b7 {
+ display: flex;
+ flex-direction: column;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.js
new file mode 100644
index 0000000..f4733de
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.js
@@ -0,0 +1,45 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const TUIKit_components_TUIChat_utils_convertVoiceToText = require("../../../utils/convertVoiceToText.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "convert-content",
+ props: {
+ message: { default: () => ({}) },
+ contentVisible: { type: Boolean }
+ },
+ emits: ["toggleErrorStatus"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const convertFinished = common_vendor.ref(false);
+ const convertText = common_vendor.ref("");
+ common_vendor.watch(() => props.contentVisible, (newVal) => {
+ if (newVal) {
+ TUIKit_components_TUIChat_utils_convertVoiceToText.convertor.get(props.message).then((text) => {
+ convertFinished.value = true;
+ convertText.value = text;
+ }).catch((err) => {
+ convertFinished.value = true;
+ emits("toggleErrorStatus", true);
+ convertText.value = err.message;
+ });
+ }
+ }, {
+ immediate: true
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(convertFinished)
+ }, common_vendor.unref(convertFinished) ? {
+ b: common_vendor.t(common_vendor.unref(convertText))
+ } : {}, {
+ c: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.转换中")),
+ d: common_vendor.unref(convertFinished) ? 1 : ""
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-02f04f6f"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.wxml
new file mode 100644
index 0000000..9aa27fa
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.wxml
@@ -0,0 +1 @@
+{{b}} {{c}}...
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.wxss
new file mode 100644
index 0000000..f7d3fbd
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/convert-content.wxss
@@ -0,0 +1,53 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-convert-container.data-v-02f04f6f {
+ min-height: 20px;
+ min-width: 80px;
+ position: relative;
+ transition: width 0.15s ease-out, height 0.15s ease-out;
+ font-size: 14px;
+}
+.message-convert-container .loading.data-v-02f04f6f {
+ position: absolute;
+ top: 0;
+ left: 0;
+ opacity: 1;
+ transition: opacity 0.3s ease-out;
+}
+.message-convert-container .loading.loading-end.data-v-02f04f6f {
+ opacity: 0;
+}
+.message-convert-container .convert-content.data-v-02f04f6f {
+ opacity: 0;
+}
+.message-convert-container .convert-content.occur.data-v-02f04f6f {
+ animation: occur-02f04f6f 0.3s ease-out 0.45s forwards;
+}
+@keyframes occur-02f04f6f {
+100% {
+ opacity: 1;
+}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.js
new file mode 100644
index 0000000..0c2f113
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.js
@@ -0,0 +1,68 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+if (!Math) {
+ ConvertContent();
+}
+const ConvertContent = () => "./convert-content.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ message: { default: () => ({}) }
+ },
+ setup(__props) {
+ const props = __props;
+ const convertVisible = common_vendor.ref(false);
+ const hasConvertError = common_vendor.ref(false);
+ const convertWrapperRef = common_vendor.ref();
+ let isSingleConvert = true;
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CHAT, {
+ voiceToTextInfo: onMessageConvertUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CHAT, {
+ voiceToTextInfo: onMessageConvertUpdated
+ });
+ });
+ function toggleErrorStatus(hasError) {
+ hasConvertError.value = hasError;
+ }
+ function onMessageConvertUpdated(info) {
+ if (info === void 0)
+ return;
+ isSingleConvert = false;
+ const convertInfoList = info.get(props.message.conversationID) || [];
+ for (let i = 0; i < convertInfoList.length; ++i) {
+ const { messageID, visible } = convertInfoList[i];
+ if (messageID === props.message.ID && visible !== void 0) {
+ if (convertInfoList.length === 1 && visible) {
+ isSingleConvert = true;
+ }
+ hasConvertError.value = false;
+ convertVisible.value = visible;
+ break;
+ }
+ }
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(convertVisible)
+ }, common_vendor.unref(convertVisible) ? {
+ b: common_vendor.o$1(toggleErrorStatus),
+ c: common_vendor.p({
+ message: props.message,
+ contentVisible: common_vendor.unref(convertVisible),
+ isSingleConvert: common_vendor.unref(isSingleConvert),
+ convertWrapperRef: common_vendor.unref(convertWrapperRef)
+ }),
+ d: props.message.flow === "out" ? 1 : "",
+ e: common_vendor.unref(hasConvertError) ? 1 : ""
+ } : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-5d339368"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.json
new file mode 100644
index 0000000..f9ed0b2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "convert-content": "./convert-content"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.wxml
new file mode 100644
index 0000000..44fc988
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.wxss
new file mode 100644
index 0000000..81b5cee
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-convert/index.wxss
@@ -0,0 +1,42 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-convert.data-v-5d339368 {
+ margin-top: 4px;
+ margin-left: 44px;
+ padding: 10px;
+ background-color: #f2f7ff;
+ border-radius: 10px;
+ display: flex;
+ flex-direction: column !important;
+ transition: background-color 0.15s ease-out;
+}
+.message-convert.error.data-v-5d339368 {
+ background-color: #ffdfdf;
+}
+.message-convert.reverse.data-v-5d339368 {
+ margin-right: 44px;
+ margin-left: auto;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.js
new file mode 100644
index 0000000..48032d4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.js
@@ -0,0 +1,110 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_utils_typeCheck = require("../../../../utils/type-check.js");
+const TUIKit_constant = require("../../../../constant.js");
+const common_assets = require("../../../../../common/assets.js");
+const stores_counter = require("../../../../../stores/counter.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-custom",
+ props: {
+ messageItem: { default: void 0 },
+ content: { default: void 0 }
+ },
+ setup(__props) {
+ stores_counter.useCounterStore();
+ function handleAccept(customData2) {
+ const customDatainfo = JSON.stringify(customData2);
+ common_vendor.index.redirectTo({
+ url: `/pages/PKMessageprocessing/PKMessageprocessing?customData=${customDatainfo}`
+ });
+ }
+ const props = __props;
+ const custom = common_vendor.ref();
+ const message = common_vendor.ref();
+ const extension = common_vendor.ref();
+ const customData = common_vendor.ref({
+ businessID: ""
+ });
+ common_vendor.watchEffect(() => {
+ custom.value = props.content;
+ message.value = props.messageItem;
+ const { payload } = props.messageItem;
+ customData.value = payload.data || "";
+ customData.value = TUIKit_utils_typeCheck.JSONToObject(payload.data);
+ if (payload.data === TUIKit_constant.CHAT_MSG_CUSTOM_TYPE.SERVICE) {
+ extension.value = TUIKit_utils_typeCheck.JSONToObject(payload.extension);
+ }
+ });
+ const openLink = (url) => {
+ window.open(url);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).SERVICE
+ }, common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).SERVICE ? common_vendor.e({
+ b: common_vendor.t(common_vendor.unref(extension).title),
+ c: common_vendor.unref(extension).hyperlinks_text
+ }, common_vendor.unref(extension).hyperlinks_text ? {
+ d: common_vendor.t(common_vendor.unref(extension).hyperlinks_text.key),
+ e: common_vendor.unref(extension).hyperlinks_text.value
+ } : {}, {
+ f: common_vendor.unref(extension).item && common_vendor.unref(extension).item.length > 0
+ }, common_vendor.unref(extension).item && common_vendor.unref(extension).item.length > 0 ? {
+ g: common_vendor.f(common_vendor.unref(extension).item, (item, index, i0) => {
+ return common_vendor.e({
+ a: common_vendor.unref(TUIKit_utils_typeCheck.isUrl)(item.value)
+ }, common_vendor.unref(TUIKit_utils_typeCheck.isUrl)(item.value) ? {
+ b: common_vendor.t(item.key),
+ c: item.value
+ } : {
+ d: common_vendor.t(item.key)
+ }, {
+ e: index
+ });
+ })
+ } : {}, {
+ h: common_vendor.t(common_vendor.unref(extension).description)
+ }) : common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).EVALUATE ? {
+ j: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("message.custom.对本次服务评价")),
+ k: common_vendor.f(Math.max(common_vendor.unref(customData).score, 0), (item, index, i0) => {
+ return {
+ a: "abd5dfdc-0-" + i0,
+ b: index
+ };
+ }),
+ l: common_vendor.p({
+ file: common_vendor.unref(common_assets.star)
+ }),
+ m: common_vendor.t(common_vendor.unref(customData).comment)
+ } : common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).ORDER ? {
+ o: common_vendor.unref(customData).imageUrl,
+ p: common_vendor.t(common_vendor.unref(customData).title),
+ q: common_vendor.t(common_vendor.unref(customData).description),
+ r: common_vendor.t(common_vendor.unref(customData).price),
+ s: common_vendor.o$1(($event) => openLink(common_vendor.unref(customData).link))
+ } : common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).LINK ? {
+ v: common_vendor.t(common_vendor.unref(customData).text),
+ w: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("message.custom.查看详情>>")),
+ x: common_vendor.unref(customData).link
+ } : common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).PK ? {
+ z: common_vendor.unref(customData).link,
+ A: common_vendor.o$1(($event) => handleAccept(common_vendor.unref(customData)))
+ } : {
+ B: _ctx.content.custom
+ }, {
+ i: common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).EVALUATE,
+ n: common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).ORDER,
+ t: common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).LINK,
+ y: common_vendor.unref(customData).businessID === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).PK
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-abd5dfdc"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.json
new file mode 100644
index 0000000..e4996d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.wxml
new file mode 100644
index 0000000..fe4432b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.wxml
@@ -0,0 +1 @@
+{{b}} {{d}} {{item.b}} {{item.d}} {{h}} {{j}} {{m}} {{p}} {{q}} {{r}} {{v}} {{w}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.wxss
new file mode 100644
index 0000000..2ed78e3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-custom.wxss
@@ -0,0 +1,178 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-abd5dfdc, div.data-v-abd5dfdc, ul.data-v-abd5dfdc, ol.data-v-abd5dfdc, dt.data-v-abd5dfdc, dd.data-v-abd5dfdc, li.data-v-abd5dfdc, dl.data-v-abd5dfdc, h1.data-v-abd5dfdc, h2.data-v-abd5dfdc, h3.data-v-abd5dfdc, h4.data-v-abd5dfdc, p.data-v-abd5dfdc {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-abd5dfdc, ul.data-v-abd5dfdc, li.data-v-abd5dfdc {
+ list-style: none;
+}
+img.data-v-abd5dfdc {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-abd5dfdc {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-abd5dfdc {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-abd5dfdc {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-abd5dfdc:hover {
+ text-decoration: none;
+}
+input.data-v-abd5dfdc, textarea.data-v-abd5dfdc {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-abd5dfdc:focus, input.data-v-abd5dfdc:active, textarea.data-v-abd5dfdc:focus, textarea.data-v-abd5dfdc:active {
+ outline: none;
+}
+.chat-aside.data-v-abd5dfdc {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+a.data-v-abd5dfdc {
+ color: #679ce1;
+}
+.custom.data-v-abd5dfdc {
+ font-size: 18px;
+}
+.custom h1.data-v-abd5dfdc {
+ font-size: 14px;
+ color: #000;
+}
+.custom h1.data-v-abd5dfdc,
+.custom a.data-v-abd5dfdc,
+.custom p.data-v-abd5dfdc {
+ font-size: 14px;
+}
+.custom .evaluate ul.data-v-abd5dfdc {
+ display: flex;
+ padding: 10px 0;
+}
+.custom .evaluate-list.data-v-abd5dfdc {
+ display: flex;
+ flex-direction: row;
+}
+.custom .evaluate-list-item.data-v-abd5dfdc {
+ padding: 0 2px;
+}
+.custom .order.data-v-abd5dfdc {
+ display: flex;
+}
+.custom .order main.data-v-abd5dfdc {
+ padding-left: 5px;
+}
+.custom .order main p.data-v-abd5dfdc {
+ font-family: PingFangSC-Regular;
+ width: 145px;
+ line-height: 17px;
+ font-size: 14px;
+ color: #999;
+ letter-spacing: 0;
+ margin-bottom: 6px;
+ word-break: break-word;
+}
+.custom .order main span.data-v-abd5dfdc {
+ font-family: PingFangSC-Regular;
+ line-height: 25px;
+ color: #ff7201;
+}
+.custom .order img.data-v-abd5dfdc {
+ width: 67px;
+ height: 67px;
+}
+.custom .pk.data-v-abd5dfdc {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ background-color: #ffffff;
+ border-radius: 10px;
+ padding: 20px;
+ box-sizing: border-box;
+}
+.custom .pk h1.data-v-abd5dfdc {
+ font-size: 18px;
+ color: #333;
+ margin-bottom: 10px;
+}
+.custom .pk .button-group.data-v-abd5dfdc {
+ display: flex;
+ justify-content: center;
+}
+.custom .pk .button-group .buttonAccept.data-v-abd5dfdc {
+ width: 40%;
+ height: 60rpx;
+ background-color: #84ff0055;
+ border-radius: 10px;
+ border: 2px solid #26ff00;
+ color: #fff;
+ font-size: 16px;
+ text-align: center;
+ line-height: 60rpx;
+ margin-bottom: 10px;
+ border: none;
+ cursor: pointer;
+}
+.custom .pk .button-group .buttonRefuse.data-v-abd5dfdc {
+ width: 40%;
+ height: 60rpx;
+ background-color: #ff000078;
+ border: 2px solid #ff0000;
+ border-radius: 10px;
+ color: #fff;
+ font-size: 16px;
+ line-height: 60rpx;
+ text-align: center;
+ margin-bottom: 10px;
+ border: none;
+ cursor: pointer;
+}
+.Custommessageimage.data-v-abd5dfdc {
+ width: 385rpx;
+ height: 195rpx;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.js
new file mode 100644
index 0000000..4d23a03
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.js
@@ -0,0 +1,32 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+require("../../emoji-config/index.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-face",
+ props: {
+ content: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ setup(__props) {
+ const props = __props;
+ const url = common_vendor.ref(props.content.url);
+ common_vendor.onMounted(() => {
+ if (props.content.type === "custom") {
+ {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIChat/message-list/message-elements/message-face.vue:29", "CUSTOM_BIG_EMOJI_URL is required for custom emoji, please check your CUSTOM_BIG_EMOJI_URL.");
+ }
+ }
+ });
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.unref(url)
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-4ad96015"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.wxml
new file mode 100644
index 0000000..d2e3958
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.wxss
new file mode 100644
index 0000000..27fcc2e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-face.wxss
@@ -0,0 +1,79 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-4ad96015, div.data-v-4ad96015, ul.data-v-4ad96015, ol.data-v-4ad96015, dt.data-v-4ad96015, dd.data-v-4ad96015, li.data-v-4ad96015, dl.data-v-4ad96015, h1.data-v-4ad96015, h2.data-v-4ad96015, h3.data-v-4ad96015, h4.data-v-4ad96015, p.data-v-4ad96015 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-4ad96015, ul.data-v-4ad96015, li.data-v-4ad96015 {
+ list-style: none;
+}
+img.data-v-4ad96015 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-4ad96015 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-4ad96015 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-4ad96015 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-4ad96015:hover {
+ text-decoration: none;
+}
+input.data-v-4ad96015, textarea.data-v-4ad96015 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-4ad96015:focus, input.data-v-4ad96015:active, textarea.data-v-4ad96015:focus, textarea.data-v-4ad96015:active {
+ outline: none;
+}
+.chat-aside.data-v-4ad96015 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-image.data-v-4ad96015 {
+ width: 80px;
+ height: 80px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.js
new file mode 100644
index 0000000..ac5cb74
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.js
@@ -0,0 +1,57 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+const common_assets = require("../../../../../common/assets.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-file",
+ props: {
+ content: { default: () => ({}) },
+ messageItem: { default: () => ({}) }
+ },
+ setup(__props) {
+ const props = __props;
+ const download = () => {
+ if (props.messageItem.hasRiskContent) {
+ return;
+ }
+ const option = {
+ mode: "cors",
+ headers: new Headers({
+ "Content-Type": "application/x-www-form-urlencoded"
+ })
+ };
+ if (window == null ? void 0 : window.fetch) {
+ fetch(props.content.url, option).then((res) => res.blob()).then((blob) => {
+ const a = document.createElement("a");
+ const url = window.URL.createObjectURL(blob);
+ a.href = url;
+ a.download = props.content.name;
+ a.click();
+ });
+ } else {
+ const a = document.createElement("a");
+ a.href = props.content.url;
+ a.target = "_blank";
+ a.download = props.content.name;
+ a.click();
+ }
+ };
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.p({
+ file: common_vendor.unref(common_assets.files)
+ }),
+ b: common_vendor.t(props.content.name),
+ c: common_vendor.t(props.content.size),
+ d: common_vendor.unref(common_vendor.Wt).t("TUIChat.单击下载"),
+ e: common_vendor.o$1(download)
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-f3d5b3bc"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.json
new file mode 100644
index 0000000..e4996d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.wxml
new file mode 100644
index 0000000..ef054d4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.wxml
@@ -0,0 +1 @@
+{{b}} {{c}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.wxss
new file mode 100644
index 0000000..84076b6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-file.wxss
@@ -0,0 +1,83 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-f3d5b3bc, div.data-v-f3d5b3bc, ul.data-v-f3d5b3bc, ol.data-v-f3d5b3bc, dt.data-v-f3d5b3bc, dd.data-v-f3d5b3bc, li.data-v-f3d5b3bc, dl.data-v-f3d5b3bc, h1.data-v-f3d5b3bc, h2.data-v-f3d5b3bc, h3.data-v-f3d5b3bc, h4.data-v-f3d5b3bc, p.data-v-f3d5b3bc {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-f3d5b3bc, ul.data-v-f3d5b3bc, li.data-v-f3d5b3bc {
+ list-style: none;
+}
+img.data-v-f3d5b3bc {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-f3d5b3bc {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-f3d5b3bc {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-f3d5b3bc {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-f3d5b3bc:hover {
+ text-decoration: none;
+}
+input.data-v-f3d5b3bc, textarea.data-v-f3d5b3bc {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-f3d5b3bc:focus, input.data-v-f3d5b3bc:active, textarea.data-v-f3d5b3bc:focus, textarea.data-v-f3d5b3bc:active {
+ outline: none;
+}
+.chat-aside.data-v-f3d5b3bc {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.file-message-montainer.data-v-f3d5b3bc {
+ display: flex;
+ flex-direction: row;
+ cursor: pointer;
+}
+.file-message-montainer .file-icon.data-v-f3d5b3bc {
+ margin: auto 8px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.js
new file mode 100644
index 0000000..76ee072
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.js
@@ -0,0 +1,58 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const DEFAULT_MAX_SIZE = 155;
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-image",
+ props: {
+ content: { default: () => ({}) },
+ messageItem: { default: () => ({}) }
+ },
+ emits: ["previewImage"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const imageStyles = common_vendor.ref({ width: "auto", height: "auto" });
+ const genImageStyles = (value) => {
+ const { width, height } = value;
+ if (width === 0 || height === 0) {
+ return;
+ }
+ let imageWidth = 0;
+ let imageHeight = 0;
+ if (width >= height) {
+ imageWidth = DEFAULT_MAX_SIZE;
+ imageHeight = DEFAULT_MAX_SIZE * height / width;
+ } else {
+ imageWidth = DEFAULT_MAX_SIZE * width / height;
+ imageHeight = DEFAULT_MAX_SIZE;
+ }
+ imageStyles.value.width = imageWidth + "px";
+ imageStyles.value.height = imageHeight + "px";
+ };
+ common_vendor.watchEffect(() => {
+ genImageStyles(props.content);
+ });
+ const imageLoad = (event) => {
+ genImageStyles(event.detail);
+ };
+ const handleImagePreview = () => {
+ var _a;
+ if (((_a = props.messageItem) == null ? void 0 : _a.status) === "success" || props.messageItem.progress === 1) {
+ emits("previewImage");
+ }
+ };
+ return (_ctx, _cache) => {
+ return {
+ a: props.content.url,
+ b: common_vendor.unref(imageStyles).width,
+ c: common_vendor.unref(imageStyles).height,
+ d: common_vendor.o$1(imageLoad),
+ e: common_vendor.o$1(handleImagePreview)
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-4e6bf9de"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.wxml
new file mode 100644
index 0000000..4929c77
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.wxss
new file mode 100644
index 0000000..708a302
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-image.wxss
@@ -0,0 +1,33 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.image-container.data-v-4e6bf9de {
+ position: relative;
+ background-color: #f4f4f4;
+ font-size: 0;
+}
+.image-container .message-image.data-v-4e6bf9de {
+ max-width: 150px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.js
new file mode 100644
index 0000000..7bad62e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.js
@@ -0,0 +1,29 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-location",
+ props: {
+ content: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ setup(__props) {
+ const props = __props;
+ const data = common_vendor.ref();
+ common_vendor.watchEffect(() => {
+ data.value = props.content;
+ });
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(data).description),
+ b: common_vendor.unref(data).url,
+ c: common_vendor.unref(data).href
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-4337995a"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.wxml
new file mode 100644
index 0000000..b220262
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.wxml
@@ -0,0 +1 @@
+{{a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.wxss
new file mode 100644
index 0000000..996e243
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-location.wxss
@@ -0,0 +1,79 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-4337995a, div.data-v-4337995a, ul.data-v-4337995a, ol.data-v-4337995a, dt.data-v-4337995a, dd.data-v-4337995a, li.data-v-4337995a, dl.data-v-4337995a, h1.data-v-4337995a, h2.data-v-4337995a, h3.data-v-4337995a, h4.data-v-4337995a, p.data-v-4337995a {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-4337995a, ul.data-v-4337995a, li.data-v-4337995a {
+ list-style: none;
+}
+img.data-v-4337995a {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-4337995a {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-4337995a {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-4337995a {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-4337995a:hover {
+ text-decoration: none;
+}
+input.data-v-4337995a, textarea.data-v-4337995a {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-4337995a:focus, input.data-v-4337995a:active, textarea.data-v-4337995a:focus, textarea.data-v-4337995a:active {
+ outline: none;
+}
+.chat-aside.data-v-4337995a {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-location.data-v-4337995a {
+ display: flex;
+ flex-direction: column;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.js
new file mode 100644
index 0000000..352c2d0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.js
@@ -0,0 +1,144 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../../../utils/env.js");
+const TUIKit_components_common_Toast_index = require("../../../../common/Toast/index.js");
+const TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface = require("./interface.js");
+const TUIKit_components_TUIChat_emojiConfig_index = require("../../../emoji-config/index.js");
+const TUIKit_components_common_Toast_type = require("../../../../common/Toast/type.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ message: { default: () => ({}) }
+ },
+ emits: ["scrollTo", "blinkMessage"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ let selfAddValue = 0;
+ const messageQuoteText = common_vendor.ref("");
+ const hasQuoteContent = common_vendor.ref(false);
+ const messageQuoteContent = common_vendor.ref({});
+ const isMessageRevoked = common_vendor.computed(() => {
+ var _a;
+ try {
+ const cloudCustomData = JSON.parse(((_a = props.message) == null ? void 0 : _a.cloudCustomData) || "{}");
+ const quotedMessageModel = common_vendor.Jt.getMessageModel(cloudCustomData.messageReply.messageID);
+ return quotedMessageModel == null ? void 0 : quotedMessageModel.isRevoked;
+ } catch (error) {
+ return true;
+ }
+ });
+ common_vendor.onMounted(() => {
+ var _a;
+ try {
+ const cloudCustomData = JSON.parse(((_a = props.message) == null ? void 0 : _a.cloudCustomData) || "{}");
+ hasQuoteContent.value = Boolean(cloudCustomData.messageReply);
+ if (hasQuoteContent.value) {
+ messageQuoteContent.value = cloudCustomData.messageReply;
+ messageQuoteText.value = performQuoteContent(messageQuoteContent.value);
+ }
+ } catch (error) {
+ hasQuoteContent.value = false;
+ }
+ });
+ function performQuoteContent(params) {
+ let messageKey = "";
+ let quoteContent = "";
+ switch (params.messageType) {
+ case TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_TEXT:
+ messageKey = "[文本]";
+ break;
+ case TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_CUSTOM:
+ messageKey = "[自定义消息]";
+ break;
+ case TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_IMAGE:
+ messageKey = "[图片]";
+ break;
+ case TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_SOUND:
+ messageKey = "[音频]";
+ break;
+ case TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_VIDEO:
+ messageKey = "[视频]";
+ break;
+ case TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_FILE:
+ messageKey = "[文件]";
+ break;
+ case TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_LOCATION:
+ messageKey = "[地理位置]";
+ break;
+ case TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_FACE:
+ messageKey = "[动画表情]";
+ break;
+ case TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_GROUP_TIPS:
+ messageKey = "[群提示]";
+ break;
+ case TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_MERGER:
+ messageKey = "[聊天记录]";
+ break;
+ default:
+ messageKey = "[消息]";
+ break;
+ }
+ if ([
+ TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_TEXT,
+ TUIKit_components_TUIChat_messageList_messageElements_messageQuote_interface.MessageQuoteTypeEnum.TYPE_MERGER
+ ].includes(params.messageType)) {
+ quoteContent = params.messageAbstract;
+ }
+ return quoteContent ? quoteContent : common_vendor.Wt.t(`TUIChat.${messageKey}`);
+ }
+ async function scrollToOriginalMessage() {
+ var _a;
+ if (isMessageRevoked.value) {
+ return;
+ }
+ const originMessageID = (_a = messageQuoteContent.value) == null ? void 0 : _a.messageID;
+ const currentMessageList = common_vendor.Jt.getData(common_vendor.o.CHAT, "messageList");
+ const isOriginalMessageInScreen = currentMessageList.some((msg) => msg.ID === originMessageID);
+ if (originMessageID && isOriginalMessageInScreen) {
+ try {
+ const scrollViewRect = await common_vendor.T("#messageScrollList", "messageList");
+ const originalMessageRect = await common_vendor.T("#tui-" + originMessageID, "messageList");
+ const { scrollTop } = await common_vendor.P("#messageScrollList", "messageList");
+ const finalScrollTop = originalMessageRect.top + scrollTop - scrollViewRect.top - selfAddValue++ % 2;
+ const isNeedScroll = originalMessageRect.top < scrollViewRect.top;
+ if (!TUIKit_utils_env.isUniFrameWork && window) {
+ const scrollView = document.getElementById("messageScrollList");
+ if (isNeedScroll && scrollView) {
+ scrollView.scrollTop = finalScrollTop;
+ }
+ } else if (TUIKit_utils_env.isUniFrameWork && isNeedScroll) {
+ emits("scrollTo", finalScrollTop);
+ }
+ emits("blinkMessage", originMessageID);
+ } catch (error) {
+ common_vendor.index.__f__("error", "at TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.vue:154", error);
+ }
+ } else {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIChat.无法定位到原消息"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.WARNING
+ });
+ }
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(hasQuoteContent)
+ }, common_vendor.unref(hasQuoteContent) ? common_vendor.e({
+ b: common_vendor.unref(isMessageRevoked)
+ }, common_vendor.unref(isMessageRevoked) ? {
+ c: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.引用内容已撤回"))
+ } : {
+ d: common_vendor.t(common_vendor.unref(messageQuoteContent).messageSender),
+ e: common_vendor.t(common_vendor.unref(TUIKit_components_TUIChat_emojiConfig_index.transformTextWithKeysToEmojiNames)(common_vendor.unref(messageQuoteText)))
+ }, {
+ f: _ctx.message.flow === "out" ? 1 : "",
+ g: common_vendor.o$1(scrollToOriginalMessage)
+ }) : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-3506872c"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.wxml
new file mode 100644
index 0000000..1d2d4a1
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.wxml
@@ -0,0 +1 @@
+{{c}} {{d}}: {{e}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.wxss
new file mode 100644
index 0000000..8f58ebc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/index.wxss
@@ -0,0 +1,55 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.reference-content.data-v-3506872c {
+ max-width: 272px;
+ margin-top: 4px;
+ margin-left: 44px;
+ padding: 12px;
+ font-size: 12px;
+ color: #666;
+ word-wrap: break-word;
+ word-break: break-all;
+ background-color: #fbfbfb;
+ border-radius: 8px;
+ line-height: 16.8px;
+ cursor: pointer;
+ -webkit-tap-highlight-color: transparent;
+}
+.reverse.reference-content.data-v-3506872c {
+ margin-right: 44px;
+ margin-left: auto;
+}
+.revoked-text.data-v-3506872c {
+ color: #999;
+}
+.max-double-line.data-v-3506872c {
+ word-break: break-all;
+ overflow: hidden;
+ display: -webkit-box;
+ max-height: 33px;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/interface.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/interface.js
new file mode 100644
index 0000000..1c40aa5
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/interface.js
@@ -0,0 +1,17 @@
+"use strict";
+var MessageQuoteTypeEnum = /* @__PURE__ */ ((MessageQuoteTypeEnum2) => {
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_NONE"] = 0] = "TYPE_NONE";
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_TEXT"] = 1] = "TYPE_TEXT";
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_CUSTOM"] = 2] = "TYPE_CUSTOM";
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_IMAGE"] = 3] = "TYPE_IMAGE";
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_SOUND"] = 4] = "TYPE_SOUND";
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_VIDEO"] = 5] = "TYPE_VIDEO";
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_FILE"] = 6] = "TYPE_FILE";
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_LOCATION"] = 7] = "TYPE_LOCATION";
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_FACE"] = 8] = "TYPE_FACE";
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_GROUP_TIPS"] = 9] = "TYPE_GROUP_TIPS";
+ MessageQuoteTypeEnum2[MessageQuoteTypeEnum2["TYPE_MERGER"] = 10] = "TYPE_MERGER";
+ return MessageQuoteTypeEnum2;
+})(MessageQuoteTypeEnum || {});
+exports.MessageQuoteTypeEnum = MessageQuoteTypeEnum;
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-quote/interface.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.js
new file mode 100644
index 0000000..640b5aa
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.js
@@ -0,0 +1,81 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../../../utils/env.js");
+const TUIKit_components_TUIChat_emojiConfig_index = require("../../../emoji-config/index.js");
+if (!Math) {
+ (SimpleMessageList + Overlay + Drawer)();
+}
+const Overlay = () => "../../../../common/Overlay/index.js";
+const Drawer = () => "../../../../common/Drawer/index.js";
+const SimpleMessageList = () => "../simple-message-list/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ renderData: {},
+ disabled: { type: Boolean, default: false },
+ messageItem: { default: () => ({}) }
+ },
+ emits: ["assignMessageIDInUniapp"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const isMessageListVisible = common_vendor.ref(false);
+ function openMergeDetail() {
+ if (props.disabled) {
+ return;
+ }
+ if (!TUIKit_utils_env.isUniFrameWork) {
+ isMessageListVisible.value = true;
+ } else {
+ emits("assignMessageIDInUniapp", props.messageItem.ID);
+ }
+ }
+ function closeMergeDetail() {
+ isMessageListVisible.value = false;
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.t(props.renderData.title),
+ b: common_vendor.f(props.renderData.abstractList.slice(0, 7), (item, index, i0) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(TUIKit_components_TUIChat_emojiConfig_index.transformTextWithKeysToEmojiNames)(item)),
+ b: index
+ };
+ }),
+ c: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.聊天记录")),
+ d: common_vendor.o$1(openMergeDetail),
+ e: !props.disabled && common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !props.disabled && common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ f: common_vendor.o$1(closeMergeDetail),
+ g: common_vendor.p({
+ isMounted: common_vendor.unref(isMessageListVisible),
+ renderData: props.renderData,
+ messageID: props.messageItem.ID
+ }),
+ h: common_vendor.o$1(($event) => isMessageListVisible.value = false),
+ i: common_vendor.p({
+ visible: common_vendor.unref(isMessageListVisible)
+ })
+ } : !props.disabled && common_vendor.unref(TUIKit_utils_env.isH5) && !common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? {
+ k: common_vendor.o$1(closeMergeDetail),
+ l: common_vendor.p({
+ isMounted: common_vendor.unref(isMessageListVisible),
+ renderData: props.renderData,
+ messageID: props.messageItem.ID
+ }),
+ m: common_vendor.p({
+ visible: common_vendor.unref(isMessageListVisible),
+ isFullScreen: true,
+ overlayColor: "transparent",
+ popDirection: "right"
+ })
+ } : {}, {
+ j: !props.disabled && common_vendor.unref(TUIKit_utils_env.isH5) && !common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-2d2bd7ef"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.json
new file mode 100644
index 0000000..57bf979
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "overlay": "../../../../common/Overlay/index",
+ "drawer": "../../../../common/Drawer/index",
+ "simple-message-list": "../simple-message-list/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.wxml
new file mode 100644
index 0000000..34704f5
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.wxml
@@ -0,0 +1 @@
+{{a}} {{item.a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.wxss
new file mode 100644
index 0000000..a086a0e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-record/index.wxss
@@ -0,0 +1,52 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-2d2bd7ef:not(not) {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-width: 0;
+}
+.message-record-container.data-v-2d2bd7ef {
+ padding: 10px 15px;
+ border: 1px solid #ddd;
+ border-radius: 10px;
+ cursor: pointer;
+ background-color: #fff;
+ max-width: 400px;
+ min-width: 180px;
+ overflow: hidden;
+}
+.message-record-container .record-abstract-container.data-v-2d2bd7ef {
+ color: #bbb;
+ font-size: 12px;
+ margin: 8px 0;
+}
+.message-record-container .record-footer.data-v-2d2bd7ef {
+ color: #888;
+ font-size: 11px;
+ padding-top: 5px;
+ border-top: 1px solid #eee;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.js
new file mode 100644
index 0000000..f97eae6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.js
@@ -0,0 +1,102 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+require("../../emoji-config/index.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-text",
+ props: {
+ content: { default: () => ({}) },
+ messageItem: { default: () => ({}) },
+ enableURLHighlight: { type: Boolean, default: false }
+ },
+ setup(__props) {
+ const props = __props;
+ const processedContent = common_vendor.ref([]);
+ common_vendor.watch(
+ () => props.messageItem,
+ (newValue, oldValue) => {
+ var _a, _b, _c, _d, _e, _f;
+ if ((newValue == null ? void 0 : newValue.ID) === (oldValue == null ? void 0 : oldValue.ID)) {
+ return;
+ }
+ if (props.enableURLHighlight) {
+ common_vendor.ss.reportFeature(208);
+ }
+ if (props.messageItem.getMessageContent) {
+ processedContent.value = (_a = props.messageItem.getMessageContent()) == null ? void 0 : _a.text;
+ } else {
+ processedContent.value = (_c = (_b = common_vendor.Jt.getMessageModel(props.messageItem.ID)) == null ? void 0 : _b.getMessageContent()) == null ? void 0 : _c.text;
+ }
+ processedContent.value = processedContent.value || ((_d = props.content) == null ? void 0 : _d.text);
+ if (!((_e = processedContent.value) == null ? void 0 : _e.length)) {
+ processedContent.value = [];
+ return;
+ }
+ processedContent.value = (_f = processedContent.value.map((item) => {
+ if (item.name === "img" && (item == null ? void 0 : item.type) === "custom") {
+ {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIChat/message-list/message-elements/message-text.vue:87", "CUSTOM_BASIC_EMOJI_URL is required for custom emoji.");
+ return item;
+ }
+ }
+ if (props.enableURLHighlight && item.name === "text" && item.text) {
+ if (!common_vendor.A$1) {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIChat/message-list/message-elements/message-text.vue:103", "parseTextAndValidateUrls not found. Please update @tencentcloud/universal-api to 2.3.7 or higher.");
+ return item;
+ }
+ const segments = common_vendor.A$1(item.text);
+ if (segments.length) {
+ return segments.map((segment) => ({
+ name: segment.type,
+ text: segment.text,
+ url: segment.url
+ }));
+ }
+ }
+ return item;
+ })) == null ? void 0 : _f.flat();
+ },
+ {
+ deep: true,
+ immediate: true
+ }
+ );
+ function navigateToUrl(url) {
+ if (url) {
+ if (TUIKit_utils_env.isUniFrameWork) {
+ common_vendor.i.navigateTo({
+ url: `/pages/views/webview?url=${url}`
+ // Assuming you have a webview page to handle external URLs
+ });
+ } else {
+ common_vendor.i.open(url, "_blank");
+ }
+ }
+ }
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.f(common_vendor.unref(processedContent), (item, index, i0) => {
+ return common_vendor.e({
+ a: item.name === "text"
+ }, item.name === "text" ? {
+ b: common_vendor.t(item.text)
+ } : item.name === "url" ? {
+ d: common_vendor.t(item.text),
+ e: common_vendor.o$1(($event) => navigateToUrl(item.url), index)
+ } : {
+ f: item.src,
+ g: item.emojiKey
+ }, {
+ c: item.name === "url",
+ h: index
+ });
+ }),
+ b: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isPC) && "text-select")
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e1772b65"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.wxml
new file mode 100644
index 0000000..ac6f98b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.wxml
@@ -0,0 +1 @@
+{{item.b}} {{item.d}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.wxss
new file mode 100644
index 0000000..7d53f31
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-text.wxss
@@ -0,0 +1,63 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-text-container.data-v-e1772b65 {
+ display: inline;
+ font-size: 0;
+ letter-spacing: -1px;
+}
+.text-select.data-v-e1772b65 {
+ -webkit-user-select: text;
+ user-select: text;
+}
+.text.data-v-e1772b65::selection, .emoji.data-v-e1772b65::selection, .url-link.data-v-e1772b65::selection {
+ background-color: #b4d5fe;
+ color: inherit;
+ cursor: text;
+}
+.emoji.data-v-e1772b65 {
+ font-size: 0;
+ vertical-align: bottom;
+ width: 20px;
+ height: 20px;
+}
+.text.data-v-e1772b65, .url-link.data-v-e1772b65 {
+ font-size: 14px;
+ white-space: pre-wrap;
+ word-break: break-all;
+ letter-spacing: normal;
+}
+.url-link.data-v-e1772b65 {
+ color: #0366d6;
+ text-decoration: none;
+ word-break: break-all;
+ cursor: text;
+}
+.url-link.data-v-e1772b65:hover:not(:active) {
+ cursor: pointer;
+}
+.url-link.data-v-e1772b65:visited {
+ color: #0366d6;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.js
new file mode 100644
index 0000000..3175185
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.js
@@ -0,0 +1,66 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_components_TUIChat_utils_utils = require("../../utils/utils.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-timestamp",
+ props: {
+ currTime: {
+ type: Number,
+ default: 0
+ },
+ prevTime: {
+ type: Number,
+ default: 0
+ }
+ },
+ setup(__props) {
+ const props = __props;
+ const { currTime, prevTime } = common_vendor.toRefs(props);
+ const timestampShowFlag = common_vendor.ref(false);
+ const timestampShowContent = common_vendor.ref("");
+ const handleItemTime = (currTime2, prevTime2) => {
+ timestampShowFlag.value = false;
+ if (currTime2 <= 0) {
+ return "";
+ } else if (!prevTime2 || prevTime2 <= 0) {
+ timestampShowFlag.value = true;
+ return TUIKit_components_TUIChat_utils_utils.calculateTimestamp(currTime2 * 1e3);
+ } else {
+ const minDiffToShow = 10 * 60;
+ const diff = currTime2 - prevTime2;
+ if (diff >= minDiffToShow) {
+ timestampShowFlag.value = true;
+ return TUIKit_components_TUIChat_utils_utils.calculateTimestamp(currTime2 * 1e3);
+ }
+ }
+ return "";
+ };
+ common_vendor.watch(
+ () => [currTime.value, prevTime.value],
+ (newVal, oldVal) => {
+ if ((newVal == null ? void 0 : newVal.toString()) === (oldVal == null ? void 0 : oldVal.toString())) {
+ return;
+ } else {
+ timestampShowContent.value = handleItemTime(
+ currTime.value,
+ prevTime.value
+ );
+ }
+ },
+ {
+ immediate: true
+ }
+ );
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(timestampShowFlag)
+ }, common_vendor.unref(timestampShowFlag) ? {
+ b: common_vendor.t(common_vendor.unref(timestampShowContent))
+ } : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-2f98379f"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.wxml
new file mode 100644
index 0000000..da5bcf7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.wxml
@@ -0,0 +1 @@
+{{b}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.wxss
new file mode 100644
index 0000000..7a181ad
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-timestamp.wxss
@@ -0,0 +1,84 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-2f98379f, div.data-v-2f98379f, ul.data-v-2f98379f, ol.data-v-2f98379f, dt.data-v-2f98379f, dd.data-v-2f98379f, li.data-v-2f98379f, dl.data-v-2f98379f, h1.data-v-2f98379f, h2.data-v-2f98379f, h3.data-v-2f98379f, h4.data-v-2f98379f, p.data-v-2f98379f {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-2f98379f, ul.data-v-2f98379f, li.data-v-2f98379f {
+ list-style: none;
+}
+img.data-v-2f98379f {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-2f98379f {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-2f98379f {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-2f98379f {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-2f98379f:hover {
+ text-decoration: none;
+}
+input.data-v-2f98379f, textarea.data-v-2f98379f {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-2f98379f:focus, input.data-v-2f98379f:active, textarea.data-v-2f98379f:focus, textarea.data-v-2f98379f:active {
+ outline: none;
+}
+.chat-aside.data-v-2f98379f {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-timestamp.data-v-2f98379f {
+ margin: 10px auto;
+ color: #999;
+ font-size: 12px;
+ overflow-wrap: anywhere;
+ display: flex;
+ align-items: center;
+ text-align: center;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.js
new file mode 100644
index 0000000..83b8a8e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.js
@@ -0,0 +1,27 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-tip",
+ props: {
+ content: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ setup(__props) {
+ const props = __props;
+ const tipContent = common_vendor.computed(() => {
+ var _a, _b;
+ return ((_a = props.content) == null ? void 0 : _a.text) || ((_b = props.content) == null ? void 0 : _b.custom) || "";
+ });
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(tipContent))
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-9169fd29"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.wxml
new file mode 100644
index 0000000..41f7be2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.wxml
@@ -0,0 +1 @@
+{{a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.wxss
new file mode 100644
index 0000000..4c0fc6a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-tip.wxss
@@ -0,0 +1,100 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-9169fd29, div.data-v-9169fd29, ul.data-v-9169fd29, ol.data-v-9169fd29, dt.data-v-9169fd29, dd.data-v-9169fd29, li.data-v-9169fd29, dl.data-v-9169fd29, h1.data-v-9169fd29, h2.data-v-9169fd29, h3.data-v-9169fd29, h4.data-v-9169fd29, p.data-v-9169fd29 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-9169fd29, ul.data-v-9169fd29, li.data-v-9169fd29 {
+ list-style: none;
+}
+img.data-v-9169fd29 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-9169fd29 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-9169fd29 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-9169fd29 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-9169fd29:hover {
+ text-decoration: none;
+}
+input.data-v-9169fd29, textarea.data-v-9169fd29 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-9169fd29:focus, input.data-v-9169fd29:active, textarea.data-v-9169fd29:focus, textarea.data-v-9169fd29:active {
+ outline: none;
+}
+.chat-aside.data-v-9169fd29 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-tip.data-v-9169fd29 {
+ margin: 0 auto;
+ padding: 0 20px;
+ color: #999;
+ font-size: 12px;
+ overflow-wrap: anywhere;
+ display: flex;
+ place-content: center center;
+ align-items: center;
+ text-align: center;
+ margin-bottom: 10px;
+}
+.message-tip-highlight.data-v-9169fd29 {
+ animation: highlight-9169fd29 1000ms infinite;
+}
+@keyframes highlight-9169fd29 {
+50% {
+ color: #ff9c19;
+}
+}
+@keyframes highlight-9169fd29 {
+50% {
+ color: #ff9c19;
+}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.js
new file mode 100644
index 0000000..ba471fc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.js
@@ -0,0 +1,75 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const common_assets = require("../../../../../../common/assets.js");
+if (!Math) {
+ (TranslationContent + Icon)();
+}
+const Icon = () => "../../../../common/Icon.js";
+const TranslationContent = () => "./translation-content.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ message: { default: () => ({}) }
+ },
+ setup(__props) {
+ const props = __props;
+ const translationVisible = common_vendor.ref(false);
+ const hasTranslationError = common_vendor.ref(false);
+ const translationWrapperRef = common_vendor.ref();
+ let isSingleTranslation = true;
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CHAT, {
+ translateTextInfo: onMessageTranslationUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CHAT, {
+ translateTextInfo: onMessageTranslationUpdated
+ });
+ });
+ function toggleErrorStatus(hasError) {
+ hasTranslationError.value = hasError;
+ }
+ function onMessageTranslationUpdated(info) {
+ if (info === void 0)
+ return;
+ isSingleTranslation = false;
+ const translationInfoList = info.get(props.message.conversationID) || [];
+ for (let i = 0; i < translationInfoList.length; ++i) {
+ const { messageID, visible } = translationInfoList[i];
+ if (messageID === props.message.ID && visible !== void 0) {
+ if (translationInfoList.length === 1 && visible) {
+ isSingleTranslation = true;
+ }
+ hasTranslationError.value = false;
+ translationVisible.value = visible;
+ break;
+ }
+ }
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(translationVisible)
+ }, common_vendor.unref(translationVisible) ? {
+ b: common_vendor.o$1(toggleErrorStatus),
+ c: common_vendor.p({
+ message: props.message,
+ translationContentVisible: common_vendor.unref(translationVisible),
+ translationWrapperRef: common_vendor.unref(translationWrapperRef),
+ isSingleTranslation: common_vendor.unref(isSingleTranslation)
+ }),
+ d: common_vendor.p({
+ file: common_vendor.unref(common_assets.checkIcon),
+ size: "13px"
+ }),
+ e: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.由IM提供翻译支持")),
+ f: props.message.flow === "out" ? 1 : "",
+ g: common_vendor.unref(hasTranslationError) ? 1 : ""
+ } : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-955a2daf"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.json
new file mode 100644
index 0000000..603b8e0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../../common/Icon",
+ "translation-content": "./translation-content"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.wxml
new file mode 100644
index 0000000..042a4ab
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.wxml
@@ -0,0 +1 @@
+{{e}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.wxss
new file mode 100644
index 0000000..a65f426
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/index.wxss
@@ -0,0 +1,52 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-translation.data-v-955a2daf {
+ margin-top: 4px;
+ margin-left: 44px;
+ padding: 10px;
+ background-color: #f2f7ff;
+ border-radius: 10px;
+ display: flex;
+ flex-direction: column !important;
+ transition: background-color 0.15s ease-out;
+}
+.message-translation.error.data-v-955a2daf {
+ background-color: #ffdfdf;
+}
+.message-translation .copyright.data-v-955a2daf {
+ display: flex;
+ align-items: center;
+ margin-top: 10px;
+}
+.message-translation .copyright .copyright-text.data-v-955a2daf {
+ margin-left: 2px;
+ font-size: 12px;
+ color: #999;
+}
+.message-translation.reverse.data-v-955a2daf {
+ margin-right: 44px;
+ margin-left: auto;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.js
new file mode 100644
index 0000000..c3d894d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.js
@@ -0,0 +1,60 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const TUIKit_components_TUIChat_utils_translation = require("../../../utils/translation.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "translation-content",
+ props: {
+ message: { default: () => ({}) },
+ translationContentVisible: { type: Boolean },
+ isSingleTranslation: { type: Boolean },
+ translationWrapperRef: {}
+ },
+ setup(__props) {
+ const props = __props;
+ const translationFinished = common_vendor.ref(false);
+ const translationErrorText = common_vendor.ref("");
+ const translationTextList = common_vendor.ref([]);
+ common_vendor.watch(() => props.translationContentVisible, (newVal) => {
+ if (newVal) {
+ TUIKit_components_TUIChat_utils_translation.translator.get(props.message).then((result) => {
+ translationFinished.value = true;
+ translationTextList.value = result;
+ }).catch((err) => {
+ translationFinished.value = true;
+ emits("toggleErrorStatus", true);
+ translationErrorText.value = err.message;
+ });
+ }
+ }, { immediate: true });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(translationFinished)
+ }, common_vendor.unref(translationFinished) ? common_vendor.e({
+ b: common_vendor.unref(translationTextList).length > 0
+ }, common_vendor.unref(translationTextList).length > 0 ? {
+ c: common_vendor.f(common_vendor.unref(translationTextList), (text, index, i0) => {
+ return common_vendor.e({
+ a: text.type === "face"
+ }, text.type === "face" ? {
+ b: text.value
+ } : {
+ c: common_vendor.t(text.value)
+ }, {
+ d: index
+ });
+ })
+ } : {
+ d: common_vendor.t(common_vendor.unref(translationErrorText))
+ }, {
+ e: `translation-content-${props.message.ID}`
+ }) : {}, {
+ f: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.翻译中")),
+ g: common_vendor.unref(translationFinished) ? 1 : ""
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ef640ceb"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.wxml
new file mode 100644
index 0000000..a7db3e1
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.wxml
@@ -0,0 +1 @@
+{{text.c}} {{d}} {{f}}...
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.wxss
new file mode 100644
index 0000000..bed9639
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-translate/translation-content.wxss
@@ -0,0 +1,57 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-translation-container.data-v-ef640ceb {
+ min-height: 16px;
+ min-width: 80px;
+ position: relative;
+ transition: width 0.15s ease-out, height 0.15s ease-out;
+ font-size: 14px;
+}
+.message-translation-container .loading.data-v-ef640ceb {
+ position: absolute;
+ top: 0;
+ left: 0;
+ opacity: 1;
+ transition: opacity 0.3s ease-out;
+}
+.message-translation-container .loading.loading-end.data-v-ef640ceb {
+ opacity: 0;
+}
+.message-translation-container .translation-content.data-v-ef640ceb {
+ opacity: 0;
+}
+.message-translation-container .translation-content.occur.data-v-ef640ceb {
+ animation: occur-ef640ceb 0.3s ease-out 0.45s forwards;
+}
+@keyframes occur-ef640ceb {
+100% {
+ opacity: 1;
+}
+}
+.message-translation-container .translation-content .text-face.data-v-ef640ceb {
+ width: 20px;
+ height: 20px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.js
new file mode 100644
index 0000000..f197bda
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.js
@@ -0,0 +1,38 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+const common_assets = require("../../../../../common/assets.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-video",
+ props: {
+ content: { default: () => ({}) },
+ messageItem: { default: () => ({}) }
+ },
+ setup(__props) {
+ const props = __props;
+ function handlerVideoPlay() {
+ const encodedUrl = encodeURIComponent(props.content.url);
+ common_vendor.index.navigateTo({
+ url: `/TUIKit/components/TUIChat/video-play?videoUrl=${encodedUrl}`
+ });
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.content.snapshotUrl,
+ b: props.messageItem.status === "success" || props.messageItem.progress === 1
+ }, props.messageItem.status === "success" || props.messageItem.progress === 1 ? {
+ c: common_vendor.p({
+ file: common_vendor.unref(common_assets.playIcon)
+ })
+ } : {}, {
+ d: common_vendor.o$1(handlerVideoPlay)
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c500d966"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.json
new file mode 100644
index 0000000..e4996d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.wxml
new file mode 100644
index 0000000..de0759c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.wxss
new file mode 100644
index 0000000..3138ec3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/message-video.wxss
@@ -0,0 +1,42 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-video.data-v-c500d966 {
+ position: relative;
+}
+.message-video-box.data-v-c500d966 {
+ width: 120px;
+ max-width: 120px;
+ background-color: rgba(0, 0, 0, 0.3);
+ border-radius: 6px;
+ height: 200px;
+ font-size: 0;
+}
+.message-video .video-play.data-v-c500d966 {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.js
new file mode 100644
index 0000000..fcdd2ab
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.js
@@ -0,0 +1,139 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const TUIKit_components_TUIChat_config = require("../../../config.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ message: { default: () => ({}) }
+ },
+ emits: ["openReadUserPanel"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const ReadStatus = TUIKit_components_TUIChat_config.ChatConfig.getFeatureConfig("ReadStatus");
+ const TYPES = common_vendor.qt.TYPES;
+ const isDisplayMessageReadReceipt = common_vendor.ref(common_vendor.Jt.getData(common_vendor.o.USER, "displayMessageReadReceipt"));
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.USER, {
+ displayMessageReadReceipt: onDisplayMessageReadReceiptUpdate
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.USER, {
+ displayMessageReadReceipt: onDisplayMessageReadReceiptUpdate
+ });
+ });
+ const isShowReadStatus = common_vendor.computed(() => {
+ if (!ReadStatus) {
+ return false;
+ }
+ if (!isDisplayMessageReadReceipt.value) {
+ return false;
+ }
+ const {
+ ID,
+ type,
+ flow,
+ status,
+ hasRiskContent,
+ conversationID,
+ conversationType,
+ needReadReceipt = false
+ } = props.message;
+ if (hasRiskContent) {
+ return false;
+ }
+ const { groupProfile } = common_vendor.Jt.getConversationModel(conversationID) || {};
+ if ((groupProfile == null ? void 0 : groupProfile.type) === TYPES.GRP_AVCHATROOM || (groupProfile == null ? void 0 : groupProfile.type) === TYPES.GRP_COMMUNITY) {
+ return false;
+ }
+ if (type === TYPES.MSG_CUSTOM) {
+ const message = common_vendor.Jt.getMessageModel(ID);
+ if ((message == null ? void 0 : message.getSignalingInfo()) !== null) {
+ return false;
+ }
+ }
+ if (flow !== "out" || status !== "success") {
+ return false;
+ }
+ if (conversationType === "GROUP") {
+ return needReadReceipt;
+ } else if (conversationType === "C2C") {
+ return true;
+ }
+ return false;
+ });
+ const readState = common_vendor.computed(() => {
+ const { conversationType, needReadReceipt = false, isPeerRead = false } = props.message;
+ const { readCount = 0, unreadCount = 0, isPeerRead: isReceiptPeerRead = false } = props.message.readReceiptInfo;
+ if (conversationType === "C2C") {
+ if (needReadReceipt) {
+ return isReceiptPeerRead ? 0 : 1;
+ } else {
+ return isPeerRead ? 0 : 1;
+ }
+ } else if (conversationType === "GROUP") {
+ if (needReadReceipt) {
+ if (readCount === 0) {
+ return 1;
+ } else if (unreadCount === 0) {
+ return 2;
+ } else {
+ return 4;
+ }
+ } else {
+ return 3;
+ }
+ }
+ return 1;
+ });
+ const readStatusText = common_vendor.computed(() => {
+ const { readCount = 0 } = props.message.readReceiptInfo;
+ switch (readState.value) {
+ case 0:
+ return common_vendor.Wt.t("TUIChat.已读");
+ case 1:
+ return common_vendor.Wt.t("TUIChat.未读");
+ case 2:
+ return common_vendor.Wt.t("TUIChat.全部已读");
+ case 4:
+ return `${readCount}${common_vendor.Wt.t("TUIChat.人已读")}`;
+ default:
+ return "";
+ }
+ });
+ const isUseUnreadStyle = common_vendor.computed(() => {
+ const { conversationType } = props.message;
+ if (conversationType === "C2C") {
+ return readState.value !== 0;
+ } else if (conversationType === "GROUP") {
+ return readState.value !== 2;
+ }
+ return false;
+ });
+ const isHoverFingerPointer = common_vendor.computed(() => {
+ return props.message.needReadReceipt && props.message.conversationType === "GROUP" && (readState.value === 4 || readState.value === 1);
+ });
+ function openReadUserPanel() {
+ if (isHoverFingerPointer.value) {
+ emits("openReadUserPanel");
+ }
+ }
+ function onDisplayMessageReadReceiptUpdate(isDisplay) {
+ isDisplayMessageReadReceipt.value = isDisplay;
+ }
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(readStatusText)),
+ b: common_vendor.unref(isShowReadStatus),
+ c: common_vendor.unref(isUseUnreadStyle) ? 1 : "",
+ d: common_vendor.unref(isHoverFingerPointer) ? 1 : "",
+ e: common_vendor.o$1(openReadUserPanel)
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-bb856aa1"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.wxml
new file mode 100644
index 0000000..7d647fa
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.wxml
@@ -0,0 +1 @@
+{{a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.wxss
new file mode 100644
index 0000000..b046da5
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/read-status/index.wxss
@@ -0,0 +1,39 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-label.data-v-bb856aa1 {
+ align-self: flex-end;
+ font-size: 12px;
+ color: #b6b8ba;
+ word-break: keep-all;
+ flex: 0 0 auto;
+}
+.message-label.unread.data-v-bb856aa1 {
+ color: #679ce1 !important;
+}
+.finger-point.data-v-bb856aa1 {
+ cursor: pointer;
+ -webkit-tap-highlight-color: transparent;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.js
new file mode 100644
index 0000000..05d6723
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.js
@@ -0,0 +1,195 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const common_assets = require("../../../../../../common/assets.js");
+const TUIKit_components_TUIChat_emojiConfig_index = require("../../../emoji-config/index.js");
+const TUIKit_utils_env = require("../../../../../utils/env.js");
+const TUIKit_components_TUIChat_emojiConfig_customEmoji = require("../../../emoji-config/custom-emoji.js");
+const TUIKit_components_TUIChat_emojiConfig_defaultEmoji = require("../../../emoji-config/default-emoji.js");
+if (!Math) {
+ (Icon + MessageRecord + MessageContainer)();
+}
+const Icon = () => "../../../../common/Icon.js";
+const MessageContainer = () => "./message-container.js";
+const MessageRecord = () => "../message-record/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ messageID: { default: "" },
+ isMounted: { type: Boolean, default: false }
+ },
+ emits: ["closeOverlay"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const TYPES = common_vendor.qt.TYPES;
+ const isDownloadOccurError = common_vendor.ref(false);
+ const messageListStack = common_vendor.ref([]);
+ const currentMergeMessageInfo = common_vendor.ref({
+ title: "",
+ messageList: []
+ });
+ common_vendor.ref();
+ common_vendor.watch(() => messageListStack.value.length, async (newValue) => {
+ isDownloadOccurError.value = false;
+ if (newValue < 1) {
+ return;
+ }
+ const stackTopMessageInfo = messageListStack.value[messageListStack.value.length - 1];
+ if (stackTopMessageInfo.downloadKey && stackTopMessageInfo.messageList.length === 0) {
+ try {
+ const res = await common_vendor.Qt.downloadMergedMessages({
+ payload: stackTopMessageInfo,
+ type: common_vendor.qt.TYPES.MSG_MERGER
+ });
+ messageListStack.value[messageListStack.value.length - 1] = res.payload;
+ } catch (error) {
+ isDownloadOccurError.value = true;
+ }
+ }
+ currentMergeMessageInfo.value = messageListStack.value[messageListStack.value.length - 1];
+ });
+ common_vendor.watch(() => props.isMounted, (newValue) => {
+ if (newValue) {
+ if (!props.messageID) {
+ throw new Error("messageID is required when first render of simple-message-list.");
+ }
+ const sdkMessagePayload = common_vendor.Jt.getMessageModel(props.messageID).getMessage().payload;
+ messageListStack.value = [sdkMessagePayload];
+ } else {
+ messageListStack.value = [];
+ }
+ }, {
+ immediate: true
+ });
+ const isReturn = common_vendor.computed(() => {
+ return messageListStack.value.length > 1;
+ });
+ const isMergeMessageInfoLoaded = common_vendor.computed(() => {
+ var _a;
+ return ((_a = currentMergeMessageInfo.value) == null ? void 0 : _a.messageList) ? currentMergeMessageInfo.value.messageList.length > 0 : false;
+ });
+ function entryNextLevel(e, sdkMessage) {
+ messageListStack.value.push(sdkMessage.messageBody[0].payload);
+ e.stopPropagation();
+ }
+ function backPreviousLevel() {
+ messageListStack.value.pop();
+ if (messageListStack.value.length < 1) {
+ emits("closeOverlay");
+ }
+ }
+ function previewVideoInUniapp(url) {
+ if (TUIKit_utils_env.isUniFrameWork) {
+ const encodedUrl = encodeURIComponent(url);
+ common_vendor.index.navigateTo({
+ url: `/TUIKit/components/TUIChat/video-play?videoUrl=${encodedUrl}`
+ });
+ }
+ }
+ function resolveBigFaceUrl(bigFaceKey) {
+ let url = "";
+ if (bigFaceKey.indexOf("@custom") > -1) {
+ url = TUIKit_components_TUIChat_emojiConfig_customEmoji.CUSTOM_BIG_EMOJI_URL + bigFaceKey;
+ } else {
+ url = TUIKit_components_TUIChat_emojiConfig_defaultEmoji.DEFAULT_BIG_EMOJI_URL + bigFaceKey;
+ if (url.indexOf("@2x") === -1) {
+ url += "@2x.png";
+ } else {
+ url += ".png";
+ }
+ }
+ return url;
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.p({
+ file: common_vendor.unref(common_assets.backIcon),
+ size: "18px"
+ }),
+ b: common_vendor.unref(isReturn)
+ }, common_vendor.unref(isReturn) ? {
+ c: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.返回"))
+ } : {
+ d: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.关闭"))
+ }, {
+ e: common_vendor.o$1(backPreviousLevel),
+ f: common_vendor.t(common_vendor.unref(currentMergeMessageInfo).title),
+ g: common_vendor.unref(isDownloadOccurError)
+ }, common_vendor.unref(isDownloadOccurError) ? {} : common_vendor.unref(isMergeMessageInfoLoaded) ? {
+ i: common_vendor.f(common_vendor.unref(currentMergeMessageInfo).messageList, (item, k0, i0) => {
+ return common_vendor.e({
+ a: item.messageBody[0].type === common_vendor.unref(TYPES).MSG_TEXT
+ }, item.messageBody[0].type === common_vendor.unref(TYPES).MSG_TEXT ? {
+ b: common_vendor.f(common_vendor.unref(TUIKit_components_TUIChat_emojiConfig_index.parseTextToRenderArray)(item.messageBody[0].payload["text"]), (textInfo, index, i1) => {
+ return common_vendor.e({
+ a: textInfo.type === "text"
+ }, textInfo.type === "text" ? {
+ b: common_vendor.t(textInfo.content)
+ } : {
+ c: textInfo.content
+ }, {
+ d: index
+ });
+ })
+ } : item.messageBody[0].type === common_vendor.unref(TYPES).MSG_IMAGE ? {
+ d: item.messageBody[0].payload["imageInfoArray"][2]["url"]
+ } : item.messageBody[0].type === common_vendor.unref(TYPES).MSG_VIDEO ? common_vendor.e({
+ f: common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? {
+ g: item.messageBody[0].payload["thumbUrl"],
+ h: "6bc34766-2-" + i0 + "," + ("6bc34766-1-" + i0),
+ i: common_vendor.p({
+ file: common_vendor.unref(common_assets.playIcon)
+ }),
+ j: common_vendor.o$1(($event) => previewVideoInUniapp(item.messageBody[0].payload["remoteVideoUrl"]), item.ID)
+ } : {
+ k: item.messageBody[0].payload["remoteVideoUrl"],
+ l: item.messageBody[0].payload["thumbUrl"]
+ }) : item.messageBody[0].type === common_vendor.unref(TYPES).MSG_AUDIO ? {
+ n: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.语音")),
+ o: common_vendor.t(item.messageBody[0].payload.second)
+ } : item.messageBody[0].type === common_vendor.unref(TYPES).MSG_FACE ? {
+ q: resolveBigFaceUrl(item.messageBody[0].payload.data)
+ } : item.messageBody[0].type === common_vendor.unref(TYPES).MSG_FILE ? {
+ s: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.[文件]"))
+ } : item.messageBody[0].type === common_vendor.unref(TYPES).MSG_LOCATION ? {
+ v: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.[地理位置]"))
+ } : item.messageBody[0].type === common_vendor.unref(TYPES).MSG_MERGER ? {
+ x: "6bc34766-3-" + i0 + "," + ("6bc34766-1-" + i0),
+ y: common_vendor.p({
+ disabled: true,
+ renderData: item.messageBody[0].payload
+ }),
+ z: common_vendor.o$1(($event) => entryNextLevel($event, item), item.ID)
+ } : item.messageBody[0].type === common_vendor.unref(TYPES).MSG_CUSTOM ? {
+ B: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.[自定义消息]"))
+ } : {}, {
+ c: item.messageBody[0].type === common_vendor.unref(TYPES).MSG_IMAGE,
+ e: item.messageBody[0].type === common_vendor.unref(TYPES).MSG_VIDEO,
+ m: item.messageBody[0].type === common_vendor.unref(TYPES).MSG_AUDIO,
+ p: item.messageBody[0].type === common_vendor.unref(TYPES).MSG_FACE,
+ r: item.messageBody[0].type === common_vendor.unref(TYPES).MSG_FILE,
+ t: item.messageBody[0].type === common_vendor.unref(TYPES).MSG_LOCATION,
+ w: item.messageBody[0].type === common_vendor.unref(TYPES).MSG_MERGER,
+ A: item.messageBody[0].type === common_vendor.unref(TYPES).MSG_CUSTOM,
+ C: "6bc34766-1-" + i0,
+ D: common_vendor.p({
+ sender: item.nick,
+ avatar: item.avatar,
+ type: item.messageBody[0].type,
+ time: item.time
+ }),
+ E: item.ID
+ });
+ })
+ } : {}, {
+ h: common_vendor.unref(isMergeMessageInfoLoaded),
+ j: common_vendor.unref(TUIKit_utils_env.isMobile) ? 1 : ""
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-6bc34766"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.json
new file mode 100644
index 0000000..ff74880
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../../common/Icon",
+ "message-container": "./message-container",
+ "message-record": "../message-record/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.wxml
new file mode 100644
index 0000000..8c70399
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.wxml
@@ -0,0 +1 @@
+ Load Merge Message Error {{textInfo.b}} {{item.n}} {{item.o}}s {{item.s}} {{item.v}} {{item.B}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.wxss
new file mode 100644
index 0000000..e130a1d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/index.wxss
@@ -0,0 +1,142 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-6bc34766:not(not) {
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ box-sizing: border-box;
+}
+.simple-message-list-container.data-v-6bc34766 {
+ position: relative;
+ overflow: hidden;
+ width: 40vw;
+ min-width: 550px;
+ height: calc(100vh - 200px);
+ background-color: #fff;
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+ border-radius: 8px;
+}
+.simple-message-list-container-mobile.data-v-6bc34766 {
+ width: 100vw;
+ height: 100vh;
+ min-width: auto;
+ border-radius: 0;
+}
+.simple-message-list-container .header-container.data-v-6bc34766 {
+ width: 100%;
+ text-align: center;
+ font-weight: bold;
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1;
+ height: 60px;
+ justify-content: center;
+ align-items: center;
+ padding: 0 70px;
+ background-color: #fff;
+}
+.simple-message-list-container .header-container .back.data-v-6bc34766 {
+ flex-direction: row;
+ align-items: center;
+ position: absolute;
+ left: 10px;
+ cursor: pointer;
+}
+.simple-message-list-container .header-container .title.data-v-6bc34766 {
+ width: 100%;
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.simple-message-list-container .message-list.data-v-6bc34766 {
+ padding: 60px 20px 20px;
+ flex: 1 1 auto;
+ overflow: hidden auto;
+}
+.message-item.data-v-6bc34766 {
+ flex-direction: row;
+ margin: 10px 0;
+}
+.message-text.data-v-6bc34766 {
+ flex-flow: row wrap;
+ display: inline;
+}
+.message-text-container.data-v-6bc34766 {
+ display: inline;
+ flex: 0 0 auto;
+ flex-direction: row;
+}
+.message-text-container .text.data-v-6bc34766 {
+ vertical-align: bottom;
+ display: inline;
+ word-break: break-all;
+}
+.message-text-container .simple-emoji.data-v-6bc34766 {
+ display: inline-flex;
+ width: 20px;
+ height: 20px;
+}
+.message-image.data-v-6bc34766 {
+ max-width: 180px;
+ border-radius: 10px;
+ overflow: hidden;
+}
+.message-image .image.data-v-6bc34766 {
+ max-width: 180px;
+}
+.message-face.data-v-6bc34766 {
+ max-width: 100px;
+}
+.message-face .image.data-v-6bc34766 {
+ width: 80px;
+ height: 80px;
+}
+.message-audio.data-v-6bc34766 {
+ flex-direction: row;
+}
+.message-video.data-v-6bc34766 {
+ position: relative;
+}
+.message-video .image.data-v-6bc34766 {
+ max-width: 180px;
+}
+.message-video .video-play-icon.data-v-6bc34766 {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
+.message-video .video.data-v-6bc34766 {
+ max-width: 150px;
+ width: inherit;
+ height: inherit;
+ border-radius: 10px;
+}
+.message-combine.data-v-6bc34766 {
+ max-width: 300px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.js
new file mode 100644
index 0000000..83c629e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.js
@@ -0,0 +1,37 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const TUIKit_components_TUIChat_utils_utils = require("../../../utils/utils.js");
+if (!Math) {
+ Avatar();
+}
+const Avatar = () => "../../../../common/Avatar/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-container",
+ props: {
+ sender: { default: "" },
+ avatar: { default: "" },
+ type: {},
+ time: {}
+ },
+ setup(__props) {
+ const props = __props;
+ const TYPES = common_vendor.qt.TYPES;
+ const isNoPadding = common_vendor.computed(() => {
+ return [TYPES.MSG_IMAGE, TYPES.MSG_VIDEO, TYPES.MSG_MERGER].includes(props.type);
+ });
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.p({
+ url: props.avatar
+ }),
+ b: common_vendor.t(props.sender),
+ c: common_vendor.unref(isNoPadding) ? 1 : "",
+ d: common_vendor.t(common_vendor.unref(TUIKit_components_TUIChat_utils_utils.calculateTimestamp)(props.time * 1e3))
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-79409a32"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.json
new file mode 100644
index 0000000..4a4357b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "avatar": "../../../../common/Avatar/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.wxml
new file mode 100644
index 0000000..e5056eb
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.wxml
@@ -0,0 +1 @@
+{{b}} {{d}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.wxss
new file mode 100644
index 0000000..5a6c6a6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-elements/simple-message-list/message-container.wxss
@@ -0,0 +1,67 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-79409a32:not(not) {
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ box-sizing: border-box;
+}
+.simple-message-container.data-v-79409a32 {
+ flex-direction: row;
+}
+.simple-message-container .simple-message-avatar.data-v-79409a32 {
+ flex: 0 0 auto;
+ margin-right: 8px;
+}
+.simple-message-container .simple-message-sender.data-v-79409a32 {
+ display: block;
+ max-width: 200px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ font-size: 11px;
+ color: #999;
+}
+.simple-message-container .simple-message-body.data-v-79409a32 {
+ flex-direction: row;
+ align-items: flex-end;
+}
+.simple-message-container .simple-message-content.data-v-79409a32 {
+ margin-top: 8px;
+ background-color: #dceafd;
+ border-radius: 0 10px 10px;
+ padding: 10px 12px;
+}
+.simple-message-container .timestamp.data-v-79409a32 {
+ flex: 0 0 auto;
+ font-size: 12px;
+ color: #aaa;
+ margin-left: 6px;
+}
+.simple-message-container .no-padding.data-v-79409a32 {
+ padding: 0;
+ background-color: transparent;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.js
new file mode 100644
index 0000000..0457d01
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.js
@@ -0,0 +1,163 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+if (!Math) {
+ (Icon + Avatar + Drawer)();
+}
+const Icon = () => "../../../common/Icon.js";
+const Avatar = () => "../../../common/Avatar/index.js";
+const Drawer = () => "../../../common/Drawer/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ groupID: { default: "" }
+ },
+ setup(__props) {
+ const props = __props;
+ const drawerDomInstanceRef = common_vendor.ref();
+ const groupApplicationCount = common_vendor.ref(0);
+ const isGroupApplicationDrawerShow = common_vendor.ref(false);
+ const customGroupApplicationList = common_vendor.ref([]);
+ common_vendor.watch(isGroupApplicationDrawerShow, (newVal) => {
+ if (newVal) {
+ generateCustomGroupApplicationList().then((list) => {
+ customGroupApplicationList.value = list;
+ groupApplicationCount.value = list.length;
+ });
+ }
+ });
+ common_vendor.watch(() => customGroupApplicationList.value.length, (newVal, oldVal) => {
+ if (oldVal > 0 && newVal === 0) {
+ isGroupApplicationDrawerShow.value = false;
+ }
+ });
+ async function getCurrentGroupApplicationList() {
+ const result = await common_vendor.es.getGroupApplicationList();
+ const currentGroupApplicationList = result.data.applicationList.filter((application) => application.groupID === props.groupID);
+ return currentGroupApplicationList;
+ }
+ function toggleGroupApplicationDrawerShow() {
+ isGroupApplicationDrawerShow.value = !isGroupApplicationDrawerShow.value;
+ }
+ async function generateCustomGroupApplicationList() {
+ const applicationList = await getCurrentGroupApplicationList();
+ if (applicationList.length === 0) {
+ return [];
+ }
+ const userIDList = applicationList.map((application) => application.applicationType === 0 ? application.applicant : application.userID);
+ const { data: userProfileList } = await common_vendor.Zt.getUserProfile({ userIDList });
+ const mappingFromUserID2Profile = {};
+ userProfileList.forEach((profile) => {
+ mappingFromUserID2Profile[profile.userID] = profile;
+ });
+ const groupApplicationList = applicationList.map((application) => {
+ const profile = mappingFromUserID2Profile[application.applicationType === 0 ? application.applicant : application.userID];
+ return {
+ nick: profile.nick || profile.userID || "anonymous",
+ avatar: profile.avatar || "",
+ isRemoved: false,
+ application
+ };
+ });
+ return groupApplicationList;
+ }
+ function handleApplication(customApplication, action, index) {
+ common_vendor.es.handleGroupApplication({
+ handleAction: action,
+ application: customApplication.application
+ }).then(() => {
+ customGroupApplicationList.value[index].isRemoved = true;
+ setTimeout(() => {
+ customGroupApplicationList.value.splice(index, 1);
+ groupApplicationCount.value -= 1;
+ }, 150);
+ }).catch(() => {
+ });
+ }
+ common_vendor.onMounted(() => {
+ getCurrentGroupApplicationList().then((applicationList) => {
+ groupApplicationCount.value = applicationList.length;
+ });
+ common_vendor.Jt.watch(common_vendor.o.GRP, {
+ groupSystemNoticeList: onGroupSystemNoticeListUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.GRP, {
+ groupSystemNoticeList: onGroupSystemNoticeListUpdated
+ });
+ });
+ function onGroupSystemNoticeListUpdated() {
+ generateCustomGroupApplicationList().then((list) => {
+ customGroupApplicationList.value = list;
+ groupApplicationCount.value = list.length;
+ });
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(groupApplicationCount) > 0
+ }, common_vendor.unref(groupApplicationCount) > 0 ? {
+ b: common_vendor.t(common_vendor.unref(groupApplicationCount)),
+ c: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.条入群申请")),
+ d: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.点击处理")),
+ e: common_vendor.o$1(toggleGroupApplicationDrawerShow)
+ } : {}, {
+ f: common_vendor.unref(TUIKit_utils_env.isPC)
+ }, common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ g: common_vendor.p({
+ file: common_vendor.unref(common_assets.closeIcon$1),
+ size: "16px"
+ })
+ } : {
+ h: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("关闭"))
+ }, {
+ i: common_vendor.o$1(toggleGroupApplicationDrawerShow),
+ j: common_vendor.f(common_vendor.unref(customGroupApplicationList), (item, index, i0) => {
+ return {
+ a: "4c42d719-2-" + i0 + ",4c42d719-0",
+ b: common_vendor.p({
+ url: item.avatar,
+ useSkeletonAnimation: true
+ }),
+ c: common_vendor.t(item.nick),
+ d: common_vendor.o$1(($event) => handleApplication(item, "Agree", index), item.nick),
+ e: common_vendor.o$1(($event) => handleApplication(item, "Reject", index), item.nick),
+ f: item.nick,
+ g: item.isRemoved ? 1 : ""
+ };
+ }),
+ k: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.申请加入")),
+ l: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.同意")),
+ m: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.拒绝")),
+ n: common_vendor.sr(drawerDomInstanceRef, "4c42d719-0", {
+ "k": "drawerDomInstanceRef"
+ }),
+ o: common_vendor.o$1(toggleGroupApplicationDrawerShow),
+ p: common_vendor.p({
+ visible: common_vendor.unref(isGroupApplicationDrawerShow),
+ zIndex: 998,
+ popDirection: common_vendor.unref(TUIKit_utils_env.isMobile) ? "bottom" : "right",
+ isFullScreen: common_vendor.unref(TUIKit_utils_env.isMobile),
+ overlayColor: common_vendor.unref(TUIKit_utils_env.isMobile) ? void 0 : "transparent",
+ drawerStyle: {
+ bottom: {
+ minHeight: "60vh",
+ maxHeight: "80vh",
+ borderRadius: "12px 12px 0 0"
+ },
+ right: {
+ width: "360px",
+ borderRadius: "12px 0 0 12px",
+ boxShadow: "0 0 10px 0 #d0d0d0"
+ }
+ }
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-4c42d719"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.json
new file mode 100644
index 0000000..5326c1c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon",
+ "avatar": "../../../common/Avatar/index",
+ "drawer": "../../../common/Drawer/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.wxml
new file mode 100644
index 0000000..c2d793e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.wxml
@@ -0,0 +1 @@
+{{b}}{{c}} {{d}} {{item.c}} {{k}} {{l}} {{m}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.wxss
new file mode 100644
index 0000000..fb479fc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-group-application/index.wxss
@@ -0,0 +1,109 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-4c42d719:not(not) {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-width: 0;
+}
+.flex-row.data-v-4c42d719 {
+ flex-direction: row;
+}
+.application-tips.data-v-4c42d719 {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ width: 100%;
+ padding: 5px 0;
+ font-size: 14px;
+ background-color: #fce4d3;
+}
+.application-tips .application-tips-btn.data-v-4c42d719 {
+ color: #006eff;
+ cursor: pointer;
+ margin-left: 12px;
+}
+.application-contaienr.data-v-4c42d719 {
+ padding: 50px 18px 10px;
+ background-color: #fff;
+ height: 100%;
+ overflow: hidden auto;
+ font-size: 14px;
+}
+.application-contaienr .application-header.data-v-4c42d719 {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ padding: 10px 20px;
+ flex-direction: row-reverse;
+ color: #679ce1;
+ font-size: 14px;
+}
+.application-contaienr .application-item.data-v-4c42d719 {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ padding: 10px 0;
+ transition: transform 0.15s ease-out;
+}
+.application-contaienr .application-item + .application-item.data-v-4c42d719 {
+ border-top: 0.5px solid #d0d0d0;
+}
+.application-contaienr .application-item .application-item-info.data-v-4c42d719 {
+ margin-left: 8px;
+ margin-right: 8px;
+ font-size: 14px;
+}
+.application-contaienr .application-item .application-item-info .application-item-nick.data-v-4c42d719 {
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.application-contaienr .application-item .application-item-info .application-item-note.data-v-4c42d719 {
+ color: #989191;
+ font-size: 12px;
+}
+.application-contaienr .application-item .application-item-operation.data-v-4c42d719 {
+ flex-direction: row;
+ margin-left: auto;
+ padding: 8px;
+ flex: 0 0 auto;
+ font-size: 14px;
+}
+.application-contaienr .application-item .application-item-operation .agree.data-v-4c42d719 {
+ color: #679ce1;
+ cursor: pointer;
+}
+.application-contaienr .application-item .application-item-operation .reject.data-v-4c42d719 {
+ margin-left: 12px;
+ color: #fb355d;
+ cursor: pointer;
+}
+.application-contaienr .removed.data-v-4c42d719 {
+ transform: translateX(-100%);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.js
new file mode 100644
index 0000000..626fcaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.js
@@ -0,0 +1,321 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_components_common_Toast_index = require("../../../common/Toast/index.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_utils_enableSampleTaskStatus = require("../../../../utils/enableSampleTaskStatus.js");
+const TUIKit_components_TUIChat_emojiConfig_index = require("../../emoji-config/index.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+const TUIKit_components_TUIChat_config = require("../../config.js");
+const TUIKit_components_common_Toast_type = require("../../../common/Toast/type.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ messageItem: { default: () => ({}) },
+ isMultipleSelectMode: { type: Boolean, default: false }
+ },
+ emits: ["toggleMultipleSelectMode"],
+ setup(__props, { expose: __expose, emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const featureConfig = TUIKit_components_TUIChat_config.ChatConfig.getFeatureConfig();
+ const TYPES = common_vendor.qt.TYPES;
+ const actionItems = common_vendor.ref([
+ {
+ key: "open",
+ text: common_vendor.Wt.t("TUIChat.打开"),
+ iconUrl: common_assets.copyIcon,
+ renderCondition() {
+ var _a;
+ if (!featureConfig.DownloadFile || !message.value)
+ return false;
+ return TUIKit_utils_env.isPC && (((_a = message.value) == null ? void 0 : _a.type) === TYPES.MSG_FILE || message.value.type === TYPES.MSG_VIDEO || message.value.type === TYPES.MSG_IMAGE);
+ },
+ clickEvent: openMessage
+ },
+ {
+ key: "copy",
+ text: common_vendor.Wt.t("TUIChat.复制"),
+ iconUrl: common_assets.copyIcon,
+ renderCondition() {
+ if (!featureConfig.CopyMessage || !message.value)
+ return false;
+ return message.value.type === TYPES.MSG_TEXT;
+ },
+ clickEvent: copyMessage
+ },
+ {
+ key: "revoke",
+ text: common_vendor.Wt.t("TUIChat.撤回"),
+ iconUrl: common_assets.revokeIcon,
+ renderCondition() {
+ if (!featureConfig.RevokeMessage || !message.value)
+ return false;
+ return message.value.flow === "out" && message.value.status === "success";
+ },
+ clickEvent: revokeMessage
+ },
+ {
+ key: "delete",
+ text: common_vendor.Wt.t("TUIChat.删除"),
+ iconUrl: common_assets.delIcon,
+ renderCondition() {
+ if (!featureConfig.DeleteMessage || !message.value)
+ return false;
+ return message.value.status === "success";
+ },
+ clickEvent: deleteMessage
+ },
+ {
+ key: "forward",
+ text: common_vendor.Wt.t("TUIChat.转发"),
+ iconUrl: common_assets.forwardIcon,
+ renderCondition() {
+ if (!featureConfig.ForwardMessage || !message.value)
+ return false;
+ return message.value.status === "success";
+ },
+ clickEvent: forwardSingleMessage
+ },
+ {
+ key: "quote",
+ text: common_vendor.Wt.t("TUIChat.引用"),
+ iconUrl: common_assets.quoteIcon,
+ renderCondition() {
+ if (!featureConfig.QuoteMessage || !message.value)
+ return false;
+ const _message = common_vendor.Jt.getMessageModel(message.value.ID);
+ return message.value.status === "success" && !_message.getSignalingInfo();
+ },
+ clickEvent: quoteMessage
+ },
+ {
+ key: "translate",
+ text: common_vendor.Wt.t("TUIChat.翻译"),
+ visible: false,
+ iconUrl: common_assets.translateIcon,
+ renderCondition() {
+ if (!featureConfig.TranslateMessage || !message.value)
+ return false;
+ return message.value.status === "success" && message.value.type === TYPES.MSG_TEXT;
+ },
+ clickEvent: translateMessage
+ },
+ {
+ key: "convert",
+ text: common_vendor.Wt.t("TUIChat.转文字"),
+ visible: false,
+ iconUrl: common_assets.convertText,
+ renderCondition() {
+ if (!featureConfig.VoiceToText || !message.value)
+ return false;
+ return message.value.status === "success" && message.value.type === TYPES.MSG_AUDIO;
+ },
+ clickEvent: convertVoiceToText
+ },
+ {
+ key: "multi-select",
+ text: common_vendor.Wt.t("TUIChat.多选"),
+ iconUrl: common_assets.multipleSelectIcon,
+ renderCondition() {
+ if (!featureConfig.MultiSelection || !message.value)
+ return false;
+ return message.value.status === "success";
+ },
+ clickEvent: multipleSelectMessage
+ }
+ ]);
+ const message = common_vendor.ref();
+ const messageToolDom = common_vendor.ref();
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CHAT, {
+ translateTextInfo: onMessageTranslationInfoUpdated,
+ voiceToTextInfo: onMessageConvertInfoUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CHAT, {
+ translateTextInfo: onMessageTranslationInfoUpdated,
+ voiceToTextInfo: onMessageConvertInfoUpdated
+ });
+ });
+ common_vendor.watchEffect(() => {
+ message.value = common_vendor.Jt.getMessageModel(props.messageItem.ID);
+ });
+ const isAllActionItemInvalid = common_vendor.computed(() => {
+ for (let i = 0; i < actionItems.value.length; ++i) {
+ if (actionItems.value[i].renderCondition()) {
+ return false;
+ }
+ }
+ return true;
+ });
+ function getFunction(index) {
+ actionItems.value[index].clickEvent();
+ }
+ function openMessage() {
+ var _a;
+ let url = "";
+ switch ((_a = message.value) == null ? void 0 : _a.type) {
+ case common_vendor.qt.TYPES.MSG_FILE:
+ url = message.value.payload.fileUrl;
+ break;
+ case common_vendor.qt.TYPES.MSG_VIDEO:
+ url = message.value.payload.remoteVideoUrl;
+ break;
+ case common_vendor.qt.TYPES.MSG_IMAGE:
+ url = message.value.payload.imageInfoArray[0].url;
+ break;
+ }
+ window == null ? void 0 : window.open(url, "_blank");
+ }
+ function revokeMessage() {
+ if (!message.value)
+ return;
+ const messageModel = common_vendor.Jt.getMessageModel(message.value.ID);
+ messageModel.revokeMessage().then(() => {
+ TUIKit_utils_enableSampleTaskStatus.enableSampleTaskStatus("revokeMessage");
+ }).catch((error) => {
+ if (error.code === 20016 || error.code === 10031) {
+ const message2 = common_vendor.Wt.t("TUIChat.已过撤回时限");
+ TUIKit_components_common_Toast_index.Toast({
+ message: message2,
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ }
+ });
+ }
+ function deleteMessage() {
+ if (!message.value)
+ return;
+ const messageModel = common_vendor.Jt.getMessageModel(message.value.ID);
+ messageModel.deleteMessage();
+ }
+ async function copyMessage() {
+ var _a, _b, _c;
+ if (TUIKit_utils_env.isUniFrameWork) {
+ (_c = common_vendor.i) == null ? void 0 : _c.setClipboardData({
+ data: TUIKit_components_TUIChat_emojiConfig_index.transformTextWithKeysToEmojiNames((_b = (_a = message.value) == null ? void 0 : _a.payload) == null ? void 0 : _b.text)
+ });
+ }
+ }
+ function beforeCopy(key) {
+ if (key !== "copy" || TUIKit_utils_env.isH5) {
+ return;
+ }
+ }
+ function forwardSingleMessage() {
+ if (!message.value)
+ return;
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "singleForwardMessageID", message.value.ID);
+ }
+ function quoteMessage() {
+ if (!message.value)
+ return;
+ message.value.quoteMessage();
+ }
+ function translateMessage() {
+ const enable = common_vendor.Jt.getData(common_vendor.o.APP, "enabledTranslationPlugin");
+ if (!enable) {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIChat.请开通翻译功能"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.WARNING
+ });
+ return;
+ }
+ if (!message.value)
+ return;
+ const index = actionItems.value.findIndex((item) => item.key === "translate");
+ common_vendor.Jt.update(common_vendor.o.CHAT, "translateTextInfo", {
+ conversationID: message.value.conversationID,
+ messageID: message.value.ID,
+ visible: !actionItems.value[index].visible
+ });
+ }
+ function convertVoiceToText() {
+ const enable = common_vendor.Jt.getData(common_vendor.o.APP, "enabledVoiceToText");
+ if (!enable) {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIChat.请开通语音转文字功能")
+ });
+ return;
+ }
+ if (!message.value)
+ return;
+ const index = actionItems.value.findIndex((item) => item.key === "convert");
+ common_vendor.Jt.update(common_vendor.o.CHAT, "voiceToTextInfo", {
+ conversationID: message.value.conversationID,
+ messageID: message.value.ID,
+ visible: !actionItems.value[index].visible
+ });
+ }
+ function multipleSelectMessage() {
+ emits("toggleMultipleSelectMode");
+ }
+ function onMessageTranslationInfoUpdated(info) {
+ if (info === void 0)
+ return;
+ const translationInfoList = info.get(props.messageItem.conversationID) || [];
+ const idx = actionItems.value.findIndex((item) => item.key === "translate");
+ for (let i = 0; i < translationInfoList.length; ++i) {
+ const { messageID, visible } = translationInfoList[i];
+ if (messageID === props.messageItem.ID) {
+ actionItems.value[idx].text = common_vendor.Wt.t(visible ? "TUIChat.隐藏" : "TUIChat.翻译");
+ actionItems.value[idx].visible = !!visible;
+ return;
+ }
+ }
+ actionItems.value[idx].text = common_vendor.Wt.t("TUIChat.翻译");
+ }
+ function onMessageConvertInfoUpdated(info) {
+ if (info === void 0)
+ return;
+ const convertInfoList = info.get(props.messageItem.conversationID) || [];
+ const idx = actionItems.value.findIndex((item) => item.key === "convert");
+ for (let i = 0; i < convertInfoList.length; ++i) {
+ const { messageID, visible } = convertInfoList[i];
+ if (messageID === props.messageItem.ID) {
+ actionItems.value[idx].text = common_vendor.Wt.t(visible ? "TUIChat.隐藏" : "TUIChat.转文字");
+ actionItems.value[idx].visible = !!visible;
+ return;
+ }
+ }
+ actionItems.value[idx].text = common_vendor.Wt.t("TUIChat.转文字");
+ }
+ __expose({
+ messageToolDom
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(isAllActionItemInvalid) && !_ctx.messageItem.hasRiskContent
+ }, !common_vendor.unref(isAllActionItemInvalid) && !_ctx.messageItem.hasRiskContent ? common_vendor.e({
+ b: common_vendor.unref(featureConfig).EmojiReaction
+ }, common_vendor.unref(featureConfig).EmojiReaction ? {} : {}, {
+ c: common_vendor.f(common_vendor.unref(actionItems), (item, index, i0) => {
+ return common_vendor.e({
+ a: item.renderCondition()
+ }, item.renderCondition() ? {
+ b: "a62b3471-0-" + i0,
+ c: common_vendor.p({
+ file: item.iconUrl,
+ size: "15px"
+ }),
+ d: common_vendor.t(item.text),
+ e: item.key,
+ f: common_vendor.o$1(($event) => getFunction(index), item.key),
+ g: common_vendor.o$1(($event) => beforeCopy(item.key), item.key)
+ } : {});
+ }),
+ d: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) ? "dialog-item-list-h5" : "dialog-item-list-web"),
+ e: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) ? "dialog-item-h5" : "dialog-item-web")
+ }) : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-a62b3471"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.json
new file mode 100644
index 0000000..e4996d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.wxml
new file mode 100644
index 0000000..63708ef
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.wxml
@@ -0,0 +1 @@
+{{item.d}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.wxss
new file mode 100644
index 0000000..5f3de7e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/index.wxss
@@ -0,0 +1,120 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-a62b3471, div.data-v-a62b3471, ul.data-v-a62b3471, ol.data-v-a62b3471, dt.data-v-a62b3471, dd.data-v-a62b3471, li.data-v-a62b3471, dl.data-v-a62b3471, h1.data-v-a62b3471, h2.data-v-a62b3471, h3.data-v-a62b3471, h4.data-v-a62b3471, p.data-v-a62b3471 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-a62b3471, ul.data-v-a62b3471, li.data-v-a62b3471 {
+ list-style: none;
+}
+img.data-v-a62b3471 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-a62b3471 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-a62b3471 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-a62b3471 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-a62b3471:hover {
+ text-decoration: none;
+}
+input.data-v-a62b3471, textarea.data-v-a62b3471 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-a62b3471:focus, input.data-v-a62b3471:active, textarea.data-v-a62b3471:focus, textarea.data-v-a62b3471:active {
+ outline: none;
+}
+.chat-aside.data-v-a62b3471 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.dialog-item-web.data-v-a62b3471, .dialog-item-h5.data-v-a62b3471 {
+ background: #fff;
+ border-radius: 8px;
+ border: 1px solid #e0e0e0;
+ padding: 12px 0;
+}
+.dialog-item-web .dialog-item-list.data-v-a62b3471, .dialog-item-h5 .dialog-item-list.data-v-a62b3471 {
+ display: flex;
+ align-items: baseline;
+ white-space: nowrap;
+ flex-wrap: wrap;
+ max-width: 280px;
+}
+.dialog-item-web .dialog-item-list .list-item.data-v-a62b3471, .dialog-item-h5 .dialog-item-list .list-item.data-v-a62b3471 {
+ padding: 4px 12px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+.dialog-item-web .dialog-item-list .list-item .list-item-text.data-v-a62b3471, .dialog-item-h5 .dialog-item-list .list-item .list-item-text.data-v-a62b3471 {
+ padding-left: 4px;
+ font-size: 12px;
+ line-height: 17px;
+ color: #000;
+}
+.dialog-item-h5.data-v-a62b3471 {
+ padding: 0;
+}
+.dialog-item-h5 .dialog-item-list.data-v-a62b3471 {
+ margin: 10px;
+ white-space: nowrap;
+ flex-wrap: wrap;
+ max-width: 280px;
+}
+.dialog-item-h5 .dialog-item-list .list-item.data-v-a62b3471 {
+ padding: 0 8px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ color: #4f4f4f;
+}
+.dialog-item-h5 .dialog-item-list .list-item .list-item-text.data-v-a62b3471 {
+ padding-left: 0;
+ color: #000;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.js
new file mode 100644
index 0000000..d153ef9
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.js
@@ -0,0 +1,51 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-revoked",
+ props: {
+ isEdit: {
+ type: Boolean,
+ default: () => false
+ },
+ messageItem: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ emits: ["messageEdit"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const message = common_vendor.ref();
+ const isEditMsg = common_vendor.ref(false);
+ const emits = __emit;
+ common_vendor.watchEffect(() => {
+ message.value = props.messageItem;
+ isEditMsg.value = props.isEdit;
+ });
+ const messageEdit = () => {
+ emits("messageEdit");
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(message).flow === "in"
+ }, common_vendor.unref(message).flow === "in" ? {
+ b: common_vendor.t(common_vendor.unref(message).nick || common_vendor.unref(message).from)
+ } : common_vendor.unref(message).from === common_vendor.unref(message).revoker ? {
+ d: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.您"))
+ } : {
+ e: common_vendor.t(common_vendor.unref(message).revoker)
+ }, {
+ c: common_vendor.unref(message).from === common_vendor.unref(message).revoker,
+ f: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.撤回了一条消息")),
+ g: common_vendor.unref(message).flow === "out" && common_vendor.unref(isEditMsg)
+ }, common_vendor.unref(message).flow === "out" && common_vendor.unref(isEditMsg) ? {
+ h: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.重新编辑")),
+ i: common_vendor.o$1(messageEdit)
+ } : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e1a956f2"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.wxml
new file mode 100644
index 0000000..acb408c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.wxml
@@ -0,0 +1 @@
+{{b}} {{d}} {{e}} {{f}} {{h}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.wxss
new file mode 100644
index 0000000..861e0cc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/message-tool/message-revoked.wxss
@@ -0,0 +1,88 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-e1a956f2, div.data-v-e1a956f2, ul.data-v-e1a956f2, ol.data-v-e1a956f2, dt.data-v-e1a956f2, dd.data-v-e1a956f2, li.data-v-e1a956f2, dl.data-v-e1a956f2, h1.data-v-e1a956f2, h2.data-v-e1a956f2, h3.data-v-e1a956f2, h4.data-v-e1a956f2, p.data-v-e1a956f2 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-e1a956f2, ul.data-v-e1a956f2, li.data-v-e1a956f2 {
+ list-style: none;
+}
+img.data-v-e1a956f2 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-e1a956f2 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-e1a956f2 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-e1a956f2 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-e1a956f2:hover {
+ text-decoration: none;
+}
+input.data-v-e1a956f2, textarea.data-v-e1a956f2 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-e1a956f2:focus, input.data-v-e1a956f2:active, textarea.data-v-e1a956f2:focus, textarea.data-v-e1a956f2:active {
+ outline: none;
+}
+.chat-aside.data-v-e1a956f2 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.revoke.data-v-e1a956f2 {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ color: #999;
+ font-size: 12px;
+ margin-bottom: 10px;
+ white-space: pre;
+}
+.revoke .edit.data-v-e1a956f2 {
+ padding: 0 5px;
+ color: #006eff;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.js
new file mode 100644
index 0000000..16555d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.js
@@ -0,0 +1,229 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+if (!Math) {
+ (Icon + Avatar + FetchMore + Overlay)();
+}
+const Icon = () => "../../../common/Icon.js";
+const Overlay = () => "../../../common/Overlay/index.js";
+const Avatar = () => "../../../common/Avatar/index.js";
+const FetchMore = () => "../../../common/FetchMore/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ message: { default: () => ({}) }
+ },
+ emits: ["setReadReceiptPanelVisible"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ let lastUnreadCursor = "";
+ let lastReadCursor = "";
+ const tabNameList = ["unread", "read"];
+ const isListFetchCompleted = {
+ unread: false,
+ read: false,
+ close: false
+ };
+ const isPullDownFetching = common_vendor.ref(false);
+ const isPanelClose = common_vendor.ref(false);
+ const isFirstLoadFinished = common_vendor.ref(false);
+ const isStopFetchMore = common_vendor.ref(false);
+ const currentTabName = common_vendor.ref("unread");
+ const tabInfo = common_vendor.ref(generateInitalTabInfo());
+ common_vendor.onMounted(async () => {
+ await initAndRefetchReceiptInfomation();
+ common_vendor.nextTick$1(() => {
+ isFirstLoadFinished.value = true;
+ });
+ });
+ common_vendor.watch(
+ () => props.message.readReceiptInfo.readCount,
+ () => {
+ initAndRefetchReceiptInfomation();
+ }
+ );
+ async function fetchGroupMessageRecriptMemberListByType(readType = "all") {
+ const message = common_vendor.Jt.getMessageModel(props.message.ID);
+ let unreadResult = {};
+ let readResult = {};
+ if (readType === "all" || readType === "unread") {
+ unreadResult = await common_vendor.Qt.getGroupMessageReadMemberList({
+ message,
+ filter: 1,
+ cursor: lastUnreadCursor,
+ count: 100
+ });
+ if (unreadResult) {
+ lastUnreadCursor = unreadResult.data.cursor;
+ if (unreadResult.data.isCompleted) {
+ isListFetchCompleted.unread = true;
+ }
+ }
+ }
+ if (readType === "all" || readType === "read") {
+ readResult = await common_vendor.Qt.getGroupMessageReadMemberList({
+ message,
+ filter: 0,
+ cursor: lastReadCursor,
+ count: 100
+ });
+ if (readResult) {
+ lastReadCursor = readResult.data.cursor;
+ if (readResult.data.isCompleted) {
+ isListFetchCompleted.read = true;
+ }
+ }
+ }
+ const { unreadCount: totalUnreadCount, readCount: totalReadCount } = message.readReceiptInfo;
+ return {
+ unreadResult: {
+ count: totalUnreadCount,
+ ...unreadResult.data
+ },
+ readResult: {
+ count: totalReadCount,
+ ...readResult.data
+ }
+ };
+ }
+ async function pullDownFetchMoreData() {
+ if (isListFetchCompleted[currentTabName.value] || isPullDownFetching.value) {
+ return;
+ }
+ isPullDownFetching.value = true;
+ if (currentTabName.value === "unread" || currentTabName.value === "read") {
+ const { unreadResult, readResult } = await fetchGroupMessageRecriptMemberListByType(currentTabName.value);
+ checkStopFetchMore();
+ try {
+ tabInfo.value.unread.memberList = tabInfo.value.unread.memberList.concat(unreadResult.unreadUserInfoList || []);
+ tabInfo.value.read.memberList = tabInfo.value.read.memberList.concat(readResult.readUserInfoList || []);
+ } finally {
+ isPullDownFetching.value = false;
+ }
+ }
+ }
+ async function initAndRefetchReceiptInfomation() {
+ lastUnreadCursor = "";
+ lastReadCursor = "";
+ isStopFetchMore.value = false;
+ isListFetchCompleted.unread = false;
+ isListFetchCompleted.read = false;
+ const { unreadResult, readResult } = await fetchGroupMessageRecriptMemberListByType("all");
+ checkStopFetchMore();
+ resetTabInfo("read", readResult.count, readResult.readUserInfoList);
+ resetTabInfo("unread", unreadResult.count, unreadResult.unreadUserInfoList);
+ resetTabInfo("close");
+ }
+ function checkStopFetchMore() {
+ if (isListFetchCompleted.read && isListFetchCompleted.unread) {
+ isStopFetchMore.value = true;
+ }
+ }
+ function resetTabInfo(tabName, count, memberList) {
+ tabInfo.value[tabName].count = count;
+ tabInfo.value[tabName].memberList = memberList || [];
+ }
+ function generateInitalTabInfo() {
+ return {
+ read: {
+ tabName: common_vendor.Wt.t("TUIChat.已读"),
+ count: void 0,
+ memberList: []
+ },
+ unread: {
+ tabName: common_vendor.Wt.t("TUIChat.未读"),
+ count: void 0,
+ memberList: []
+ },
+ close: {
+ tabName: common_vendor.Wt.t("TUIChat.关闭"),
+ count: void 0,
+ memberList: []
+ }
+ };
+ }
+ function toggleTabName(tabName) {
+ currentTabName.value = tabName;
+ }
+ function closeReadReceiptPanel() {
+ isPanelClose.value = true;
+ setTimeout(() => {
+ emits("setReadReceiptPanelVisible", false);
+ }, 200);
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.消息详情")),
+ b: common_vendor.o$1(closeReadReceiptPanel),
+ c: common_vendor.p({
+ size: "12px",
+ hotAreaSize: "8",
+ file: common_vendor.unref(common_assets.closeIcon$2)
+ }),
+ d: common_vendor.f(tabNameList, (tabName, k0, i0) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(tabInfo)[tabName].tabName),
+ b: common_vendor.t(common_vendor.unref(tabInfo)[tabName].count === void 0 ? "" : common_vendor.unref(tabInfo)[tabName].count),
+ c: tabName,
+ d: tabName === common_vendor.unref(currentTabName) ? 1 : "",
+ e: common_vendor.o$1(($event) => toggleTabName(tabName), tabName)
+ };
+ }),
+ e: common_vendor.unref(tabInfo)[common_vendor.unref(currentTabName)].count === 0 && common_vendor.unref(isFirstLoadFinished)
+ }, common_vendor.unref(tabInfo)[common_vendor.unref(currentTabName)].count === 0 && common_vendor.unref(isFirstLoadFinished) ? {
+ f: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.空"))
+ } : common_vendor.unref(isFirstLoadFinished) ? common_vendor.e({
+ h: common_vendor.unref(currentTabName) === "unread"
+ }, common_vendor.unref(currentTabName) === "unread" ? {
+ i: common_vendor.f(common_vendor.unref(tabInfo)[common_vendor.unref(currentTabName)].memberList, (item, k0, i0) => {
+ return {
+ a: "8316d693-2-" + i0 + ",8316d693-0",
+ b: common_vendor.p({
+ useSkeletonAnimation: true,
+ url: item.avatar || ""
+ }),
+ c: common_vendor.t(item.nick || item.userID),
+ d: item.userID
+ };
+ })
+ } : {}, {
+ j: common_vendor.unref(currentTabName) === "read"
+ }, common_vendor.unref(currentTabName) === "read" ? {
+ k: common_vendor.f(common_vendor.unref(tabInfo)[common_vendor.unref(currentTabName)].memberList, (item, k0, i0) => {
+ return {
+ a: "8316d693-3-" + i0 + ",8316d693-0",
+ b: common_vendor.p({
+ useSkeletonAnimation: true,
+ url: item.avatar
+ }),
+ c: common_vendor.t(item.nick || item.userID),
+ d: item.userID
+ };
+ })
+ } : {}) : {}, {
+ g: common_vendor.unref(isFirstLoadFinished),
+ l: common_vendor.unref(isFirstLoadFinished)
+ }, common_vendor.unref(isFirstLoadFinished) ? {
+ m: common_vendor.o$1(pullDownFetchMoreData),
+ n: common_vendor.p({
+ isFetching: common_vendor.unref(isPullDownFetching),
+ isTerminateObserve: common_vendor.unref(isStopFetchMore)
+ })
+ } : {}, {
+ o: common_vendor.unref(TUIKit_utils_env.isMobile) ? 1 : "",
+ p: common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? 1 : "",
+ q: common_vendor.unref(TUIKit_utils_env.isMobile) && common_vendor.unref(isPanelClose) ? 1 : "",
+ r: common_vendor.o$1(closeReadReceiptPanel),
+ s: common_vendor.p({
+ maskColor: "transparent"
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-8316d693"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.json
new file mode 100644
index 0000000..67cf8a0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon",
+ "overlay": "../../../common/Overlay/index",
+ "avatar": "../../../common/Avatar/index",
+ "fetch-more": "../../../common/FetchMore/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.wxml
new file mode 100644
index 0000000..c8c3090
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.wxml
@@ -0,0 +1 @@
+{{tabName.a}} {{tabName.b}} - {{f}} - {{item.c}} {{item.c}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.wxss
new file mode 100644
index 0000000..6678298
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/read-receipt-panel/index.wxss
@@ -0,0 +1,141 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-8316d693:not(not) {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-width: 0;
+}
+.read-receipt-panel.data-v-8316d693, .read-receipt-panel-mobile.data-v-8316d693 {
+ background-color: #fff;
+ box-shadow: 0 7px 20px rgba(0, 0, 0, 0.1);
+ width: 368px;
+ height: 510px;
+ padding: 30px 20px;
+ display: flex;
+ flex-direction: column;
+ border-radius: 8px;
+ overflow: hidden;
+}
+.read-receipt-panel .header.data-v-8316d693, .read-receipt-panel-mobile .header.data-v-8316d693 {
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ position: relative;
+}
+.read-receipt-panel .header .header-text.data-v-8316d693, .read-receipt-panel-mobile .header .header-text.data-v-8316d693 {
+ font-weight: bold;
+ font-size: 16px;
+ line-height: 30px;
+ color: #333;
+}
+.read-receipt-panel .header .header-close-icon.data-v-8316d693, .read-receipt-panel-mobile .header .header-close-icon.data-v-8316d693 {
+ position: absolute;
+ right: 0;
+ margin-right: 10px;
+}
+.read-receipt-panel .read-status-counter-container.data-v-8316d693, .read-receipt-panel-mobile .read-status-counter-container.data-v-8316d693 {
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: flex-start;
+ min-height: 59px;
+ margin: 20px 40px 17.5px;
+}
+.read-receipt-panel .read-status-counter-container .read-status-counter.data-v-8316d693, .read-receipt-panel-mobile .read-status-counter-container .read-status-counter.data-v-8316d693 {
+ justify-content: flex-start;
+ align-items: center;
+ cursor: pointer;
+ -webkit-tap-highlight-color: transparent;
+}
+.read-receipt-panel .read-status-counter-container .read-status-counter .status-text.data-v-8316d693, .read-receipt-panel-mobile .read-status-counter-container .read-status-counter .status-text.data-v-8316d693 {
+ font-size: 14px;
+ line-height: 20px;
+}
+.read-receipt-panel .read-status-counter-container .read-status-counter .status-count.data-v-8316d693, .read-receipt-panel-mobile .read-status-counter-container .read-status-counter .status-count.data-v-8316d693 {
+ margin-top: 2px;
+ font-size: 30px;
+ font-weight: bolder;
+ line-height: 37px;
+}
+.read-receipt-panel .read-status-counter-container .read-status-counter.active.data-v-8316d693, .read-receipt-panel-mobile .read-status-counter-container .read-status-counter.active.data-v-8316d693 {
+ color: #679ce1;
+}
+.read-receipt-panel .read-status-member-list.data-v-8316d693, .read-receipt-panel-mobile .read-status-member-list.data-v-8316d693 {
+ flex: 1 1 auto;
+ overflow: hidden auto;
+ padding: 20px 0 0;
+ border-top: 0.5px solid #e8e8e9;
+ font-size: 14px;
+}
+.read-receipt-panel .read-status-member-list .empty-list-tip.data-v-8316d693, .read-receipt-panel-mobile .read-status-member-list .empty-list-tip.data-v-8316d693 {
+ align-self: center;
+ color: #b3b3b3;
+}
+.read-receipt-panel .read-status-member-list .read-status-member-container.data-v-8316d693, .read-receipt-panel-mobile .read-status-member-list .read-status-member-container.data-v-8316d693 {
+ flex-direction: row;
+ align-items: center;
+}
+.read-receipt-panel .read-status-member-list .read-status-member-container .read-status-avatar.data-v-8316d693, .read-receipt-panel-mobile .read-status-member-list .read-status-member-container .read-status-avatar.data-v-8316d693 {
+ flex: 0 0 auto;
+}
+.read-receipt-panel .read-status-member-list .read-status-member-container .username.data-v-8316d693, .read-receipt-panel-mobile .read-status-member-list .read-status-member-container .username.data-v-8316d693 {
+ margin-left: 8px;
+ line-height: 20px;
+ flex: 0 1 auto;
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ word-break: break-all;
+ white-space: nowrap;
+}
+.read-receipt-panel .read-status-member-list .read-status-member-container + .read-status-member-container.data-v-8316d693, .read-receipt-panel-mobile .read-status-member-list .read-status-member-container + .read-status-member-container.data-v-8316d693 {
+ margin-top: 20px;
+}
+.read-receipt-panel .read-status-member-list .fetch-more-container.data-v-8316d693, .read-receipt-panel-mobile .read-status-member-list .fetch-more-container.data-v-8316d693 {
+ justify-content: center;
+ align-items: center;
+ margin-top: auto;
+}
+.read-receipt-panel-mobile.data-v-8316d693 {
+ box-shadow: none;
+ width: 100%;
+ height: 100%;
+ border-radius: 0;
+ animation: slide-in-from-right-8316d693 0.3s ease-out;
+ transition: transform 0.2s ease-out;
+}
+@keyframes slide-in-from-right-8316d693 {
+from {
+ transform: translateX(100%);
+}
+}
+.read-receipt-panel-uni.data-v-8316d693 {
+ width: 100vw;
+ height: 100vh;
+}
+.read-receipt-panel-close-mobile.data-v-8316d693 {
+ transform: translateX(100%);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.js
new file mode 100644
index 0000000..ec20faf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.js
@@ -0,0 +1,131 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_utils_typeCheck = require("../../../../utils/type-check.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ emits: ["scrollToLatestMessage"],
+ setup(__props, { expose: __expose, emit: __emit }) {
+ const emits = __emit;
+ const messageList = common_vendor.ref([]);
+ const currentConversationID = common_vendor.ref("");
+ const currentLastMessageTime = common_vendor.ref(0);
+ const newMessageCount = common_vendor.ref(0);
+ const isScrollOverOneScreen = common_vendor.ref(false);
+ const isExistLastMessage = common_vendor.ref(false);
+ const isScrollButtonVisible = common_vendor.ref(false);
+ const scrollButtonContent = common_vendor.computed(
+ () => newMessageCount.value ? `${newMessageCount.value}${common_vendor.Wt.t("TUIChat.条新消息")}` : common_vendor.Wt.t("TUIChat.回到最新位置")
+ );
+ common_vendor.watch(
+ () => [isScrollOverOneScreen.value, isExistLastMessage.value],
+ () => {
+ isScrollButtonVisible.value = isScrollOverOneScreen.value || isExistLastMessage.value;
+ if (!isScrollButtonVisible.value) {
+ resetNewMessageCount();
+ }
+ },
+ { immediate: true }
+ );
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CHAT, {
+ messageList: onMessageListUpdated,
+ newMessageList: onNewMessageListUpdated
+ });
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CHAT, {
+ messageList: onMessageListUpdated,
+ newMessageList: onNewMessageListUpdated
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdated
+ });
+ });
+ function isTypingMessage(message) {
+ var _a, _b;
+ return ((_b = TUIKit_utils_typeCheck.JSONToObject((_a = message.payload) == null ? void 0 : _a.data)) == null ? void 0 : _b.businessID) === "user_typing_status";
+ }
+ function onMessageListUpdated(newMessageList) {
+ var _a, _b;
+ messageList.value = newMessageList || [];
+ const lastMessage = (_b = messageList.value) == null ? void 0 : _b[((_a = messageList.value) == null ? void 0 : _a.length) - 1];
+ isExistLastMessage.value = !!(lastMessage && (lastMessage == null ? void 0 : lastMessage.time) < (currentLastMessageTime == null ? void 0 : currentLastMessageTime.value));
+ }
+ function onNewMessageListUpdated(newMessageList) {
+ if (Array.isArray(newMessageList) && isScrollButtonVisible.value) {
+ newMessageList.forEach((message) => {
+ if (message && message.conversationID === currentConversationID.value && !message.isDeleted && !message.isRevoked && !isTypingMessage(message)) {
+ newMessageCount.value += 1;
+ }
+ });
+ }
+ }
+ function onCurrentConversationUpdated(conversation) {
+ var _a;
+ if ((conversation == null ? void 0 : conversation.conversationID) !== currentConversationID.value) {
+ resetNewMessageCount();
+ }
+ currentConversationID.value = (conversation == null ? void 0 : conversation.conversationID) || "";
+ currentLastMessageTime.value = ((_a = conversation == null ? void 0 : conversation.lastMessage) == null ? void 0 : _a.lastTime) || 0;
+ }
+ async function judgeScrollOverOneScreen(e) {
+ var _a, _b, _c, _d, _e;
+ if (e.target) {
+ try {
+ const { height } = await common_vendor.T(`#${(_a = e.target) == null ? void 0 : _a.id}`, "messageList") || {};
+ const scrollHeight = ((_b = e.target) == null ? void 0 : _b.scrollHeight) || ((_c = e.detail) == null ? void 0 : _c.scrollHeight);
+ const scrollTop = ((_d = e.target) == null ? void 0 : _d.scrollTop) || ((_e = e.detail) == null ? void 0 : _e.scrollTop) || 0;
+ if (scrollHeight - scrollTop > 2 * height) {
+ isScrollOverOneScreen.value = true;
+ return;
+ }
+ isScrollOverOneScreen.value = false;
+ } catch (error) {
+ isScrollOverOneScreen.value = false;
+ }
+ }
+ }
+ function resetMessageSource() {
+ if (common_vendor.Jt.getData(common_vendor.o.CHAT, "messageSource") !== void 0) {
+ common_vendor.Jt.update(common_vendor.o.CHAT, "messageSource", void 0);
+ }
+ }
+ function resetNewMessageCount() {
+ newMessageCount.value = 0;
+ }
+ function scrollToMessageListBottom() {
+ resetMessageSource();
+ resetNewMessageCount();
+ emits("scrollToLatestMessage");
+ }
+ __expose({
+ judgeScrollOverOneScreen,
+ isScrollButtonVisible
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isScrollButtonVisible)
+ }, common_vendor.unref(isScrollButtonVisible) ? {
+ b: common_vendor.p({
+ width: "10px",
+ height: "10px",
+ file: common_vendor.unref(common_assets.doubleArrowIcon)
+ }),
+ c: common_vendor.t(common_vendor.unref(scrollButtonContent)),
+ d: common_vendor.o$1(scrollToMessageListBottom)
+ } : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-59f2ce7f"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.json
new file mode 100644
index 0000000..e4996d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.wxml
new file mode 100644
index 0000000..a743af6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.wxml
@@ -0,0 +1 @@
+{{c}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.wxss
new file mode 100644
index 0000000..83822dd
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/message-list/scroll-button/index.wxss
@@ -0,0 +1,48 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.scroll-button.data-v-59f2ce7f {
+ position: absolute;
+ bottom: 10px;
+ right: 10px;
+ width: 92px;
+ height: 28px;
+ background: #fff;
+ border: 1px solid #e0e0e0;
+ box-shadow: 0 4px 12px -5px rgba(0, 0, 0, 0.1);
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ border-radius: 3px;
+ cursor: pointer;
+ -webkit-tap-highlight-color: transparent;
+}
+.scroll-button-text.data-v-59f2ce7f {
+ font-family: PingFangSC-Regular, system-ui;
+ font-size: 10px;
+ color: #147aff;
+ margin-left: 3px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.js
new file mode 100644
index 0000000..df5436b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.js
@@ -0,0 +1,55 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ emits: ["oneByOneForwardMessage", "mergeForwardMessage", "toggleMultipleSelectMode"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const iconSize = common_vendor.ref(TUIKit_utils_env.isMobile ? "25px" : "30px");
+ function oneByOneForwardMessage() {
+ emits("oneByOneForwardMessage");
+ }
+ function mergeForwardMessage() {
+ emits("mergeForwardMessage");
+ }
+ function cancelMultipleSelect() {
+ emits("toggleMultipleSelectMode");
+ }
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.p({
+ file: common_vendor.unref(common_assets.ForwardEachIcon),
+ size: common_vendor.unref(iconSize)
+ }),
+ b: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.逐条转发")),
+ c: common_vendor.unref(TUIKit_utils_env.isMobile) ? 1 : "",
+ d: common_vendor.o$1(oneByOneForwardMessage),
+ e: common_vendor.p({
+ file: common_vendor.unref(common_assets.ForwardMergeIcon),
+ size: common_vendor.unref(iconSize)
+ }),
+ f: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.合并转发")),
+ g: common_vendor.unref(TUIKit_utils_env.isMobile) ? 1 : "",
+ h: common_vendor.o$1(mergeForwardMessage),
+ i: common_vendor.p({
+ file: common_vendor.unref(common_assets.AddIcon),
+ size: common_vendor.unref(iconSize)
+ }),
+ j: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.取消")),
+ k: common_vendor.unref(TUIKit_utils_env.isMobile) ? 1 : "",
+ l: common_vendor.o$1(cancelMultipleSelect),
+ m: common_vendor.unref(TUIKit_utils_env.isMobile) ? 1 : ""
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-65102b30"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.json
new file mode 100644
index 0000000..017f9cf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.wxml
new file mode 100644
index 0000000..29cef98
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.wxml
@@ -0,0 +1 @@
+{{b}} {{f}} {{j}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.wxss
new file mode 100644
index 0000000..688fc5a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/mulitple-select-panel/index.wxss
@@ -0,0 +1,59 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-65102b30:not(not) {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-width: 0;
+}
+.mulitple-select-panel.data-v-65102b30 {
+ height: 196px;
+ border-top: 1px solid #ebebeb;
+ flex-direction: row;
+ justify-content: space-around;
+ align-items: center;
+ background-color: #EBF0F6;
+}
+.mulitple-select-panel-mobile.data-v-65102b30 {
+ height: 64px;
+ padding-bottom: 15px;
+ flex-direction: row;
+ align-items: flex-end;
+}
+.forward-button.data-v-65102b30 {
+ justify-content: center;
+ align-items: center;
+}
+.forward-button-text.data-v-65102b30 {
+ margin-top: 8px;
+ font-size: 12px;
+}
+.forward-button-text-mobile.data-v-65102b30 {
+ margin-top: 2px;
+}
+.forward-button .cancel-button-icon.data-v-65102b30 {
+ transform: rotate(45deg);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/const.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/const.js
new file mode 100644
index 0000000..31c6369
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/const.js
@@ -0,0 +1,21 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const DEFAULT_DESC = {
+ [common_vendor.qt.TYPES.MSG_TEXT]: "[文本]",
+ [common_vendor.qt.TYPES.MSG_FACE]: "[动画表情]",
+ [common_vendor.qt.TYPES.MSG_IMAGE]: "[图片]",
+ [common_vendor.qt.TYPES.MSG_FILE]: "[文件]",
+ [common_vendor.qt.TYPES.MSG_AUDIO]: "[语音]",
+ [common_vendor.qt.TYPES.MSG_VIDEO]: "[视频]",
+ [common_vendor.qt.TYPES.MSG_LOCATION]: "[地理位置]",
+ [common_vendor.qt.TYPES.MSG_MERGER]: "[聊天记录]",
+ [common_vendor.qt.TYPES.MSG_CUSTOM]: "[自定义消息]"
+};
+var PUSH_SCENE = /* @__PURE__ */ ((PUSH_SCENE2) => {
+ PUSH_SCENE2["CHAT"] = "chat";
+ PUSH_SCENE2["CALL"] = "call";
+ return PUSH_SCENE2;
+})(PUSH_SCENE || {});
+exports.DEFAULT_DESC = DEFAULT_DESC;
+exports.PUSH_SCENE = PUSH_SCENE;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/const.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/index.js
new file mode 100644
index 0000000..605aa70
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/index.js
@@ -0,0 +1,6 @@
+"use strict";
+const TUIKit_components_TUIChat_offlinePushInfoManager_offlinePushInfoManager = require("./offlinePushInfoManager.js");
+require("./const.js");
+const OfflinePushInfoManager = TUIKit_components_TUIChat_offlinePushInfoManager_offlinePushInfoManager.OfflinePushInfoManager.getInstance();
+exports.OfflinePushInfoManager = OfflinePushInfoManager;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/info.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/info.js
new file mode 100644
index 0000000..a6ccdc2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/info.js
@@ -0,0 +1,9 @@
+"use strict";
+const chatOfflinePushInfo = {
+ androidInfo: {},
+ apnsInfo: {}
+};
+const callOfflinePushInfo = {};
+exports.callOfflinePushInfo = callOfflinePushInfo;
+exports.chatOfflinePushInfo = chatOfflinePushInfo;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/info.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/interface.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/interface.js
new file mode 100644
index 0000000..96d85fd
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/interface.js
@@ -0,0 +1,2 @@
+"use strict";
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/interface.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/offlinePushInfoManager.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/offlinePushInfoManager.js
new file mode 100644
index 0000000..683a483
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/offlinePushInfoManager.js
@@ -0,0 +1,67 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_components_TUIChat_emojiConfig_index = require("../emoji-config/index.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_info = require("./info.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_const = require("./const.js");
+const _OfflinePushInfoManager = class _OfflinePushInfoManager {
+ constructor() {
+ this.name = "OfflinePushInfoManager";
+ this.offlinePushInfo = {};
+ this.offlinePushInfo = {
+ [TUIKit_components_TUIChat_offlinePushInfoManager_const.PUSH_SCENE.CHAT]: TUIKit_components_TUIChat_offlinePushInfoManager_info.chatOfflinePushInfo,
+ [TUIKit_components_TUIChat_offlinePushInfoManager_const.PUSH_SCENE.CALL]: TUIKit_components_TUIChat_offlinePushInfoManager_info.callOfflinePushInfo
+ };
+ }
+ static getInstance() {
+ if (!_OfflinePushInfoManager.instance) {
+ _OfflinePushInfoManager.instance = new _OfflinePushInfoManager();
+ }
+ return _OfflinePushInfoManager.instance;
+ }
+ getOfflinePushInfo(scene) {
+ if (!Object.values(TUIKit_components_TUIChat_offlinePushInfoManager_const.PUSH_SCENE).includes(scene)) {
+ common_vendor.index.__f__("error", "at TUIKit/components/TUIChat/offlinePushInfoManager/offlinePushInfoManager.ts:32", `${this.name} getOfflinePushInfo scene: ${scene} is invalid`);
+ return null;
+ }
+ return this.offlinePushInfo[scene];
+ }
+ genTitle(conversation, userInfo) {
+ let title = conversation == null ? void 0 : conversation.getShowName();
+ if (conversation.type === common_vendor.qt.TYPES.CONV_C2C) {
+ title = (userInfo == null ? void 0 : userInfo.nick) || (userInfo == null ? void 0 : userInfo.userID);
+ }
+ return title;
+ }
+ genDesc(messageType, payload) {
+ let desc = "";
+ if (messageType === common_vendor.qt.TYPES.MSG_TEXT) {
+ desc = TUIKit_components_TUIChat_emojiConfig_index.transformTextWithKeysToEmojiNames(payload.text);
+ }
+ if (messageType === common_vendor.qt.TYPES.MSG_CUSTOM) {
+ desc = payload.description;
+ }
+ return desc || common_vendor.Wt.t(`TUIChat.${TUIKit_components_TUIChat_offlinePushInfoManager_const.DEFAULT_DESC[messageType]}`);
+ }
+ create(options) {
+ var _a;
+ const { conversation, messageType = "", payload = {} } = options || {};
+ const userInfo = common_vendor.Jt.getData(common_vendor.o.USER, "userProfile");
+ const entity = {
+ sender: conversation.type === common_vendor.qt.TYPES.CONV_GROUP ? (_a = conversation.groupProfile) == null ? void 0 : _a.groupID : userInfo == null ? void 0 : userInfo.userID,
+ nickName: userInfo == null ? void 0 : userInfo.nick,
+ chatType: conversation.type === common_vendor.qt.TYPES.CONV_GROUP ? 2 : 1,
+ version: 1,
+ action: 1
+ };
+ return {
+ title: this.genTitle(conversation, userInfo),
+ description: this.genDesc(messageType, payload),
+ extension: JSON.stringify({ entity }),
+ ...this.offlinePushInfo[TUIKit_components_TUIChat_offlinePushInfoManager_const.PUSH_SCENE.CHAT]
+ };
+ }
+};
+_OfflinePushInfoManager.instance = null;
+let OfflinePushInfoManager = _OfflinePushInfoManager;
+exports.OfflinePushInfoManager = OfflinePushInfoManager;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/offlinePushInfoManager/offlinePushInfoManager.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/server.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/server.js
new file mode 100644
index 0000000..9700480
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/server.js
@@ -0,0 +1,72 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const TUIKit_components_TUIChat_config = require("./config.js");
+class TUIChatServer {
+ constructor() {
+ this.currentConversationID = "";
+ this.currentMessageList = [];
+ common_vendor.R.registerService(common_vendor.E.TUIChat.SERVICE.NAME, this);
+ common_vendor.R.registerEvent(common_vendor.E.TUITheme.EVENT.THEME_CHANGED, common_vendor.E.TUITheme.EVENT_SUB_KEY.CHANGE_SUCCESS, this);
+ common_vendor.R.registerEvent(common_vendor.E.TUIChat.EVENT.CHAT_TYPE_CHANGED, common_vendor.E.TUIChat.EVENT_SUB_KEY.CHANGE_SUCCESS, this);
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversationID: (id) => {
+ this.currentConversationID = id;
+ }
+ });
+ }
+ onCall(method, params, callback) {
+ let message;
+ switch (method) {
+ case common_vendor.E.TUIChat.SERVICE.METHOD.UPDATE_MESSAGE_LIST:
+ message = params.message;
+ if ((message == null ? void 0 : message.conversationID) === this.currentConversationID) {
+ common_vendor.Qt.updateMessageList([message], "push");
+ }
+ break;
+ case common_vendor.E.TUIChat.SERVICE.METHOD.SEND_CUSTOM_MESSAGE:
+ common_vendor.Qt.sendCustomMessage(params).then((res) => {
+ callback && callback(res);
+ });
+ break;
+ case common_vendor.E.TUIChat.SERVICE.METHOD.SEND_TEXT_MESSAGE:
+ common_vendor.Qt.sendTextMessage(params).then((res) => {
+ callback && callback(res);
+ });
+ break;
+ case common_vendor.E.TUIChat.SERVICE.METHOD.SET_CHAT_TYPE:
+ TUIKit_components_TUIChat_config.ChatConfig.setChatType(params == null ? void 0 : params.chatType);
+ break;
+ case common_vendor.E.TUIChat.SERVICE.METHOD.CLOSE_MESSAGE_POP_MENU:
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "isShowMessagePopMenu", false);
+ break;
+ case common_vendor.E.TUIChat.SERVICE.METHOD.UPDATE_MESSAGE_INFO:
+ common_vendor.Qt.updateMessageInfo(params == null ? void 0 : params.userInfo);
+ break;
+ }
+ }
+ /**
+ * Listen for the success notification.
+ */
+ onNotifyEvent(eventName, subKey, params) {
+ if (eventName === common_vendor.E.TUITheme.EVENT.THEME_CHANGED) {
+ switch (subKey) {
+ case common_vendor.E.TUITheme.EVENT_SUB_KEY.CHANGE_SUCCESS:
+ if (params == null ? void 0 : params.theme) {
+ TUIKit_components_TUIChat_config.ChatConfig.setTheme(params.theme.toLowerCase());
+ }
+ break;
+ }
+ }
+ if (eventName === common_vendor.E.TUIChat.EVENT.CHAT_TYPE_CHANGED) {
+ switch (subKey) {
+ case common_vendor.E.TUIChat.EVENT_SUB_KEY.CHANGE_SUCCESS:
+ if (params == null ? void 0 : params.chatType) {
+ TUIKit_components_TUIChat_config.ChatConfig.setChatType(params == null ? void 0 : params.chatType);
+ }
+ break;
+ }
+ }
+ }
+}
+exports.TUIChatServer = TUIChatServer;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/server.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/chatStorage.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/chatStorage.js
new file mode 100644
index 0000000..f048103
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/chatStorage.js
@@ -0,0 +1,62 @@
+"use strict";
+const TUIKit_utils_env = require("../../../utils/env.js");
+const common_vendor = require("../../../../common/vendor.js");
+const _ChatStorage = class _ChatStorage {
+ constructor() {
+ this.chatStorage = null;
+ }
+ static getInstance() {
+ if (!_ChatStorage.instance) {
+ _ChatStorage.instance = new _ChatStorage();
+ }
+ return _ChatStorage.instance;
+ }
+ getChatStorage(key) {
+ if (!this.chatStorage) {
+ this.chatStorage = this.getChatStorageFromLocalStorage();
+ }
+ if (key) {
+ return this.chatStorage[key];
+ } else {
+ throw new Error("No key provided");
+ }
+ }
+ setChatStorage(key, value) {
+ if (!this.chatStorage) {
+ this.chatStorage = this.getChatStorageFromLocalStorage();
+ }
+ this.chatStorage[key] = value;
+ try {
+ if (TUIKit_utils_env.isUniFrameWork) {
+ common_vendor.i.setStorageSync(_ChatStorage.CHAT_STORAGE_KEY, JSON.stringify(this.chatStorage));
+ } else {
+ localStorage.setItem(_ChatStorage.CHAT_STORAGE_KEY, JSON.stringify(this.chatStorage));
+ }
+ } catch (error) {
+ throw new Error("Fail to set chat storage");
+ }
+ }
+ getChatStorageFromLocalStorage() {
+ let chatStorageString = "";
+ if (TUIKit_utils_env.isUniFrameWork) {
+ chatStorageString = common_vendor.i.getStorageSync(_ChatStorage.CHAT_STORAGE_KEY) || "";
+ } else {
+ chatStorageString = localStorage.getItem(_ChatStorage.CHAT_STORAGE_KEY) || "";
+ }
+ if (!chatStorageString) {
+ return {};
+ }
+ try {
+ this.chatStorage = JSON.parse(chatStorageString);
+ } catch (error) {
+ this.chatStorage = {};
+ }
+ return this.chatStorage;
+ }
+};
+_ChatStorage.instance = null;
+_ChatStorage.CHAT_STORAGE_KEY = "TUI_CHAT_STORAGE";
+let ChatStorage = _ChatStorage;
+const chatStorage = ChatStorage.getInstance();
+exports.chatStorage = chatStorage;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/utils/chatStorage.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/conversationDraft.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/conversationDraft.js
new file mode 100644
index 0000000..f20cb8a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/conversationDraft.js
@@ -0,0 +1,75 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_components_TUIChat_emojiConfig_index = require("../emoji-config/index.js");
+const TUIKit_utils_typeCheck = require("../../../utils/type-check.js");
+const _ConversationDraftManager = class _ConversationDraftManager {
+ constructor() {
+ this.quoteMessageMap = /* @__PURE__ */ new Map();
+ }
+ static getInstance() {
+ if (!_ConversationDraftManager.instance) {
+ _ConversationDraftManager.instance = new _ConversationDraftManager();
+ }
+ return _ConversationDraftManager.instance;
+ }
+ setStore(conversationID, draftContent, abstract, quoteMessage) {
+ var _a, _b;
+ if (conversationID && (this.isEditorNotEmpty(draftContent) || ((_a = quoteMessage == null ? void 0 : quoteMessage.message) == null ? void 0 : _a.ID))) {
+ let additionalDraftInfo = {};
+ if ((_b = quoteMessage == null ? void 0 : quoteMessage.message) == null ? void 0 : _b.ID) {
+ this.quoteMessageMap.set(quoteMessage.message.ID, quoteMessage.message);
+ additionalDraftInfo = { messageID: quoteMessage.message.ID, type: quoteMessage.type };
+ }
+ const draftParams = {
+ conversationID,
+ draftInfo: {
+ html: draftContent,
+ abstract,
+ ...additionalDraftInfo
+ }
+ };
+ common_vendor.Xt.setConversationDraft(draftParams);
+ common_vendor.Jt.update(common_vendor.o.CHAT, "quoteMessage", { message: void 0, type: "quote" });
+ }
+ }
+ getStore(conversationID, setEditorContentCallback) {
+ const conversation = common_vendor.Jt.getConversationModel(conversationID);
+ if (!conversation) {
+ return;
+ }
+ if (conversation.conversationID && conversation.draftText) {
+ const draftObject = TUIKit_utils_typeCheck.JSONToObject(conversation.draftText);
+ common_vendor.Jt.update(common_vendor.o.CHAT, "quoteMessage", { message: this.quoteMessageMap.get(draftObject.messageID) || void 0, type: draftObject.type });
+ setEditorContentCallback(draftObject.html);
+ }
+ common_vendor.Xt.setConversationDraft({ conversationID: conversation.conversationID });
+ }
+ generateAbstract(editorContent) {
+ let abstract = "";
+ editorContent == null ? void 0 : editorContent.forEach((item) => {
+ switch (item.type) {
+ case "text":
+ abstract += TUIKit_components_TUIChat_emojiConfig_index.transformTextWithKeysToEmojiNames(item.payload.text || "");
+ break;
+ case "image":
+ abstract += common_vendor.Wt.t("TUIChat.图片");
+ break;
+ case "video":
+ abstract += common_vendor.Wt.t("TUIChat.视频");
+ break;
+ case "file":
+ abstract += common_vendor.Wt.t("TUIChat.文件");
+ break;
+ }
+ });
+ return abstract;
+ }
+ isEditorNotEmpty(editorHTML) {
+ return editorHTML && !editorHTML.includes("is-empty") && editorHTML !== "
";
+ }
+};
+_ConversationDraftManager.instance = null;
+let ConversationDraftManager = _ConversationDraftManager;
+const DraftManager = ConversationDraftManager.getInstance();
+exports.DraftManager = DraftManager;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/utils/conversationDraft.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/convertVoiceToText.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/convertVoiceToText.js
new file mode 100644
index 0000000..6f9d9c6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/convertVoiceToText.js
@@ -0,0 +1,50 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _Convertor = class _Convertor {
+ constructor() {
+ this.isUseCache = true;
+ this.convertCache = /* @__PURE__ */ new Map();
+ }
+ static getInstance() {
+ if (!_Convertor.instance) {
+ _Convertor.instance = new _Convertor();
+ }
+ return _Convertor.instance;
+ }
+ async get(message) {
+ if (this.isUseCache) {
+ const cache = this.convertCache.get(message.ID);
+ if (cache !== void 0) {
+ return cache;
+ }
+ }
+ const currentMessage = common_vendor.Jt.getMessageModel(message.ID);
+ if (!currentMessage) {
+ return Promise.reject("message not found");
+ }
+ const response = await common_vendor.Qt.convertVoiceToText({
+ message: currentMessage
+ });
+ let { data: { result } = {} } = response;
+ if (result) {
+ this.convertCache.set(currentMessage.ID, result);
+ } else {
+ result = "";
+ }
+ return result;
+ }
+ clear() {
+ this.convertCache.clear();
+ }
+ disableCache() {
+ this.isUseCache = false;
+ }
+ enableCache() {
+ this.isUseCache = true;
+ }
+};
+_Convertor.instance = void 0;
+let Convertor = _Convertor;
+const convertor = Convertor.getInstance();
+exports.convertor = convertor;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/utils/convertVoiceToText.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/sendMessage.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/sendMessage.js
new file mode 100644
index 0000000..52108b7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/sendMessage.js
@@ -0,0 +1,107 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_components_TUIChat_utils_utils = require("./utils.js");
+const TUIKit_utils_enableSampleTaskStatus = require("../../../utils/enableSampleTaskStatus.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../offlinePushInfoManager/index.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+const sendMessageErrorCodeMap = /* @__PURE__ */ new Map([
+ [3123, "文本包含本地审核拦截词"],
+ [4004, "图片消息失败,无效的图片格式"],
+ [4005, "文件消息失败,禁止发送违规封禁的文件"],
+ [7004, "文件不存在,请检查文件路径是否正确"],
+ [7005, "文件大小超出了限制,如果上传文件,最大限制是100MB"],
+ [8001, "消息长度超出限制,消息长度不要超过12K"],
+ [80001, "消息或者资料中文本存在敏感内容,发送失败"],
+ [80004, "消息中图片存在敏感内容,发送失败"],
+ [10017, "您已被禁止聊天"]
+]);
+const sendMessages = async (messageList, currentConversation) => {
+ if (common_vendor.Jt.getData(common_vendor.o.CHAT, "messageSource")) {
+ common_vendor.Jt.update(common_vendor.o.CHAT, "messageSource", void 0);
+ }
+ messageList == null ? void 0 : messageList.forEach(async (content) => {
+ var _a, _b, _c, _d, _e, _f, _g;
+ try {
+ const options = {
+ to: ((_a = currentConversation == null ? void 0 : currentConversation.groupProfile) == null ? void 0 : _a.groupID) || ((_b = currentConversation == null ? void 0 : currentConversation.userProfile) == null ? void 0 : _b.userID),
+ conversationType: currentConversation == null ? void 0 : currentConversation.type,
+ payload: {},
+ needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
+ };
+ let textMessageContent;
+ const sendMessageOptions = {
+ offlinePushInfo: {}
+ };
+ const offlinePushInfoCreateParams = {
+ conversation: currentConversation,
+ payload: content.payload,
+ messageType: ""
+ };
+ switch (content == null ? void 0 : content.type) {
+ case "text":
+ textMessageContent = JSON.parse(JSON.stringify((_c = content.payload) == null ? void 0 : _c.text));
+ if (!textMessageContent) {
+ break;
+ }
+ options.payload = {
+ text: textMessageContent
+ };
+ offlinePushInfoCreateParams.messageType = common_vendor.qt.TYPES.MSG_TEXT;
+ sendMessageOptions.offlinePushInfo = TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams);
+ if ((_d = content.payload) == null ? void 0 : _d.atUserList) {
+ options.payload.atUserList = content.payload.atUserList;
+ await common_vendor.Qt.sendTextAtMessage(options, sendMessageOptions);
+ } else {
+ await common_vendor.Qt.sendTextMessage(options, sendMessageOptions);
+ }
+ break;
+ case "image":
+ options.payload = {
+ file: (_e = content.payload) == null ? void 0 : _e.file
+ };
+ offlinePushInfoCreateParams.messageType = common_vendor.qt.TYPES.MSG_IMAGE;
+ sendMessageOptions.offlinePushInfo = TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams);
+ await common_vendor.Qt.sendImageMessage(options, sendMessageOptions);
+ break;
+ case "video":
+ options.payload = {
+ file: (_f = content.payload) == null ? void 0 : _f.file
+ };
+ offlinePushInfoCreateParams.messageType = common_vendor.qt.TYPES.MSG_VIDEO;
+ sendMessageOptions.offlinePushInfo = TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams);
+ await common_vendor.Qt.sendVideoMessage(options, sendMessageOptions);
+ break;
+ case "file":
+ options.payload = {
+ file: (_g = content.payload) == null ? void 0 : _g.file
+ };
+ offlinePushInfoCreateParams.messageType = common_vendor.qt.TYPES.MSG_FILE;
+ sendMessageOptions.offlinePushInfo = TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams);
+ await common_vendor.Qt.sendFileMessage(options, sendMessageOptions);
+ break;
+ default:
+ break;
+ }
+ TUIKit_utils_enableSampleTaskStatus.enableSampleTaskStatus("sendMessage");
+ } catch (error) {
+ TUIKit_components_common_Toast_index.Toast({
+ message: sendMessageErrorCodeMap.get(error == null ? void 0 : error.code) ? common_vendor.Wt.t(`TUIChat.${sendMessageErrorCodeMap.get(error.code)}`) : error == null ? void 0 : error.message,
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ if (common_vendor.Jt.getData(common_vendor.o.CHAT, "quoteMessage")) {
+ common_vendor.Jt.update(common_vendor.o.CHAT, "quoteMessage", {});
+ }
+ }
+ });
+};
+const sendTyping = (inputContentEmpty, inputBlur) => {
+ if (!inputContentEmpty && !inputBlur) {
+ common_vendor.Qt.enterTypingState();
+ } else {
+ common_vendor.Qt.leaveTypingState();
+ }
+};
+exports.sendMessages = sendMessages;
+exports.sendTyping = sendTyping;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/utils/sendMessage.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/translation.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/translation.js
new file mode 100644
index 0000000..031153e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/translation.js
@@ -0,0 +1,154 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _Translator = class _Translator {
+ constructor() {
+ this.isUseCache = true;
+ this.translationCache = /* @__PURE__ */ new Map();
+ }
+ static getInstance() {
+ if (!_Translator.instance) {
+ _Translator.instance = new _Translator();
+ }
+ return _Translator.instance;
+ }
+ async get(message) {
+ if (this.isUseCache) {
+ const cache = this.translationCache.get(message.ID);
+ if (cache !== void 0) {
+ return cache;
+ }
+ }
+ const currentMessage = common_vendor.Jt.getMessageModel(message.ID);
+ if (!currentMessage) {
+ return [];
+ }
+ const { text } = currentMessage.getMessageContent() || {};
+ const textList = [];
+ const splittingList = await this.getNickList(currentMessage);
+ for (let i = 0; i < text.length; ++i) {
+ const item = text[i];
+ if (item.name === "img") {
+ textList.push({ type: "face", value: item.src });
+ continue;
+ }
+ const { transSplitingList, atNickList } = this.getSplitResult(item.text, splittingList);
+ for (let j = 0; j < transSplitingList.length; ++j) {
+ textList.push({ type: "text", value: transSplitingList[j] });
+ if (j < atNickList.length) {
+ textList.push({ type: "mention", value: atNickList[j] });
+ }
+ }
+ }
+ const needTranslateTextIndex = [];
+ const needTranslateText = textList.filter((item, index) => {
+ if (item.type === "text" && item.value.trim() !== "") {
+ needTranslateTextIndex.push(index);
+ return true;
+ }
+ return false;
+ }).map((item) => item.value);
+ if (needTranslateText.length === 0) {
+ this.translationCache.set(currentMessage.ID, textList);
+ return textList;
+ }
+ const translationResult = await this.getTranslationStandard(needTranslateText);
+ translationResult.forEach((item, index) => {
+ textList[needTranslateTextIndex[index]].value = item;
+ });
+ this.translationCache.set(currentMessage.ID, textList);
+ return textList;
+ }
+ /**
+ * Clears the translation cache.
+ */
+ clear() {
+ this.translationCache.clear();
+ }
+ disableCache() {
+ this.isUseCache = false;
+ }
+ enableCache() {
+ this.isUseCache = true;
+ }
+ getTranslationStandard(originTextList) {
+ return new Promise((resolve, reject) => {
+ common_vendor.Qt.translateText({
+ sourceTextList: originTextList,
+ sourceLanguage: "auto"
+ }).then((response) => {
+ const {
+ data: { translatedTextList }
+ } = response;
+ resolve(translatedTextList);
+ }).catch((error) => {
+ reject(error);
+ });
+ });
+ }
+ /**
+ * the nick list is used to split the text by @ + {nick or userID}
+ * @param message
+ * @returns e.g. ['@james', '@john']
+ */
+ async getNickList(message) {
+ const splittingList = [];
+ const { atUserList = [] } = message;
+ const atAllID = common_vendor.qt.TYPES.MSG_AT_ALL;
+ if (atUserList.includes(atAllID)) {
+ splittingList.push(`@${common_vendor.Wt.t("TUIChat.所有人")}`);
+ }
+ if (atUserList.length > 0) {
+ const { data: userProfileList } = await common_vendor.Zt.getUserProfile({ userIDList: atUserList });
+ userProfileList.forEach((user) => {
+ const atNick = `@${user.nick || user.userID}`;
+ splittingList.push(atNick);
+ });
+ }
+ return [...new Set(splittingList)];
+ }
+ /**
+ * Splits the given text into substrings based on the provided splitString array.
+ *
+ * @param {string} text - The text to be split.
+ * @param {string[]} splitString - The array of strings to split the text by.
+ * @return {{ transSplitingList: string[]; atNickList: string[] }} - An object containing two arrays:
+ * - transSplitingList: An array of substrings extracted from the text.
+ * - atNickList: An array of split strings that were found in the text.
+ */
+ getSplitResult(text, splitString) {
+ let searchStartPos = 0;
+ const transSplitingList = [];
+ const atNickList = [];
+ while (searchStartPos < text.length) {
+ const nextAtCharPos = text.indexOf("@", searchStartPos);
+ if (nextAtCharPos === -1) {
+ transSplitingList.push(text.substring(searchStartPos));
+ break;
+ }
+ let found = false;
+ for (let i = 0; i < splitString.length; ++i) {
+ const pos = text.indexOf(splitString[i], nextAtCharPos);
+ if (pos !== -1 && pos === nextAtCharPos) {
+ transSplitingList.push(text.substring(searchStartPos, pos));
+ atNickList.push(splitString[i]);
+ searchStartPos = pos + splitString[i].length;
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ transSplitingList.push(text.substring(searchStartPos));
+ break;
+ }
+ }
+ return {
+ transSplitingList,
+ atNickList
+ };
+ }
+};
+_Translator.instance = void 0;
+let Translator = _Translator;
+const translator = Translator.getInstance();
+exports.translator = translator;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/utils/translation.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/utils.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/utils.js
new file mode 100644
index 0000000..4fe390d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/utils.js
@@ -0,0 +1,92 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+function deepCopy(data, hash = /* @__PURE__ */ new WeakMap()) {
+ if (typeof data !== "object" || data === null || data === void 0) {
+ return data;
+ }
+ if (hash.has(data)) {
+ return hash.get(data);
+ }
+ const newData = Object.create(Object.getPrototypeOf(data));
+ const dataKeys = Object.keys(data);
+ dataKeys.forEach((value) => {
+ const currentDataValue = data[value];
+ if (typeof currentDataValue !== "object" || currentDataValue === null) {
+ newData[value] = currentDataValue;
+ } else if (Array.isArray(currentDataValue)) {
+ newData[value] = [...currentDataValue];
+ } else if (currentDataValue instanceof Set) {
+ newData[value] = /* @__PURE__ */ new Set([...currentDataValue]);
+ } else if (currentDataValue instanceof Map) {
+ newData[value] = new Map([...currentDataValue]);
+ } else {
+ hash.set(data, data);
+ newData[value] = deepCopy(currentDataValue, hash);
+ }
+ });
+ return newData;
+}
+const isCreateGroupCustomMessage = (message) => {
+ var _a;
+ return message.type === common_vendor.qt.TYPES.MSG_CUSTOM && ((_a = message == null ? void 0 : message.getMessageContent()) == null ? void 0 : _a.businessID) === "group_create";
+};
+function isEnabledMessageReadReceiptGlobal() {
+ return common_vendor.Jt.getData(common_vendor.o.USER, "displayMessageReadReceipt") && common_vendor.Jt.getData(common_vendor.o.APP, "enabledMessageReadReceipt");
+}
+function shallowCopyMessage(message) {
+ return Object.assign({}, message);
+}
+function calculateTimestamp(timestamp) {
+ const todayZero = (/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0);
+ const thisYear = new Date(
+ (/* @__PURE__ */ new Date()).getFullYear(),
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0
+ ).getTime();
+ const target = new Date(timestamp);
+ const oneDay = 24 * 60 * 60 * 1e3;
+ const oneWeek = 7 * oneDay;
+ const diff = todayZero - target.getTime();
+ function formatNum(num) {
+ return num < 10 ? "0" + num : num.toString();
+ }
+ if (diff <= 0) {
+ return `${formatNum(target.getHours())}:${formatNum(target.getMinutes())}`;
+ } else if (diff <= oneDay) {
+ return `${common_vendor.Wt.t("time.昨天")} ${formatNum(
+ target.getHours()
+ )}:${formatNum(target.getMinutes())}`;
+ } else if (diff <= oneWeek - oneDay) {
+ const weekdays = [
+ "星期日",
+ "星期一",
+ "星期二",
+ "星期三",
+ "星期四",
+ "星期五",
+ "星期六"
+ ];
+ const weekday = weekdays[target.getDay()];
+ return `${common_vendor.Wt.t("time." + weekday)} ${formatNum(
+ target.getHours()
+ )}:${formatNum(target.getMinutes())}`;
+ } else if (target.getTime() >= thisYear) {
+ return `${target.getMonth() + 1}/${target.getDate()} ${formatNum(
+ target.getHours()
+ )}:${formatNum(target.getMinutes())}`;
+ } else {
+ return `${target.getFullYear()}/${target.getMonth() + 1}/${target.getDate()} ${formatNum(target.getHours())}:${formatNum(
+ target.getMinutes()
+ )}`;
+ }
+}
+exports.calculateTimestamp = calculateTimestamp;
+exports.deepCopy = deepCopy;
+exports.isCreateGroupCustomMessage = isCreateGroupCustomMessage;
+exports.isEnabledMessageReadReceiptGlobal = isEnabledMessageReadReceiptGlobal;
+exports.shallowCopyMessage = shallowCopyMessage;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/utils/utils.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/wordsList.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/wordsList.js
new file mode 100644
index 0000000..ff9850e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/utils/wordsList.js
@@ -0,0 +1,32 @@
+"use strict";
+const wordsList = [
+ {
+ value: "在吗?在吗?在吗?重要的话说三遍。"
+ },
+ {
+ value: "好久没聊天了,快来和我说说话~"
+ },
+ {
+ value: "好的,就这么说定了。"
+ },
+ {
+ value: "感恩的心,感谢有你。"
+ },
+ {
+ value: "糟糕!是心动的感觉!"
+ },
+ {
+ value: "心疼地抱抱自己,我太难了!"
+ },
+ {
+ value: "没关系,别在意,事情过去就过去了。"
+ },
+ {
+ value: "早上好,今天也是让人期待的一天呢!"
+ },
+ {
+ value: "熬夜有什么用,又没人陪你聊天,早点休息吧。"
+ }
+];
+exports.wordsList = wordsList;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/utils/wordsList.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.js
new file mode 100644
index 0000000..f8d7cca
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.js
@@ -0,0 +1,30 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+require("../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "video-play",
+ setup(__props) {
+ const videoData = common_vendor.ref();
+ const isShow = common_vendor.ref(false);
+ const videoContext = common_vendor.ref();
+ common_vendor.onLoad((option) => {
+ const decodedUrl = decodeURIComponent(option == null ? void 0 : option.videoUrl);
+ videoData.value = decodedUrl;
+ isShow.value = true;
+ });
+ common_vendor.onReady(() => {
+ isShow.value = true;
+ videoContext.value = common_vendor.i.createVideoContext("videoEle");
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isShow)
+ }, common_vendor.unref(isShow) ? {
+ b: common_vendor.unref(videoData)
+ } : {});
+ };
+ }
+});
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e40b9248"]]);
+wx.createPage(MiniProgramPage);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/video-play.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.json
new file mode 100644
index 0000000..5588294
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "腾讯云 IM",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.wxml
new file mode 100644
index 0000000..05fadbc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.wxss
new file mode 100644
index 0000000..86c6d73
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/video-play.wxss
@@ -0,0 +1,48 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.dialog-video.data-v-e40b9248 {
+ position: fixed;
+ z-index: 999;
+ width: 100vw;
+ height: 100vh;
+ background: rgba(0, 0, 0, 0.6);
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.dialog-video .video-box.data-v-e40b9248 {
+ position: absolute;
+ width: 100vw;
+ height: 100vh;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.js
new file mode 100644
index 0000000..c608557
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.js
@@ -0,0 +1,19 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+require("../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "web-view",
+ setup(__props) {
+ const url = common_vendor.ref("");
+ common_vendor.onLoad((option) => {
+ url.value = option && option.url;
+ });
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.unref(url)
+ };
+ };
+ }
+});
+wx.createPage(_sfc_main);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIChat/web-view.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.json
new file mode 100644
index 0000000..5588294
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "腾讯云 IM",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.wxml
new file mode 100644
index 0000000..03f193c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIChat/web-view.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/contact-info-config.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/contact-info-config.js
new file mode 100644
index 0000000..fc80c73
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/contact-info-config.js
@@ -0,0 +1,175 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_constant = require("../../../constant.js");
+const TUIKit_components_TUIContact_utils_index = require("../utils/index.js");
+const contactMoreInfoConfig = {
+ // set friends' remark
+ setRemark: {
+ key: "setRemark",
+ label: "备注名",
+ data: "",
+ labelPosition: TUIKit_constant.CONTACT_INFO_LABEL_POSITION.LEFT,
+ editable: true,
+ editType: TUIKit_constant.CONTACT_INFO_MORE_EDIT_TYPE.INPUT,
+ editing: false,
+ editSubmitHandler: (props) => {
+ var _a, _b, _c, _d, _e, _f;
+ if (props == null ? void 0 : props.isBothFriend) {
+ const newRemarkValue = (_a = props == null ? void 0 : props.item) == null ? void 0 : _a.data;
+ TUIKit_components_TUIContact_utils_index.updateFriendRemark((_b = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _b.userID, newRemarkValue);
+ ((_c = props == null ? void 0 : props.item) == null ? void 0 : _c.editing) && (props.item.editing = false);
+ ((_d = props == null ? void 0 : props.item) == null ? void 0 : _d.data) && (props.item.data = (_e = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _e.remark);
+ } else {
+ ((_f = props == null ? void 0 : props.item) == null ? void 0 : _f.editing) && (props.item.editing = false);
+ }
+ }
+ },
+ // blocked list
+ blackList: {
+ key: "blackList",
+ label: "加入黑名单",
+ data: false,
+ labelPosition: TUIKit_constant.CONTACT_INFO_LABEL_POSITION.LEFT,
+ editable: true,
+ editType: TUIKit_constant.CONTACT_INFO_MORE_EDIT_TYPE.SWITCH,
+ editing: true,
+ editSubmitHandler: (props) => {
+ var _a, _b;
+ if (props == null ? void 0 : props.isInBlackList) {
+ TUIKit_components_TUIContact_utils_index.removeFromBlacklist((_a = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _a.userID);
+ } else {
+ TUIKit_components_TUIContact_utils_index.addToBlacklist((_b = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _b.userID);
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactListKey", "blackList");
+ }
+ }
+ },
+ // Fill in verification words (applicant)
+ setWords: {
+ key: "setWords",
+ label: "请填写验证信息",
+ data: "",
+ labelPosition: TUIKit_constant.CONTACT_INFO_LABEL_POSITION.TOP,
+ editable: true,
+ editType: TUIKit_constant.CONTACT_INFO_MORE_EDIT_TYPE.TEXTAREA,
+ editing: true
+ },
+ // Display verification words (application recipient)
+ displayWords: {
+ key: "displayWords",
+ label: "验证信息",
+ data: "",
+ labelPosition: TUIKit_constant.CONTACT_INFO_LABEL_POSITION.LEFT,
+ editable: false
+ }
+};
+const contactButtonConfig = {
+ // ---------------------
+ // group command config
+ // ---------------------
+ dismissGroup: {
+ key: "dismissGroup",
+ label: "解散群聊",
+ type: TUIKit_constant.CONTACT_INFO_BUTTON_TYPE.CANCEL,
+ onClick: (props) => {
+ var _a;
+ TUIKit_components_TUIContact_utils_index.dismissGroup((_a = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _a.groupID);
+ }
+ },
+ quitGroup: {
+ key: "quitGroup",
+ label: "退出群聊",
+ type: TUIKit_constant.CONTACT_INFO_BUTTON_TYPE.CANCEL,
+ onClick: (props) => {
+ var _a;
+ TUIKit_components_TUIContact_utils_index.quitGroup((_a = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _a.groupID);
+ }
+ },
+ joinGroup: {
+ key: "joinGroup",
+ label: "发送申请",
+ type: TUIKit_constant.CONTACT_INFO_BUTTON_TYPE.SUBMIT,
+ onClick: (props) => {
+ var _a, _b;
+ TUIKit_components_TUIContact_utils_index.joinGroup(
+ (_a = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _a.groupID,
+ (_b = props == null ? void 0 : props.contactInfoMoreList[0]) == null ? void 0 : _b.data
+ );
+ }
+ },
+ joinAVChatGroup: {
+ key: "joinAVChatGroup",
+ label: "加入直播群",
+ type: TUIKit_constant.CONTACT_INFO_BUTTON_TYPE.SUBMIT,
+ onClick: (props) => {
+ var _a;
+ TUIKit_components_TUIContact_utils_index.joinGroup((_a = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _a.groupID);
+ }
+ },
+ enterGroupConversation: {
+ key: "enterGroupConversation",
+ label: "进入群聊",
+ type: TUIKit_constant.CONTACT_INFO_BUTTON_TYPE.SUBMIT,
+ onClick: (props) => {
+ TUIKit_components_TUIContact_utils_index.enterConversation(props == null ? void 0 : props.contactInfoData);
+ }
+ },
+ // ---------------------
+ // friend command config
+ // ---------------------
+ addFriend: {
+ key: "addFriend",
+ label: "发送申请",
+ type: TUIKit_constant.CONTACT_INFO_BUTTON_TYPE.SUBMIT,
+ onClick: (props) => {
+ var _a, _b, _c;
+ TUIKit_components_TUIContact_utils_index.addFriend({
+ to: (_a = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _a.userID,
+ source: "AddSource_Type_Web",
+ remark: (_b = props == null ? void 0 : props.contactInfoMoreList[1]) == null ? void 0 : _b.data,
+ wording: (_c = props == null ? void 0 : props.contactInfoMoreList[0]) == null ? void 0 : _c.data
+ });
+ }
+ },
+ deleteFriend: {
+ key: "deleteFriend",
+ label: "删除好友",
+ type: TUIKit_constant.CONTACT_INFO_BUTTON_TYPE.CANCEL,
+ onClick: (props) => {
+ var _a;
+ TUIKit_components_TUIContact_utils_index.deleteFriend((_a = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _a.userID);
+ }
+ },
+ enterC2CConversation: {
+ key: "enterC2CConversation",
+ label: "发送消息",
+ type: TUIKit_constant.CONTACT_INFO_BUTTON_TYPE.SUBMIT,
+ onClick: (props) => {
+ TUIKit_components_TUIContact_utils_index.enterConversation(props == null ? void 0 : props.contactInfoData);
+ }
+ },
+ // ---------------------
+ // friend application command config
+ // ---------------------
+ acceptFriendApplication: {
+ key: "acceptFriendApplication",
+ label: "同意",
+ type: TUIKit_constant.CONTACT_INFO_BUTTON_TYPE.SUBMIT,
+ onClick: (props) => {
+ var _a;
+ TUIKit_components_TUIContact_utils_index.acceptFriendApplication((_a = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _a.userID);
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactListKey", "friendList");
+ }
+ },
+ refuseFriendApplication: {
+ key: "refuseFriendApplication",
+ label: "拒绝",
+ type: TUIKit_constant.CONTACT_INFO_BUTTON_TYPE.CANCEL,
+ onClick: (props) => {
+ var _a;
+ TUIKit_components_TUIContact_utils_index.refuseFriendApplication((_a = props == null ? void 0 : props.contactInfoData) == null ? void 0 : _a.userID);
+ }
+ }
+};
+exports.contactButtonConfig = contactButtonConfig;
+exports.contactMoreInfoConfig = contactMoreInfoConfig;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIContact/contact-info/contact-info-config.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.js
new file mode 100644
index 0000000..4b35ca6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.js
@@ -0,0 +1,287 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const TUIKit_components_TUIContact_utils_index = require("../utils/index.js");
+const TUIKit_components_TUIContact_contactInfo_contactInfoConfig = require("./contact-info-config.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_constant = require("../../../constant.js");
+const TUIKit_components_TUIChat_utils_utils = require("../../TUIChat/utils/utils.js");
+if (!Math) {
+ (Icon + SwitchBar)();
+}
+const Icon = () => "../../common/Icon.js";
+const SwitchBar = () => "../../common/SwitchBar/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ emits: ["switchConversation"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const contactInfoData = common_vendor.ref({});
+ const contactInfoBasicList = common_vendor.ref([]);
+ const contactInfoMoreList = common_vendor.ref([]);
+ const contactInfoButtonList = common_vendor.ref([]);
+ const setEditing = (item) => {
+ item.editing = true;
+ };
+ const isGroup = common_vendor.computed(
+ () => {
+ var _a;
+ return ((_a = contactInfoData.value) == null ? void 0 : _a.groupID) ? true : false;
+ }
+ );
+ const isApplication = common_vendor.computed(() => {
+ return TUIKit_components_TUIContact_utils_index.isApplicationType(contactInfoData == null ? void 0 : contactInfoData.value);
+ });
+ const isBothFriend = common_vendor.ref(false);
+ const isGroupMember = common_vendor.computed(() => {
+ var _a, _b;
+ return ((_b = (_a = contactInfoData.value) == null ? void 0 : _a.selfInfo) == null ? void 0 : _b.userID) ? true : false;
+ });
+ const isInBlackList = common_vendor.computed(() => {
+ var _a;
+ return !isGroup.value && ((_a = blackList.value) == null ? void 0 : _a.findIndex(
+ (item) => {
+ var _a2;
+ return (item == null ? void 0 : item.userID) === ((_a2 = contactInfoData.value) == null ? void 0 : _a2.userID);
+ }
+ )) >= 0;
+ });
+ const blackList = common_vendor.ref([]);
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CUSTOM, {
+ currentContactInfo: onCurrentContactInfoUpdated
+ });
+ common_vendor.Jt.watch(common_vendor.o.USER, {
+ userBlacklist: onUserBlacklistUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CUSTOM, {
+ currentContactInfo: onCurrentContactInfoUpdated
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.USER, {
+ userBlacklist: onUserBlacklistUpdated
+ });
+ });
+ const resetContactInfoUIData = () => {
+ contactInfoData.value = {};
+ contactInfoBasicList.value = [];
+ contactInfoMoreList.value = [];
+ contactInfoButtonList.value = [];
+ };
+ const resetContactSearchingUIData = () => {
+ var _a, _b;
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactInfo", {});
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactSearchingStatus", false);
+ ((_a = common_vendor.i) == null ? void 0 : _a.closeSearching) && ((_b = common_vendor.i) == null ? void 0 : _b.closeSearching());
+ };
+ const onContactInfoEmitSubmit = (item) => {
+ item.editSubmitHandler && item.editSubmitHandler({
+ item,
+ contactInfoData: contactInfoData.value,
+ isBothFriend: isBothFriend.value,
+ isInBlackList: isInBlackList.value
+ });
+ };
+ const onContactInfoButtonClicked = (item) => {
+ item.onClick && item.onClick({
+ contactInfoData: contactInfoData.value,
+ contactInfoMoreList: contactInfoMoreList.value
+ });
+ if (item.key === "enterGroupConversation" || item.key === "enterC2CConversation") {
+ emits("switchConversation", contactInfoData.value);
+ resetContactSearchingUIData();
+ }
+ };
+ const generateMoreInfo = async () => {
+ var _a, _b, _c, _d, _e;
+ if (!isApplication.value) {
+ if (!isGroup.value && !isBothFriend.value && !isInBlackList.value || isGroup.value && !isGroupMember.value && ((_a = contactInfoData.value) == null ? void 0 : _a.type) !== ((_c = (_b = common_vendor.qt) == null ? void 0 : _b.TYPES) == null ? void 0 : _c.GRP_AVCHATROOM)) {
+ TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactMoreInfoConfig.setWords.data = "";
+ contactInfoMoreList.value.push(TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactMoreInfoConfig.setWords);
+ }
+ if (!isGroup.value && !isInBlackList.value) {
+ TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactMoreInfoConfig.setRemark.data = ((_d = contactInfoData.value) == null ? void 0 : _d.remark) || "";
+ TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactMoreInfoConfig.setRemark.editing = false;
+ contactInfoMoreList.value.push(TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactMoreInfoConfig.setRemark);
+ }
+ if (!isGroup.value && (isBothFriend.value || isInBlackList.value)) {
+ TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactMoreInfoConfig.blackList.data = isInBlackList.value || false;
+ contactInfoMoreList.value.push(TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactMoreInfoConfig.blackList);
+ }
+ } else {
+ TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactMoreInfoConfig.displayWords.data = ((_e = contactInfoData.value) == null ? void 0 : _e.wording) || "";
+ contactInfoMoreList.value.push(TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactMoreInfoConfig.displayWords);
+ }
+ };
+ const generateButton = () => {
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
+ if (isInBlackList.value) {
+ return;
+ }
+ if (isApplication.value) {
+ if (((_a = contactInfoData.value) == null ? void 0 : _a.type) === ((_c = (_b = common_vendor.qt) == null ? void 0 : _b.TYPES) == null ? void 0 : _c.SNS_APPLICATION_SENT_TO_ME)) {
+ (_d = contactInfoButtonList == null ? void 0 : contactInfoButtonList.value) == null ? void 0 : _d.push(
+ TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig.refuseFriendApplication
+ );
+ (_e = contactInfoButtonList == null ? void 0 : contactInfoButtonList.value) == null ? void 0 : _e.push(
+ TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig.acceptFriendApplication
+ );
+ }
+ } else {
+ if (isGroup.value && isGroupMember.value) {
+ switch ((_g = (_f = contactInfoData.value) == null ? void 0 : _f.selfInfo) == null ? void 0 : _g.role) {
+ case "Owner":
+ (_h = contactInfoButtonList == null ? void 0 : contactInfoButtonList.value) == null ? void 0 : _h.push(TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig.dismissGroup);
+ break;
+ default:
+ (_i = contactInfoButtonList == null ? void 0 : contactInfoButtonList.value) == null ? void 0 : _i.push(TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig.quitGroup);
+ break;
+ }
+ (_j = contactInfoButtonList == null ? void 0 : contactInfoButtonList.value) == null ? void 0 : _j.push(
+ TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig.enterGroupConversation
+ );
+ } else if (!isGroup.value && isBothFriend.value) {
+ (_k = contactInfoButtonList == null ? void 0 : contactInfoButtonList.value) == null ? void 0 : _k.push(TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig.deleteFriend);
+ (_l = contactInfoButtonList == null ? void 0 : contactInfoButtonList.value) == null ? void 0 : _l.push(
+ TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig.enterC2CConversation
+ );
+ } else {
+ if (isGroup.value) {
+ (_p = contactInfoButtonList == null ? void 0 : contactInfoButtonList.value) == null ? void 0 : _p.push(
+ ((_m = contactInfoData.value) == null ? void 0 : _m.type) === ((_o = (_n = common_vendor.qt) == null ? void 0 : _n.TYPES) == null ? void 0 : _o.GRP_AVCHATROOM) ? TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig.joinAVChatGroup : TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig.joinGroup
+ );
+ } else {
+ (_q = contactInfoButtonList == null ? void 0 : contactInfoButtonList.value) == null ? void 0 : _q.push(TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig.addFriend);
+ }
+ }
+ }
+ };
+ function onUserBlacklistUpdated(userBlacklist) {
+ blackList.value = userBlacklist;
+ }
+ async function onCurrentContactInfoUpdated(contactInfo) {
+ var _a;
+ if (contactInfoData.value && contactInfo && JSON.stringify(contactInfoData.value) === JSON.stringify(contactInfo)) {
+ return;
+ }
+ resetContactInfoUIData();
+ contactInfoData.value = TUIKit_components_TUIChat_utils_utils.deepCopy(contactInfo) || {};
+ if (!contactInfoData.value || ((_a = Object.keys(contactInfoData.value)) == null ? void 0 : _a.length) === 0) {
+ return;
+ }
+ contactInfoBasicList.value = TUIKit_components_TUIContact_utils_index.generateContactInfoBasic(
+ contactInfoData.value
+ );
+ isBothFriend.value = await TUIKit_components_TUIContact_utils_index.isFriend(contactInfoData.value);
+ generateMoreInfo();
+ generateButton();
+ if (contactInfo.infoKeyList) {
+ contactInfoMoreList.value = contactInfo.infoKeyList.map((key) => {
+ return TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactMoreInfoConfig[key];
+ });
+ }
+ if (contactInfo.btnKeyList) {
+ contactInfoButtonList.value = contactInfo.btnKeyList.map((key) => {
+ return TUIKit_components_TUIContact_contactInfo_contactInfoConfig.contactButtonConfig[key];
+ });
+ }
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: typeof common_vendor.unref(contactInfoData) === "object" && Object.keys(common_vendor.unref(contactInfoData)).length
+ }, typeof common_vendor.unref(contactInfoData) === "object" && Object.keys(common_vendor.unref(contactInfoData)).length ? common_vendor.e({
+ b: !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ c: common_vendor.p({
+ file: common_vendor.unref(common_assets.backIcon)
+ }),
+ d: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-header-icon"),
+ e: common_vendor.o$1(resetContactSearchingUIData),
+ f: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIContact.添加好友/群聊")),
+ g: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-header-title"),
+ h: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-header")
+ } : {}, {
+ i: common_vendor.t(common_vendor.unref(TUIKit_components_TUIContact_utils_index.generateContactInfoName)(common_vendor.unref(contactInfoData))),
+ j: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-basic-text-name"),
+ k: common_vendor.f(common_vendor.unref(contactInfoBasicList), (item, k0, i0) => {
+ return {
+ a: common_vendor.t(`${common_vendor.unref(common_vendor.Wt).t(`TUIContact.${item.label}`)}:
+ ${item.data}`),
+ b: item.label
+ };
+ }),
+ l: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-basic-text-other"),
+ m: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-basic-text"),
+ n: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-basic-avatar"),
+ o: common_vendor.unref(TUIKit_components_TUIContact_utils_index.generateAvatar)(common_vendor.unref(contactInfoData)),
+ p: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-basic"),
+ q: common_vendor.unref(contactInfoMoreList)[0]
+ }, common_vendor.unref(contactInfoMoreList)[0] ? {
+ r: common_vendor.f(common_vendor.unref(contactInfoMoreList), (item, k0, i0) => {
+ return common_vendor.e({
+ a: common_vendor.t(`${common_vendor.unref(common_vendor.Wt).t(`TUIContact.${item.label}`)}`),
+ b: !item.editing
+ }, !item.editing ? common_vendor.e({
+ c: common_vendor.t(item.data),
+ d: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-more-item-content-text-data"),
+ e: item.editable
+ }, item.editable ? {
+ f: "e2a6c8d8-1-" + i0,
+ g: common_vendor.p({
+ file: common_vendor.unref(common_assets.editIcon),
+ width: "14px",
+ height: "14px"
+ }),
+ h: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-more-item-content-text-icon"),
+ i: common_vendor.o$1(($event) => setEditing(item), item.key)
+ } : {}, {
+ j: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-more-item-content-text")
+ }) : item.editType === common_vendor.unref(TUIKit_constant.CONTACT_INFO_MORE_EDIT_TYPE).INPUT ? {
+ l: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-more-item-content-input"),
+ m: common_vendor.o$1(($event) => onContactInfoEmitSubmit(item), item.key),
+ n: common_vendor.o$1(($event) => onContactInfoEmitSubmit(item), item.key),
+ o: item.data,
+ p: common_vendor.o$1(($event) => item.data = $event.detail.value, item.key)
+ } : item.editType === common_vendor.unref(TUIKit_constant.CONTACT_INFO_MORE_EDIT_TYPE).TEXTAREA ? {
+ r: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-more-item-content-textarea"),
+ s: item.data,
+ t: common_vendor.o$1(($event) => item.data = $event.detail.value, item.key)
+ } : item.editType === common_vendor.unref(TUIKit_constant.CONTACT_INFO_MORE_EDIT_TYPE).SWITCH ? {
+ w: "e2a6c8d8-2-" + i0,
+ x: common_vendor.p({
+ value: item.data
+ }),
+ y: common_vendor.o$1(($event) => onContactInfoEmitSubmit(item), item.key)
+ } : {}, {
+ k: item.editType === common_vendor.unref(TUIKit_constant.CONTACT_INFO_MORE_EDIT_TYPE).INPUT,
+ q: item.editType === common_vendor.unref(TUIKit_constant.CONTACT_INFO_MORE_EDIT_TYPE).TEXTAREA,
+ v: item.editType === common_vendor.unref(TUIKit_constant.CONTACT_INFO_MORE_EDIT_TYPE).SWITCH,
+ z: item.key,
+ A: common_vendor.n(item.labelPosition === common_vendor.unref(TUIKit_constant.CONTACT_INFO_LABEL_POSITION).TOP ? "tui-contact-info-more-item-top" : "tui-contact-info-more-item-left")
+ });
+ }),
+ s: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-more-item-label"),
+ t: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-more-item-content"),
+ v: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-more-item"),
+ w: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-more")
+ } : {}, {
+ x: common_vendor.f(common_vendor.unref(contactInfoButtonList), (item, k0, i0) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIContact.${item.label}`)),
+ b: item.key,
+ c: common_vendor.n(item.type === common_vendor.unref(TUIKit_constant.CONTACT_INFO_BUTTON_TYPE).CANCEL ? `tui-contact-info-button-item-cancel` : `tui-contact-info-button-item-submit`),
+ d: common_vendor.o$1(($event) => onContactInfoButtonClicked(item), item.key)
+ };
+ }),
+ y: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-button-item"),
+ z: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5-button"),
+ A: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-info-h5")
+ }) : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e2a6c8d8"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIContact/contact-info/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.json
new file mode 100644
index 0000000..f9e9331
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../common/Icon",
+ "switch-bar": "../../common/SwitchBar/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.wxml
new file mode 100644
index 0000000..0183c39
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.wxml
@@ -0,0 +1 @@
+{{i}} {{item.a}} {{item.a}} {{item.c}} {{item.a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.wxss
new file mode 100644
index 0000000..d1ef8fa
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-info/index.wxss
@@ -0,0 +1,314 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-contact-info.data-v-e2a6c8d8 {
+ width: 100%;
+ height: 100%;
+ background: #f7f8fa;
+ display: flex;
+ padding: 30px;
+ box-sizing: border-box;
+ flex-direction: column;
+ overflow: hidden;
+}
+.tui-contact-info-basic.data-v-e2a6c8d8 {
+ display: flex;
+ justify-content: space-between;
+ padding-bottom: 15px;
+ border-bottom: 1px solid #ddd;
+ overflow: hidden;
+ box-sizing: border-box;
+ width: 100%;
+}
+.tui-contact-info-basic-text.data-v-e2a6c8d8 {
+ flex: 1;
+}
+.tui-contact-info-basic-text-name.data-v-e2a6c8d8 {
+ font-size: 24px;
+ padding-bottom: 10px;
+}
+.tui-contact-info-basic-text-other.data-v-e2a6c8d8 {
+ font-size: 16px;
+ padding: 6px 0;
+ font-weight: 400;
+ color: #999;
+}
+.tui-contact-info-basic-avatar.data-v-e2a6c8d8 {
+ width: 80px;
+ height: 80px;
+}
+.tui-contact-info-more.data-v-e2a6c8d8 {
+ padding: 15px 0;
+ overflow: hidden;
+}
+.tui-contact-info-more-item.data-v-e2a6c8d8 {
+ display: flex;
+ padding: 6px 0;
+ font-size: 16px;
+ font-weight: 400;
+ min-height: 56px;
+}
+.tui-contact-info-more-item-label.data-v-e2a6c8d8 {
+ color: #999;
+ height: -webkit-fit-content;
+ height: fit-content;
+}
+.tui-contact-info-more-item-left.data-v-e2a6c8d8 {
+ flex-direction: row;
+ align-items: center;
+}
+.tui-contact-info-more-item-left .tui-contact-info-more-item-label.data-v-e2a6c8d8 {
+ width: 80px;
+}
+.tui-contact-info-more-item-top.data-v-e2a6c8d8 {
+ flex-direction: column;
+}
+.tui-contact-info-more-item-content.data-v-e2a6c8d8 {
+ flex: 1;
+ display: flex;
+ flex-direction: row;
+ color: #333;
+ overflow: hidden;
+}
+.tui-contact-info-more-item-content-text.data-v-e2a6c8d8 {
+ display: flex;
+ overflow: hidden;
+}
+.tui-contact-info-more-item-content-text-data.data-v-e2a6c8d8 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.tui-contact-info-more-item-content-text-icon.data-v-e2a6c8d8 {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+}
+.tui-contact-info-more-item-content-input.data-v-e2a6c8d8, .tui-contact-info-more-item-content-textarea.data-v-e2a6c8d8 {
+ flex: 1;
+ border: 1px solid #e8e8e9;
+ border-radius: 4px;
+ padding: 4px;
+ color: inherit;
+}
+.tui-contact-info-more-item-content-input.data-v-e2a6c8d8 {
+ height: 22px;
+ font-size: 16px;
+}
+.tui-contact-info-more-item-content-textarea.data-v-e2a6c8d8 {
+ resize: none;
+ height: 100px;
+}
+.tui-contact-info-button.data-v-e2a6c8d8 {
+ display: flex;
+ padding: 30px;
+ justify-content: center;
+}
+.tui-contact-info-button-item.data-v-e2a6c8d8 {
+ margin: 15px;
+ min-width: 142px;
+ height: 36px;
+ padding: 8px 20px;
+ border-radius: 4px;
+ border: none;
+ font-size: 14px;
+ text-align: center;
+ line-height: 20px;
+ font-weight: 400;
+ letter-spacing: 0;
+ cursor: pointer;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.tui-contact-info-button-item-submit.data-v-e2a6c8d8 {
+ border: 1px solid #006eff;
+ background: #006eff;
+ color: #fff;
+}
+.tui-contact-info-button-item-cancel.data-v-e2a6c8d8 {
+ border: 1px solid #e54545;
+ background: transparent;
+ color: #e54545;
+}
+.tui-contact-info-h5.data-v-e2a6c8d8 {
+ padding: 0;
+ overflow: hidden;
+}
+.tui-contact-info-h5-header.data-v-e2a6c8d8 {
+ background-color: #fff;
+ padding: 10px !important;
+ display: flex;
+ flex-direction: row;
+}
+.tui-contact-info-h5-header-title.data-v-e2a6c8d8 {
+ flex: 1;
+ text-align: center;
+ font-weight: 500;
+ font-size: 14px;
+ margin-right: 30px;
+}
+.tui-contact-info-h5-basic.data-v-e2a6c8d8 {
+ padding: 10px !important;
+ background: #fff;
+ margin-top: 10px !important;
+ display: flex;
+ flex-direction: row-reverse;
+ justify-content: left;
+ border-bottom: none;
+}
+.tui-contact-info-h5-basic-text-name.data-v-e2a6c8d8 {
+ font-size: 20px;
+ padding-bottom: 1px;
+}
+.tui-contact-info-h5-basic-text-other.data-v-e2a6c8d8 {
+ font-size: 14px;
+ padding: 3px 0;
+}
+.tui-contact-info-h5-basic-avatar.data-v-e2a6c8d8 {
+ border-radius: 10px;
+ margin-right: 10px;
+}
+.tui-contact-info-h5-more.data-v-e2a6c8d8 {
+ background: #fff;
+ margin-top: 10px !important;
+ overflow: hidden;
+ padding: 0;
+}
+.tui-contact-info-h5-more-item.data-v-e2a6c8d8 {
+ width: 100%;
+ box-sizing: border-box;
+ overflow: hidden;
+ padding: 10px !important;
+ border-bottom: 1px solid #eee;
+}
+.tui-contact-info-h5-more-item-label.data-v-e2a6c8d8 {
+ color: #000;
+}
+.tui-contact-info-h5-more-item-content.data-v-e2a6c8d8 {
+ overflow: hidden;
+ color: #979797;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+}
+.tui-contact-info-h5-more-item-content-text.data-v-e2a6c8d8 {
+ overflow: hidden;
+ display: flex;
+ flex-direction: row;
+}
+.tui-contact-info-h5-more-item-content-text-data.data-v-e2a6c8d8 {
+ flex: 1;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.tui-contact-info-h5-more-item.data-v-e2a6c8d8:last-child {
+ border-bottom: none;
+}
+.tui-contact-info-h5-button.data-v-e2a6c8d8 {
+ margin-top: 10px !important;
+ display: flex;
+ flex-direction: column;
+ padding: 0;
+ background-color: #fff;
+}
+.tui-contact-info-h5-button-item.data-v-e2a6c8d8 {
+ width: 100%;
+ margin: 0;
+ border: none;
+ padding: 16px !important;
+ font-size: 16px;
+ border-bottom: 1px solid #eee;
+ height: -webkit-fit-content;
+ height: fit-content;
+}
+.tui-contact-info-h5-button-item.data-v-e2a6c8d8::after {
+ border: none;
+}
+.tui-contact-info-h5-button-item-textarea.data-v-e2a6c8d8 {
+ background-color: #f8f8f8;
+}
+.tui-contact-info-h5-button-item.data-v-e2a6c8d8:last-child {
+ border-bottom: none;
+}
+.tui-contact-info-h5-button .tui-contact-info-button-item-cancel.data-v-e2a6c8d8 {
+ background-color: #fff;
+ color: #e54545;
+}
+.tui-contact-info-h5-button .tui-contact-info-button-item-submit.data-v-e2a6c8d8 {
+ background-color: #fff;
+ color: #006eff;
+}
+body.data-v-e2a6c8d8, div.data-v-e2a6c8d8, ul.data-v-e2a6c8d8, ol.data-v-e2a6c8d8, dt.data-v-e2a6c8d8, dd.data-v-e2a6c8d8, li.data-v-e2a6c8d8, dl.data-v-e2a6c8d8, h1.data-v-e2a6c8d8, h2.data-v-e2a6c8d8, h3.data-v-e2a6c8d8, h4.data-v-e2a6c8d8, p.data-v-e2a6c8d8 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-e2a6c8d8, ul.data-v-e2a6c8d8, li.data-v-e2a6c8d8 {
+ list-style: none;
+}
+img.data-v-e2a6c8d8 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-e2a6c8d8 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-e2a6c8d8 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-e2a6c8d8 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-e2a6c8d8:hover {
+ text-decoration: none;
+}
+input.data-v-e2a6c8d8, textarea.data-v-e2a6c8d8 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-e2a6c8d8:focus, input.data-v-e2a6c8d8:active, textarea.data-v-e2a6c8d8:focus, textarea.data-v-e2a6c8d8:active {
+ outline: none;
+}
+.chat-aside.data-v-e2a6c8d8 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.js
new file mode 100644
index 0000000..d428eae
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.js
@@ -0,0 +1,119 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_components_TUIContact_utils_index = require("../../utils/index.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+if (!Math) {
+ Avatar();
+}
+const Avatar = () => "../../../common/Avatar/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ item: { default: () => ({}) },
+ displayOnlineStatus: { type: Boolean, default: false }
+ },
+ setup(__props) {
+ const props = __props;
+ const userOnlineStatusMap = common_vendor.inject("userOnlineStatusMap");
+ const isOnline = common_vendor.ref(false);
+ const groupType = {
+ [common_vendor.qt.TYPES.GRP_WORK]: "Work",
+ [common_vendor.qt.TYPES.GRP_AVCHATROOM]: "AVChatRoom",
+ [common_vendor.qt.TYPES.GRP_PUBLIC]: "Public",
+ [common_vendor.qt.TYPES.GRP_MEETING]: "Meeting",
+ [common_vendor.qt.TYPES.GRP_COMMUNITY]: "Community"
+ };
+ const otherContentForSow = common_vendor.computed(() => {
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
+ let content = "";
+ if (((_a = props.item) == null ? void 0 : _a.type) === ((_c = (_b = common_vendor.qt) == null ? void 0 : _b.TYPES) == null ? void 0 : _c.SNS_APPLICATION_SENT_TO_ME) || ((_d = props.item) == null ? void 0 : _d.type) === ((_f = (_e = common_vendor.qt) == null ? void 0 : _e.TYPES) == null ? void 0 : _f.SNS_APPLICATION_SENT_BY_ME)) {
+ content = ((_g = props.item) == null ? void 0 : _g.wording) || "";
+ } else if ((_h = props.item) == null ? void 0 : _h.groupID) {
+ content = `ID:${(_i = props.item) == null ? void 0 : _i.groupID}`;
+ }
+ return content;
+ });
+ const groupTypeForShow = common_vendor.computed(() => {
+ var _a, _b;
+ let type = "";
+ if ((_a = props.item) == null ? void 0 : _a.groupID) {
+ type = groupType[(_b = props.item) == null ? void 0 : _b.type];
+ }
+ return type;
+ });
+ const showApplicationStatus = common_vendor.computed(() => {
+ var _a, _b, _c, _d, _e, _f;
+ if (((_a = props.item) == null ? void 0 : _a.type) === ((_c = (_b = common_vendor.qt) == null ? void 0 : _b.TYPES) == null ? void 0 : _c.SNS_APPLICATION_SENT_BY_ME)) {
+ return {
+ style: "text",
+ label: "等待验证"
+ };
+ } else if (((_d = props.item) == null ? void 0 : _d.type) === ((_f = (_e = common_vendor.qt) == null ? void 0 : _e.TYPES) == null ? void 0 : _f.SNS_APPLICATION_SENT_TO_ME)) {
+ return {
+ style: "button",
+ label: "同意",
+ onClick: () => {
+ var _a2;
+ TUIKit_components_TUIContact_utils_index.acceptFriendApplication((_a2 = props.item) == null ? void 0 : _a2.userID);
+ }
+ };
+ }
+ return false;
+ });
+ common_vendor.watch(
+ () => userOnlineStatusMap == null ? void 0 : userOnlineStatusMap.value,
+ () => {
+ isOnline.value = getOnlineStatus();
+ },
+ {
+ immediate: true,
+ deep: true
+ }
+ );
+ function getOnlineStatus() {
+ var _a, _b, _c;
+ return !!(props.displayOnlineStatus && (userOnlineStatusMap == null ? void 0 : userOnlineStatusMap.value) && ((_a = props.item) == null ? void 0 : _a.userID) && ((_c = (_b = userOnlineStatusMap.value) == null ? void 0 : _b[props.item.userID]) == null ? void 0 : _c.statusType) === common_vendor.qt.TYPES.USER_STATUS_ONLINE);
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.p({
+ useSkeletonAnimation: true,
+ url: common_vendor.unref(TUIKit_components_TUIContact_utils_index.generateAvatar)(props.item)
+ }),
+ b: props.displayOnlineStatus && props.item
+ }, props.displayOnlineStatus && props.item ? {
+ c: common_vendor.unref(isOnline) ? 1 : "",
+ d: !common_vendor.unref(isOnline) ? 1 : ""
+ } : {}, {
+ e: common_vendor.t(common_vendor.unref(TUIKit_components_TUIContact_utils_index.generateName)(props.item)),
+ f: common_vendor.unref(otherContentForSow)
+ }, common_vendor.unref(otherContentForSow) ? {
+ g: common_vendor.t(common_vendor.unref(otherContentForSow))
+ } : {}, {
+ h: common_vendor.unref(groupTypeForShow)
+ }, common_vendor.unref(groupTypeForShow) ? {
+ i: common_vendor.t(common_vendor.unref(groupTypeForShow))
+ } : {}, {
+ j: common_vendor.unref(showApplicationStatus)
+ }, common_vendor.unref(showApplicationStatus) ? common_vendor.e({
+ k: common_vendor.unref(showApplicationStatus).style === "text"
+ }, common_vendor.unref(showApplicationStatus).style === "text" ? {
+ l: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIContact.${common_vendor.unref(showApplicationStatus).label}`))
+ } : common_vendor.unref(showApplicationStatus).style === "button" ? {
+ n: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIContact.${common_vendor.unref(showApplicationStatus).label}`)),
+ o: common_vendor.o$1(
+ //@ts-ignore
+ (...args) => common_vendor.unref(showApplicationStatus).onClick && common_vendor.unref(showApplicationStatus).onClick(...args)
+ )
+ } : {}, {
+ m: common_vendor.unref(showApplicationStatus).style === "button"
+ }) : {}, {
+ p: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-list-card-h5")
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-cbb84739"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.json
new file mode 100644
index 0000000..9bd7ed7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "avatar": "../../../common/Avatar/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.wxml
new file mode 100644
index 0000000..dcced8f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.wxml
@@ -0,0 +1 @@
+{{e}} {{g}} {{i}} {{l}} {{n}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.wxss
new file mode 100644
index 0000000..d8c17e3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/contact-list-item/index.wxss
@@ -0,0 +1,114 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-contact-list-card.data-v-cbb84739 {
+ padding: 5px 0;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ cursor: pointer;
+ -webkit-user-select: none;
+ user-select: none;
+ overflow: hidden;
+ flex: 1;
+}
+.tui-contact-list-card-left.data-v-cbb84739 {
+ position: relative;
+ width: 36px;
+ height: 36px;
+}
+.tui-contact-list-card-left-avatar.data-v-cbb84739 {
+ width: 36px;
+ height: 36px;
+ border-radius: 5px;
+}
+.tui-contact-list-card-left .online-status.data-v-cbb84739 {
+ box-sizing: border-box;
+ position: absolute;
+ width: 10px;
+ height: 10px;
+ left: 30px;
+ top: 30px;
+ border: 2px solid #fff;
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
+ border-radius: 50%;
+}
+.tui-contact-list-card-left .online-status-online.data-v-cbb84739 {
+ background: #29cc85;
+}
+.tui-contact-list-card-left .online-status-offline.data-v-cbb84739 {
+ background: #a4a4a4;
+}
+.tui-contact-list-card-main.data-v-cbb84739 {
+ flex: 1;
+ padding: 0 10px;
+ overflow: hidden;
+}
+.tui-contact-list-card-main-name.data-v-cbb84739, .tui-contact-list-card-main-other.data-v-cbb84739 {
+ font-size: 14px;
+ flex: 1;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.tui-contact-list-card-main-other.data-v-cbb84739 {
+ color: #999;
+}
+.tui-contact-list-card-right.data-v-cbb84739 {
+ width: -webkit-fit-content;
+ width: fit-content;
+}
+.tui-contact-list-card-right-group-type.data-v-cbb84739 {
+ padding: 0 4px;
+ line-height: 14px;
+ font-size: 12px;
+ border-radius: 1px;
+ font-weight: 400;
+ color: rgba(0, 0, 0, 0.3);
+ border: 1px solid rgba(0, 0, 0, 0.3);
+}
+.tui-contact-list-card-right-application-text.data-v-cbb84739 {
+ color: #999;
+ font-size: 12px;
+}
+.tui-contact-list-card-right-application-button.data-v-cbb84739 {
+ border: 1px solid #006eff;
+ background: #006eff;
+ color: #fff;
+ padding: 3px 8px;
+ border-radius: 4px;
+ font-size: 12px;
+ text-align: center;
+ cursor: pointer;
+ -webkit-user-select: none;
+ user-select: none;
+ line-height: 150%;
+}
+.tui-contact-list-card-right-application-button.data-v-cbb84739::after {
+ border: none;
+}
+.tui-contact-list-card-h5.data-v-cbb84739 {
+ cursor: none !important;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.js
new file mode 100644
index 0000000..e7ee1e4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.js
@@ -0,0 +1,295 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_components_TUIChat_utils_utils = require("../../TUIChat/utils/utils.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ (Icon + ContactListItem)();
+}
+const Icon = () => "../../common/Icon.js";
+const ContactListItem = () => "./contact-list-item/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ setup(__props) {
+ const currentContactListKey = common_vendor.ref("");
+ const currentContactInfo = common_vendor.ref({});
+ const contactListMap = common_vendor.ref({
+ friendApplicationList: {
+ key: "friendApplicationList",
+ title: "新的联系人",
+ list: [],
+ unreadCount: 0
+ },
+ blackList: {
+ key: "blackList",
+ title: "黑名单",
+ list: []
+ },
+ groupList: {
+ key: "groupList",
+ title: "我的群聊",
+ list: []
+ },
+ friendList: {
+ key: "friendList",
+ title: "我的好友",
+ list: []
+ }
+ });
+ const contactSearchingStatus = common_vendor.ref(false);
+ const contactSearchResult = common_vendor.ref();
+ const displayOnlineStatus = common_vendor.ref(false);
+ const userOnlineStatusMap = common_vendor.ref();
+ const isContactSearchNoResult = common_vendor.computed(() => {
+ var _a, _b, _c, _d;
+ return !((_b = (_a = contactSearchResult == null ? void 0 : contactSearchResult.value) == null ? void 0 : _a.user) == null ? void 0 : _b.list[0]) && !((_d = (_c = contactSearchResult == null ? void 0 : contactSearchResult.value) == null ? void 0 : _c.group) == null ? void 0 : _d.list[0]);
+ });
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.APP, {
+ enabledCustomerServicePlugin: onCustomerServiceCommercialPluginUpdated
+ });
+ common_vendor.Jt.watch(common_vendor.o.GRP, {
+ groupList: onGroupListUpdated
+ });
+ common_vendor.Jt.watch(common_vendor.o.USER, {
+ userBlacklist: onUserBlacklistUpdated,
+ displayOnlineStatus: onDisplayOnlineStatusUpdated,
+ userStatusList: onUserStatusListUpdated
+ });
+ common_vendor.Jt.watch(common_vendor.o.FRIEND, {
+ friendList: onFriendListUpdated,
+ friendApplicationList: onFriendApplicationListUpdated,
+ friendApplicationUnreadCount: onFriendApplicationUnreadCountUpdated
+ });
+ common_vendor.Jt.watch(common_vendor.o.CUSTOM, {
+ currentContactSearchingStatus: onCurrentContactSearchingStatusUpdated,
+ currentContactSearchResult: onCurrentContactSearchResultUpdated,
+ currentContactListKey: onCurrentContactListKeyUpdated,
+ currentContactInfo: onCurrentContactInfoUpdated
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.APP, {
+ enabledCustomerServicePlugin: onCustomerServiceCommercialPluginUpdated
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.GRP, {
+ groupList: onGroupListUpdated
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.USER, {
+ userBlacklist: onUserBlacklistUpdated,
+ displayOnlineStatus: onDisplayOnlineStatusUpdated,
+ userStatusList: onUserStatusListUpdated
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.FRIEND, {
+ friendList: onFriendListUpdated,
+ friendApplicationList: onFriendApplicationListUpdated,
+ friendApplicationUnreadCount: onFriendApplicationUnreadCountUpdated
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.CUSTOM, {
+ currentContactSearchingStatus: onCurrentContactSearchingStatusUpdated,
+ currentContactSearchResult: onCurrentContactSearchResultUpdated,
+ currentContactListKey: onCurrentContactListKeyUpdated,
+ currentContactInfo: onCurrentContactInfoUpdated
+ });
+ });
+ function toggleCurrentContactList(key) {
+ if (currentContactListKey.value === key) {
+ currentContactListKey.value = "";
+ currentContactInfo.value = {};
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactListKey", "");
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactInfo", {});
+ } else {
+ currentContactListKey.value = key;
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactListKey", key);
+ if (key === "friendApplicationList") {
+ common_vendor.ts.setFriendApplicationRead();
+ }
+ }
+ }
+ function selectItem(item) {
+ var _a, _b, _c, _d, _e, _f, _g, _h;
+ currentContactInfo.value = item;
+ if (contactSearchingStatus.value) {
+ let targetListItem;
+ if ((_a = currentContactInfo.value) == null ? void 0 : _a.userID) {
+ targetListItem = (_d = (_c = (_b = contactListMap.value) == null ? void 0 : _b.friendList) == null ? void 0 : _c.list) == null ? void 0 : _d.find(
+ (item2) => {
+ var _a2;
+ return (item2 == null ? void 0 : item2.userID) === ((_a2 = currentContactInfo.value) == null ? void 0 : _a2.userID);
+ }
+ );
+ } else if ((_e = currentContactInfo.value) == null ? void 0 : _e.groupID) {
+ targetListItem = (_h = (_g = (_f = contactListMap.value) == null ? void 0 : _f.groupList) == null ? void 0 : _g.list) == null ? void 0 : _h.find(
+ (item2) => {
+ var _a2;
+ return (item2 == null ? void 0 : item2.groupID) === ((_a2 = currentContactInfo.value) == null ? void 0 : _a2.groupID);
+ }
+ );
+ }
+ if (targetListItem) {
+ currentContactInfo.value = targetListItem;
+ }
+ }
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactInfo", currentContactInfo.value);
+ }
+ function onDisplayOnlineStatusUpdated(status) {
+ displayOnlineStatus.value = status;
+ }
+ function onUserStatusListUpdated(list) {
+ if ((list == null ? void 0 : list.size) > 0) {
+ userOnlineStatusMap.value = Object.fromEntries(list == null ? void 0 : list.entries());
+ }
+ }
+ function onCustomerServiceCommercialPluginUpdated(isEnabled) {
+ if (!isEnabled) {
+ return;
+ }
+ const contactListExtensionID = common_vendor.E.TUIContact.EXTENSION.CONTACT_LIST.EXT_ID;
+ const tuiContactExtensionList = common_vendor.R.getExtensionList(contactListExtensionID);
+ const customerData = tuiContactExtensionList.find((extension) => {
+ const { name, accountList = [] } = extension.data || {};
+ return name === "customer" && accountList.length > 0;
+ });
+ if (customerData) {
+ const { data, text } = customerData;
+ const { accountList } = data || {};
+ common_vendor.Zt.getUserProfile({ userIDList: accountList }).then((res) => {
+ if (res.data.length > 0) {
+ const customerList = {
+ title: text,
+ list: res.data.map((item, index) => {
+ return {
+ ...item,
+ renderKey: generateRenderKey("customerList", item, index),
+ infoKeyList: [],
+ btnKeyList: ["enterC2CConversation"]
+ };
+ }),
+ key: "customerList"
+ };
+ contactListMap.value = { ...contactListMap.value, customerList };
+ }
+ }).catch(() => {
+ });
+ }
+ }
+ function onGroupListUpdated(groupList) {
+ updateContactListMap("groupList", groupList);
+ }
+ function onUserBlacklistUpdated(userBlacklist) {
+ updateContactListMap("blackList", userBlacklist);
+ }
+ function onFriendApplicationUnreadCountUpdated(friendApplicationUnreadCount) {
+ contactListMap.value.friendApplicationList.unreadCount = friendApplicationUnreadCount;
+ }
+ function onFriendListUpdated(friendList) {
+ updateContactListMap("friendList", friendList);
+ }
+ function onFriendApplicationListUpdated(friendApplicationList) {
+ updateContactListMap("friendApplicationList", friendApplicationList);
+ }
+ function updateContactListMap(key, list) {
+ contactListMap.value[key].list = list;
+ contactListMap.value[key].list.map((item, index) => item.renderKey = generateRenderKey(key, item, index));
+ updateCurrentContactInfoFromList(contactListMap.value[key].list, key);
+ }
+ function updateCurrentContactInfoFromList(list, type) {
+ var _a, _b;
+ if (!((_a = currentContactInfo.value) == null ? void 0 : _a.userID) && !((_b = currentContactInfo.value) == null ? void 0 : _b.groupID)) {
+ return;
+ }
+ if (type === currentContactListKey.value || contactSearchingStatus.value) {
+ currentContactInfo.value = (list == null ? void 0 : list.find(
+ (item) => {
+ var _a2, _b2;
+ return (item == null ? void 0 : item.groupID) && (item == null ? void 0 : item.groupID) === ((_a2 = currentContactInfo.value) == null ? void 0 : _a2.groupID) || (item == null ? void 0 : item.userID) && (item == null ? void 0 : item.userID) === ((_b2 = currentContactInfo.value) == null ? void 0 : _b2.userID);
+ }
+ )) || {};
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactInfo", currentContactInfo.value);
+ }
+ }
+ function generateRenderKey(contactListMapKey, contactInfo, index) {
+ return `${contactListMapKey}-${contactInfo.userID || contactInfo.groupID || "index" + index}`;
+ }
+ function onCurrentContactSearchResultUpdated(searchResult) {
+ contactSearchResult.value = searchResult;
+ }
+ function onCurrentContactSearchingStatusUpdated(searchingStatus) {
+ contactSearchingStatus.value = searchingStatus;
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactInfo", {});
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "currentContactListKey", "");
+ }
+ function onCurrentContactInfoUpdated(contactInfo) {
+ currentContactInfo.value = contactInfo;
+ }
+ function onCurrentContactListKeyUpdated(contactListKey) {
+ currentContactListKey.value = contactListKey;
+ }
+ common_vendor.provide("userOnlineStatusMap", userOnlineStatusMap);
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(contactSearchingStatus)
+ }, !common_vendor.unref(contactSearchingStatus) ? {
+ b: common_vendor.f(common_vendor.unref(contactListMap), (contactListObj, key, i0) => {
+ return common_vendor.e({
+ a: "2682c040-0-" + i0,
+ b: common_vendor.p({
+ file: common_vendor.unref(currentContactListKey) === key ? common_vendor.unref(common_assets.downSVG) : common_vendor.unref(common_assets.rightIcon),
+ width: "16px",
+ height: "16px"
+ }),
+ c: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIContact.${contactListObj.title}`)),
+ d: contactListObj.unreadCount
+ }, contactListObj.unreadCount ? {
+ e: common_vendor.t(contactListObj.unreadCount)
+ } : {}, {
+ f: common_vendor.o$1(($event) => toggleCurrentContactList(key), key),
+ g: common_vendor.f(contactListObj.list, (contactListItem, k1, i1) => {
+ return {
+ a: contactListItem.renderKey,
+ b: "2682c040-1-" + i0 + "-" + i1,
+ c: common_vendor.p({
+ item: common_vendor.unref(TUIKit_components_TUIChat_utils_utils.deepCopy)(contactListItem),
+ displayOnlineStatus: common_vendor.unref(displayOnlineStatus) && key === "friendList"
+ }),
+ d: contactListItem.renderKey,
+ e: common_vendor.o$1(($event) => selectItem(contactListItem), contactListItem.renderKey)
+ };
+ }),
+ h: common_vendor.n(common_vendor.unref(currentContactListKey) === key ? "" : "hidden"),
+ i: key
+ });
+ }),
+ c: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-list-h5")
+ } : common_vendor.e({
+ d: common_vendor.f(common_vendor.unref(contactSearchResult), (item, key, i0) => {
+ return common_vendor.e({
+ a: item.list[0]
+ }, item.list[0] ? {
+ b: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIContact.${item.label}`)),
+ c: common_vendor.f(item.list, (listItem, index, i1) => {
+ return {
+ a: "2682c040-2-" + i0 + "-" + i1,
+ b: common_vendor.p({
+ item: listItem,
+ displayOnlineStatus: false
+ }),
+ c: index,
+ d: common_vendor.o$1(($event) => selectItem(listItem), index)
+ };
+ })
+ } : {}, {
+ d: key
+ });
+ }),
+ e: common_vendor.unref(isContactSearchNoResult)
+ }, common_vendor.unref(isContactSearchNoResult) ? {
+ f: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIContact.无搜索结果"))
+ } : {}));
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-2682c040"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIContact/contact-list/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.json
new file mode 100644
index 0000000..78e0680
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../common/Icon",
+ "contact-list-item": "./contact-list-item/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.wxml
new file mode 100644
index 0000000..379889d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.wxml
@@ -0,0 +1 @@
+{{item.b}} {{f}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.wxss
new file mode 100644
index 0000000..c591879
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-list/index.wxss
@@ -0,0 +1,157 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-contact-list.data-v-2682c040 {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ height: 100%;
+ overflow-y: auto;
+ list-style: none;
+}
+.tui-contact-list-item.data-v-2682c040 {
+ display: flex;
+ flex-direction: column;
+}
+.tui-contact-list-item-header.data-v-2682c040 {
+ display: flex;
+ flex-direction: row;
+ font-size: 14px;
+ cursor: pointer;
+ -webkit-user-select: none;
+ user-select: none;
+ padding: 10px 15px;
+ justify-content: space-between;
+}
+.tui-contact-list-item-header-left.data-v-2682c040 {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+.tui-contact-list-item-header-right.data-v-2682c040 {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.tui-contact-list-item-header-right-unread.data-v-2682c040 {
+ display: flex;
+ min-width: 10px;
+ width: -webkit-fit-content;
+ width: fit-content;
+ padding: 0 2.5px;
+ height: 15px;
+ font-size: 10px;
+ text-align: center;
+ line-height: 15px;
+ border-radius: 7.5px;
+ background: red;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+}
+.tui-contact-list-item-main.data-v-2682c040 {
+ padding: 0 15px !important;
+}
+.tui-contact-list-item-main.hidden.data-v-2682c040 {
+ display: none;
+}
+.tui-contact-list-item-main-item.data-v-2682c040 {
+ padding: 5px 0;
+}
+.tui-contact-search-list.data-v-2682c040 {
+ padding: 0 15px !important;
+}
+.tui-contact-search-list-title.data-v-2682c040 {
+ font-size: 14px;
+ color: #999;
+ border-bottom: 1px solid #f4f5f9;
+}
+.tui-contact-search-list-item.data-v-2682c040 {
+ padding: 5px 0;
+}
+.tui-contact-search-list-default.data-v-2682c040 {
+ padding: 20px;
+ text-align: center;
+ font-size: 14px;
+ color: #999;
+}
+.tui-contact-list-h5 .tui-contact-list-item .tui-contact-list-item-header.data-v-2682c040 {
+ cursor: none;
+}
+.tui-contact-list-h5 .tui-contact-list-item .tui-contact-list-item-header.data-v-2682c040:active,
+.tui-contact-list-h5 .tui-contact-list-item .tui-contact-list-item-main-item.data-v-2682c040:active {
+ background-color: #eef0f3;
+}
+body.data-v-2682c040, div.data-v-2682c040, ul.data-v-2682c040, ol.data-v-2682c040, dt.data-v-2682c040, dd.data-v-2682c040, li.data-v-2682c040, dl.data-v-2682c040, h1.data-v-2682c040, h2.data-v-2682c040, h3.data-v-2682c040, h4.data-v-2682c040, p.data-v-2682c040 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-2682c040, ul.data-v-2682c040, li.data-v-2682c040 {
+ list-style: none;
+}
+img.data-v-2682c040 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-2682c040 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-2682c040 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-2682c040 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-2682c040:hover {
+ text-decoration: none;
+}
+input.data-v-2682c040, textarea.data-v-2682c040 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-2682c040:focus, input.data-v-2682c040:active, textarea.data-v-2682c040:focus, textarea.data-v-2682c040:active {
+ outline: none;
+}
+.chat-aside.data-v-2682c040 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.js
new file mode 100644
index 0000000..89c6491
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.js
@@ -0,0 +1,132 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const TUIKit_utils_lodash = require("../../../utils/lodash.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ setup(__props) {
+ const searchingPlaceholder = common_vendor.Wt.t("TUIContact.输入ID");
+ const isSearching = common_vendor.ref(false);
+ const searchValue = common_vendor.ref("");
+ const searchResult = common_vendor.ref({
+ user: {
+ label: "联系人",
+ list: []
+ },
+ group: {
+ label: "群聊",
+ list: []
+ }
+ });
+ const changeContactSearchingStatus = TUIKit_utils_lodash.debounce(function(status) {
+ isSearching.value = status;
+ }, 200);
+ const search = async () => {
+ if (!searchValue.value) {
+ return;
+ }
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUISearch.SERVICE.NAME,
+ method: common_vendor.E.TUISearch.SERVICE.METHOD.SEARCH_USER,
+ params: {
+ userID: searchValue.value
+ }
+ }).then((res) => {
+ searchResult.value.user.list = res.data;
+ }).catch((error) => {
+ searchResult.value.user.list = [];
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/contact-search/index.vue:111", "search user error", error);
+ });
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUISearch.SERVICE.NAME,
+ method: common_vendor.E.TUISearch.SERVICE.METHOD.SEARCH_GROUP,
+ params: {
+ groupID: searchValue.value
+ }
+ }).then((res) => {
+ searchResult.value.group.list = [res.data.group];
+ }).catch((error) => {
+ searchResult.value.group.list = [];
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/contact-search/index.vue:125", "search group error", error);
+ });
+ };
+ common_vendor.watch(
+ () => searchResult.value,
+ () => {
+ common_vendor.Jt.update(
+ common_vendor.o.CUSTOM,
+ "currentContactSearchResult",
+ searchResult.value
+ );
+ },
+ {
+ deep: true,
+ immediate: true
+ }
+ );
+ common_vendor.watch(
+ () => isSearching.value,
+ () => {
+ common_vendor.Jt.update(
+ common_vendor.o.CUSTOM,
+ "currentContactSearchingStatus",
+ isSearching.value
+ );
+ if (isSearching.value) {
+ searchValue.value = "";
+ searchResult.value.user.list = [];
+ searchResult.value.group.list = [];
+ }
+ },
+ {
+ deep: true,
+ immediate: true
+ }
+ );
+ common_vendor.i.updateContactSearch = search;
+ common_vendor.i.closeSearching = () => {
+ isSearching.value = false;
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(isSearching) || !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(isSearching) || !common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ b: common_vendor.p({
+ file: common_vendor.unref(isSearching) ? common_vendor.unref(common_assets.backIcon) : common_vendor.unref(common_assets.addSVG),
+ width: common_vendor.unref(isSearching) ? "20px" : "14px",
+ height: common_vendor.unref(isSearching) ? "20px" : "14px"
+ }),
+ c: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-search-h5-header-icon"),
+ d: common_vendor.o$1(($event) => common_vendor.unref(changeContactSearchingStatus)(!common_vendor.unref(isSearching))),
+ e: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIContact.添加好友/群聊")),
+ f: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-search-h5-header-title"),
+ g: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-search-h5-header"),
+ h: common_vendor.n(common_vendor.unref(isSearching) && "tui-contact-searching-h5-header"),
+ i: common_vendor.o$1(($event) => common_vendor.unref(changeContactSearchingStatus)(true))
+ } : {}, {
+ j: common_vendor.unref(isSearching)
+ }, common_vendor.unref(isSearching) ? {
+ k: common_vendor.unref(searchingPlaceholder),
+ l: common_vendor.o$1(search),
+ m: common_vendor.o$1(search),
+ n: common_vendor.o$1(search),
+ o: common_vendor.unref(searchValue),
+ p: common_vendor.o$1(($event) => common_vendor.isRef(searchValue) ? searchValue.value = $event.detail.value : null),
+ q: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("取消")),
+ r: common_vendor.o$1(($event) => isSearching.value = false),
+ s: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-search-h5-main")
+ } : {}, {
+ t: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-search-h5")
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-efa1a0fe"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIContact/contact-search/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.json
new file mode 100644
index 0000000..017f9cf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.wxml
new file mode 100644
index 0000000..bef826f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.wxml
@@ -0,0 +1 @@
+{{q}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.wxss
new file mode 100644
index 0000000..248e2b7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/contact-search/index.wxss
@@ -0,0 +1,96 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-contact-search.data-v-efa1a0fe {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1;
+ padding: 12px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background: #fff;
+ border-bottom: 1px solid #f4f5f9;
+ flex-direction: column;
+}
+.tui-contact-search-header.data-v-efa1a0fe, .tui-contact-search-main.data-v-efa1a0fe {
+ width: 100%;
+ height: 30px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+.tui-contact-search-header.data-v-efa1a0fe {
+ -webkit-user-select: none;
+ user-select: none;
+ cursor: pointer;
+}
+.tui-contact-search-header-icon.data-v-efa1a0fe {
+ padding-right: 10px;
+}
+.tui-contact-search-header-title.data-v-efa1a0fe {
+ font-size: 14px;
+}
+.tui-contact-search-main.data-v-efa1a0fe {
+ display: flex;
+ flex-direction: row;
+ flex: 1;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+}
+.tui-contact-search-main-input.data-v-efa1a0fe {
+ flex: 1;
+ font-size: 14px;
+ border-radius: 5px;
+ padding: 7px;
+ border: 1px solid #ddd;
+}
+.tui-contact-search-main-input.data-v-efa1a0fe:focus {
+ outline: none;
+ border: 1px solid #006eff;
+}
+.tui-contact-search-main-cancel.data-v-efa1a0fe {
+ padding-left: 10px;
+ -webkit-user-select: none;
+ user-select: none;
+ cursor: pointer;
+}
+.tui-contact-search-h5-header.data-v-efa1a0fe {
+ width: 100%;
+}
+.tui-contact-searching-h5-header.data-v-efa1a0fe {
+ padding-bottom: 10px;
+ display: flex;
+ flex-direction: row;
+}
+.tui-contact-searching-h5-header .tui-contact-search-h5-header-title.data-v-efa1a0fe {
+ flex: 1;
+ text-align: center;
+ font-weight: 500;
+ font-size: 14px;
+ margin-right: 30px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.js
new file mode 100644
index 0000000..32a238d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.js
@@ -0,0 +1,4 @@
+"use strict";
+const TUIKit_components_index = require("../index.js");
+wx.createPage(TUIKit_components_index.MiniProgramPage$2);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIContact/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.json
new file mode 100644
index 0000000..910e543
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.json
@@ -0,0 +1,9 @@
+{
+ "navigationBarTitleText": "腾讯云 IM",
+ "usingComponents": {
+ "select-friend": "./select-friend/index",
+ "contact-search": "./contact-search/index",
+ "contact-list": "./contact-list/index",
+ "contact-info": "./contact-info/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.wxml
new file mode 100644
index 0000000..86c3116
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.wxss
new file mode 100644
index 0000000..a3f390b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/index.wxss
@@ -0,0 +1,109 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-32d81a7d, div.data-v-32d81a7d, ul.data-v-32d81a7d, ol.data-v-32d81a7d, dt.data-v-32d81a7d, dd.data-v-32d81a7d, li.data-v-32d81a7d, dl.data-v-32d81a7d, h1.data-v-32d81a7d, h2.data-v-32d81a7d, h3.data-v-32d81a7d, h4.data-v-32d81a7d, p.data-v-32d81a7d {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-32d81a7d, ul.data-v-32d81a7d, li.data-v-32d81a7d {
+ list-style: none;
+}
+img.data-v-32d81a7d {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-32d81a7d {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-32d81a7d {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-32d81a7d {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-32d81a7d:hover {
+ text-decoration: none;
+}
+input.data-v-32d81a7d, textarea.data-v-32d81a7d {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-32d81a7d:focus, input.data-v-32d81a7d:active, textarea.data-v-32d81a7d:focus, textarea.data-v-32d81a7d:active {
+ outline: none;
+}
+.chat-aside.data-v-32d81a7d {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-contact.data-v-32d81a7d {
+ width: 100%;
+ height: 100%;
+ box-sizing: border-box;
+ display: flex;
+ overflow: hidden;
+}
+.tui-contact-left.data-v-32d81a7d {
+ min-width: 285px;
+ flex: 0 0 24%;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+.tui-contact-right.data-v-32d81a7d {
+ border-left: 1px solid #f4f5f9;
+ flex: 1;
+ overflow: hidden;
+}
+.tui-contact-h5.data-v-32d81a7d {
+ position: relative;
+}
+.tui-contact-h5-left.data-v-32d81a7d, .tui-contact-h5-right.data-v-32d81a7d {
+ width: 100%;
+ height: 100%;
+ flex: 1;
+}
+.tui-contact-h5-right.data-v-32d81a7d {
+ position: absolute;
+ z-index: 100;
+}
+.tui-contact-h5-left-list.data-v-32d81a7d {
+ overflow-y: auto;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.js
new file mode 100644
index 0000000..7936933
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.js
@@ -0,0 +1,91 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_components_TUIContact_server = require("../server.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+if (!Math) {
+ SelectUser();
+}
+const SelectUser = () => "../../common/SelectUser/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ setup(__props) {
+ const TUIContactServer = TUIKit_components_TUIContact_server.TUIContactServer.getInstance();
+ const TUIConstants = TUIContactServer.constants;
+ const needSearch = common_vendor.ref(false);
+ const friendList = common_vendor.ref([]);
+ const userList = common_vendor.ref([]);
+ const TUISearchServer = common_vendor.ref(null);
+ const selectOptions = common_vendor.ref({
+ isRadio: false,
+ isNeedSearch: false,
+ title: ""
+ });
+ const generateSearchServer = (isNeedSearch) => {
+ TUISearchServer.value = common_vendor.R.getService(TUIConstants.TUISearch.SERVICE.NAME);
+ if (TUISearchServer.value) {
+ needSearch.value = isNeedSearch;
+ } else {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/select-friend/index.vue:41", "请添加 TUISearch 组件");
+ }
+ };
+ common_vendor.watchEffect(() => {
+ const params = TUIContactServer.getOnCallParams(TUIConstants.TUIContact.SERVICE.METHOD.SELECT_FRIEND);
+ selectOptions.value.title = params.title;
+ selectOptions.value.isRadio = params.isRadio;
+ selectOptions.value.isNeedSearch = params.isNeedSearch;
+ if (params.isNeedSearch) {
+ generateSearchServer(params.isNeedSearch);
+ }
+ common_vendor.ts.getFriendList().then((res) => {
+ friendList.value = res.data.map((item) => item.profile);
+ userList.value = friendList.value;
+ }).catch((err) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/select-friend/index.vue:57", "getFriendList error:", err);
+ });
+ });
+ const handleSelectedResult = (memberList) => {
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "isShowSelectFriendComponent", false);
+ const callback = TUIContactServer.getOnCallCallback(TUIConstants.TUIContact.SERVICE.METHOD.SELECT_FRIEND);
+ callback && callback(memberList);
+ };
+ const searchFail = () => {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIGroup.该用户不存在"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ userList.value = [...friendList.value];
+ };
+ const handleSearch = async (val) => {
+ if (!val) {
+ return userList.value = friendList.value;
+ }
+ try {
+ const imResponse = await TUISearchServer.value.searchUser(val);
+ if (!imResponse.data[0]) {
+ return searchFail();
+ }
+ userList.value = imResponse.data;
+ const searchAllResult = friendList.value.filter((item) => item.userID === imResponse.data[0].userID);
+ friendList.value = searchAllResult.length ? friendList.value : [...friendList.value, ...userList.value];
+ } catch (error) {
+ return searchFail();
+ }
+ };
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.o$1(handleSearch),
+ b: common_vendor.o$1(handleSelectedResult),
+ c: common_vendor.p({
+ isRadio: common_vendor.unref(selectOptions).isRadio,
+ isNeedSearch: common_vendor.unref(selectOptions).isNeedSearch,
+ title: common_vendor.unref(selectOptions).title,
+ userList: common_vendor.unref(userList)
+ })
+ };
+ };
+ }
+});
+wx.createComponent(_sfc_main);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIContact/select-friend/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.json
new file mode 100644
index 0000000..d80635f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "select-user": "../../common/SelectUser/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.wxml
new file mode 100644
index 0000000..56b10e8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/select-friend/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/server.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/server.js
new file mode 100644
index 0000000..52aa8a8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/server.js
@@ -0,0 +1,36 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const TUIKit_utils_env = require("../../utils/env.js");
+class TUIContactServer {
+ constructor() {
+ common_vendor.R.registerService(common_vendor.E.TUIContact.SERVICE.NAME, this);
+ this.onCallParamsMap = /* @__PURE__ */ new Map();
+ this.onCallCallbackMap = /* @__PURE__ */ new Map();
+ this.constants = common_vendor.E;
+ }
+ static getInstance() {
+ if (!TUIContactServer.instance) {
+ TUIContactServer.instance = new TUIContactServer();
+ }
+ return TUIContactServer.instance;
+ }
+ getOnCallParams(method) {
+ return this.onCallParamsMap.get(method);
+ }
+ getOnCallCallback(method) {
+ return this.onCallCallbackMap.get(method);
+ }
+ async onCall(method, params, callback) {
+ var _a;
+ this.onCallParamsMap.set(method, params);
+ this.onCallCallbackMap.set(method, callback);
+ if (method === common_vendor.E.TUIContact.SERVICE.METHOD.SELECT_FRIEND) {
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "isShowSelectFriendComponent", true);
+ TUIKit_utils_env.isUniFrameWork && ((_a = common_vendor.i) == null ? void 0 : _a.reLaunch({
+ url: "/TUIKit/components/TUIContact/index"
+ }));
+ }
+ }
+}
+exports.TUIContactServer = TUIContactServer;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIContact/server.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/utils/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/utils/index.js
new file mode 100644
index 0000000..f337489
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIContact/utils/index.js
@@ -0,0 +1,289 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+const generateAvatar = (item) => {
+ var _a;
+ return (item == null ? void 0 : item.avatar) || ((_a = item == null ? void 0 : item.profile) == null ? void 0 : _a.avatar) || (item == null ? void 0 : item.groupID) && "https://web.sdk.qcloud.com/im/assets/images/Public.svg" || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png";
+};
+const generateName = (item) => {
+ var _a;
+ return (item == null ? void 0 : item.remark) || (item == null ? void 0 : item.name) || ((_a = item == null ? void 0 : item.profile) == null ? void 0 : _a.nick) || (item == null ? void 0 : item.nick) || (item == null ? void 0 : item.groupID) || (item == null ? void 0 : item.userID) || "";
+};
+const generateContactInfoName = (item) => {
+ var _a;
+ return (item == null ? void 0 : item.name) || ((_a = item == null ? void 0 : item.profile) == null ? void 0 : _a.nick) || (item == null ? void 0 : item.nick) || (item == null ? void 0 : item.groupID) || (item == null ? void 0 : item.userID) || "";
+};
+const generateContactInfoBasic = (contactInfo) => {
+ var _a;
+ const res = [
+ {
+ label: (contactInfo == null ? void 0 : contactInfo.groupID) ? "群ID" : "ID",
+ data: (contactInfo == null ? void 0 : contactInfo.groupID) || (contactInfo == null ? void 0 : contactInfo.userID) || ""
+ }
+ ];
+ if (!isApplicationType(contactInfo)) {
+ res.push({
+ label: (contactInfo == null ? void 0 : contactInfo.groupID) ? "群类型" : "个性签名",
+ data: (contactInfo == null ? void 0 : contactInfo.type) || ((_a = contactInfo == null ? void 0 : contactInfo.profile) == null ? void 0 : _a.selfSignature) || ""
+ });
+ }
+ return res;
+};
+const isApplicationType = (info) => {
+ var _a, _b, _c, _d;
+ return (info == null ? void 0 : info.type) === ((_b = (_a = common_vendor.qt) == null ? void 0 : _a.TYPES) == null ? void 0 : _b.SNS_APPLICATION_SENT_TO_ME) || (info == null ? void 0 : info.type) === ((_d = (_c = common_vendor.qt) == null ? void 0 : _c.TYPES) == null ? void 0 : _d.SNS_APPLICATION_SENT_BY_ME);
+};
+const isFriend = (info) => {
+ return new Promise((resolve, reject) => {
+ if ((info == null ? void 0 : info.groupID) || !(info == null ? void 0 : info.userID)) {
+ resolve(false);
+ return;
+ }
+ if (info == null ? void 0 : info.addTime) {
+ resolve(true);
+ return;
+ }
+ common_vendor.ts.checkFriend({
+ userIDList: [info == null ? void 0 : info.userID],
+ type: common_vendor.qt.TYPES.SNS_CHECK_TYPE_BOTH
+ }).then((res) => {
+ var _a, _b;
+ switch ((_b = (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.successUserIDList[0]) == null ? void 0 : _b.relation) {
+ case common_vendor.qt.TYPES.SNS_TYPE_NO_RELATION:
+ resolve(false);
+ break;
+ case common_vendor.qt.TYPES.SNS_TYPE_A_WITH_B:
+ resolve(false);
+ break;
+ case common_vendor.qt.TYPES.SNS_TYPE_B_WITH_A:
+ resolve(false);
+ break;
+ case common_vendor.qt.TYPES.SNS_TYPE_BOTH_WAY:
+ resolve(true);
+ break;
+ default:
+ resolve(false);
+ break;
+ }
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:111", "checkFriend error", error);
+ reject(error);
+ });
+ });
+};
+const updateFriendRemark = (userID, remark) => {
+ var _a;
+ if (((_a = remark == null ? void 0 : remark.replace(/[^\u0000-\u00ff]/g, "aa")) == null ? void 0 : _a.length) > 96) {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.修改备注失败: 备注长度不得超过 96 字节"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ return;
+ }
+ common_vendor.ts.updateFriend({
+ userID,
+ remark
+ }).then(() => {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.修改备注成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:138", "update friend remark failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.修改备注失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+};
+const deleteFriend = (userID) => {
+ common_vendor.ts.deleteFriend({
+ userIDList: [userID],
+ type: common_vendor.qt.TYPES.SNS_DELETE_TYPE_BOTH
+ }).then((res) => {
+ const { successUserIDList } = res.data;
+ if (successUserIDList[0].userID === userID) {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.删除好友成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ } else {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.删除好友失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ }
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:167", "delete friend failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.删除好友失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+};
+const addFriend = (params) => {
+ common_vendor.ts.addFriend(params).then(() => {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.申请已发送"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:185", "delete friend failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.申请发送失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+};
+const enterConversation = (item) => {
+ const conversationID = (item == null ? void 0 : item.groupID) ? `GROUP${item == null ? void 0 : item.groupID}` : `C2C${item == null ? void 0 : item.userID}`;
+ common_vendor.Xt.switchConversation(conversationID).catch(
+ (error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:200", "switch conversation failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.进入会话失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ }
+ );
+};
+const acceptFriendApplication = (userID) => {
+ common_vendor.ts.acceptFriendApplication({
+ userID,
+ type: common_vendor.qt.TYPES.SNS_APPLICATION_AGREE_AND_ADD
+ }).then(() => {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.添加好友成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:222", "accept friend application failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.同意好友申请失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+};
+const refuseFriendApplication = (userID) => {
+ common_vendor.ts.refuseFriendApplication(userID).then(() => {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.拒绝成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:240", "accept friend application failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.拒绝好友申请失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+};
+const dismissGroup = (groupID) => {
+ common_vendor.es.dismissGroup(groupID).then(() => {
+ var _a, _b;
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.解散群聊成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ ((_a = common_vendor.i) == null ? void 0 : _a.updateContactSearch) && ((_b = common_vendor.i) == null ? void 0 : _b.updateContactSearch());
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:259", "dismiss group failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.解散群聊失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+};
+const quitGroup = (groupID) => {
+ common_vendor.es.quitGroup(groupID).then(() => {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.退出群组成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:277", "quit group failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.退出群组失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+};
+const joinGroup = (groupID, applyMessage) => {
+ common_vendor.es.joinGroup({
+ groupID,
+ applyMessage
+ }).then((imResponse) => {
+ var _a;
+ switch ((_a = imResponse == null ? void 0 : imResponse.data) == null ? void 0 : _a.status) {
+ case common_vendor.qt.TYPES.JOIN_STATUS_WAIT_APPROVAL:
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.等待管理员同意"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ break;
+ case common_vendor.qt.TYPES.JOIN_STATUS_SUCCESS:
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.加群成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ break;
+ case common_vendor.qt.TYPES.JOIN_STATUS_ALREADY_IN_GROUP:
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.您已是群成员"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ break;
+ }
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:316", "join group failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: "申请入群失败",
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+};
+const addToBlacklist = (userID, successCallBack) => {
+ common_vendor.Zt.addToBlacklist({
+ userIDList: [userID]
+ }).then(() => {
+ successCallBack && successCallBack();
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:333", "add to blacklist failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.加入黑名单失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+};
+const removeFromBlacklist = (userID, successCallBack) => {
+ common_vendor.Zt.removeFromBlacklist({
+ userIDList: [userID]
+ }).then(() => {
+ successCallBack && successCallBack();
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIContact/utils/index.ts:353", "remove from blacklist failed:", error);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIContact.移除黑名单失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+};
+exports.acceptFriendApplication = acceptFriendApplication;
+exports.addFriend = addFriend;
+exports.addToBlacklist = addToBlacklist;
+exports.deleteFriend = deleteFriend;
+exports.dismissGroup = dismissGroup;
+exports.enterConversation = enterConversation;
+exports.generateAvatar = generateAvatar;
+exports.generateContactInfoBasic = generateContactInfoBasic;
+exports.generateContactInfoName = generateContactInfoName;
+exports.generateName = generateName;
+exports.isApplicationType = isApplicationType;
+exports.isFriend = isFriend;
+exports.joinGroup = joinGroup;
+exports.quitGroup = quitGroup;
+exports.refuseFriendApplication = refuseFriendApplication;
+exports.removeFromBlacklist = removeFromBlacklist;
+exports.updateFriendRemark = updateFriendRemark;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIContact/utils/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.js
new file mode 100644
index 0000000..c325338
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.js
@@ -0,0 +1,160 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_constant = require("../../../constant.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ (Dialog + Overlay)();
+}
+const Overlay = () => "../../common/Overlay/index.js";
+const Dialog = () => "../../common/Dialog/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ actionsMenuPosition: {},
+ selectedConversation: {},
+ selectedConversationDomRect: {}
+ },
+ emits: ["closeConversationActionMenu"],
+ setup(__props, { emit: __emit }) {
+ var _a, _b;
+ const emits = __emit;
+ const props = __props;
+ const thisInstance = ((_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.proxy) || common_vendor.getCurrentInstance();
+ const actionsMenuDomRef = common_vendor.ref();
+ const isHiddenActionsMenu = common_vendor.ref(true);
+ const isShowDeleteConversationDialog = common_vendor.ref(false);
+ const currentConversation = common_vendor.Jt.getConversationModel(
+ ((_b = props.selectedConversation) == null ? void 0 : _b.conversationID) || ""
+ );
+ const _actionsMenuPosition = common_vendor.ref(props.actionsMenuPosition);
+ common_vendor.onMounted(() => {
+ checkExceedBounds();
+ });
+ const deleteConversationDialogTitle = common_vendor.computed(() => {
+ var _a2, _b2;
+ return ((_a2 = props.selectedConversation) == null ? void 0 : _a2.type) === common_vendor.qt.TYPES.CONV_C2C ? "TUIConversation.删除后,将清空该聊天的消息记录" : ((_b2 = props.selectedConversation) == null ? void 0 : _b2.type) === common_vendor.qt.TYPES.CONV_GROUP ? "TUIConversation.删除后,将清空该群聊的消息记录" : "";
+ });
+ function checkExceedBounds() {
+ common_vendor.nextTick$1(() => {
+ var _a2, _b2;
+ if (TUIKit_utils_env.isUniFrameWork) {
+ const query = (_a2 = common_vendor.i) == null ? void 0 : _a2.createSelectorQuery().in(thisInstance);
+ query.select(`#conversation-actions-menu`).boundingClientRect((data) => {
+ var _a3, _b3;
+ if (data) {
+ if (data.bottom > ((_b3 = (_a3 = common_vendor.i) == null ? void 0 : _a3.getWindowInfo) == null ? void 0 : _b3.call(_a3).windowHeight)) {
+ _actionsMenuPosition.value = {
+ ...props.actionsMenuPosition,
+ top: props.actionsMenuPosition.top - (props.actionsMenuPosition.conversationHeight || 0) - data.height
+ };
+ }
+ if (_actionsMenuPosition.value.left + data.width + 5 > common_vendor.i.getWindowInfo().windowWidth) {
+ _actionsMenuPosition.value.left = common_vendor.i.getWindowInfo().windowWidth - data.width - 5;
+ }
+ }
+ isHiddenActionsMenu.value = false;
+ }).exec();
+ } else {
+ const rect = (_b2 = actionsMenuDomRef.value) == null ? void 0 : _b2.getBoundingClientRect();
+ if (TUIKit_utils_env.isPC && typeof props.actionsMenuPosition.left !== "undefined") {
+ _actionsMenuPosition.value.left = props.actionsMenuPosition.left;
+ }
+ if (rect && rect.bottom > window.innerHeight) {
+ _actionsMenuPosition.value.top = props.actionsMenuPosition.top - (props.actionsMenuPosition.conversationHeight || 0) - rect.height;
+ }
+ isHiddenActionsMenu.value = false;
+ }
+ });
+ }
+ const handleItem = (params) => {
+ const { name } = params;
+ const conversationModel = currentConversation;
+ if (!name || !conversationModel || !conversationModel.conversationID) {
+ return;
+ }
+ switch (name) {
+ case TUIKit_constant.CONV_OPERATION.DELETE:
+ conversationModel == null ? void 0 : conversationModel.deleteConversation();
+ break;
+ case TUIKit_constant.CONV_OPERATION.ISPINNED:
+ conversationModel == null ? void 0 : conversationModel.pinConversation();
+ break;
+ case TUIKit_constant.CONV_OPERATION.DISPINNED:
+ conversationModel == null ? void 0 : conversationModel.pinConversation();
+ break;
+ case TUIKit_constant.CONV_OPERATION.MUTE:
+ conversationModel == null ? void 0 : conversationModel.muteConversation();
+ break;
+ case TUIKit_constant.CONV_OPERATION.NOTMUTE:
+ conversationModel == null ? void 0 : conversationModel.muteConversation();
+ break;
+ }
+ emits("closeConversationActionMenu");
+ };
+ const deleteConversation = () => {
+ isShowDeleteConversationDialog.value = true;
+ };
+ const updateShowDeleteConversationDialog = (isShow) => {
+ if (!isShow) {
+ emits("closeConversationActionMenu");
+ }
+ isShowDeleteConversationDialog.value = isShow;
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIConversation.删除会话")),
+ b: common_vendor.o$1(($event) => deleteConversation()),
+ c: !(props.selectedConversation && props.selectedConversation.isPinned)
+ }, !(props.selectedConversation && props.selectedConversation.isPinned) ? {
+ d: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIConversation.置顶会话")),
+ e: common_vendor.o$1(($event) => handleItem({
+ name: common_vendor.unref(TUIKit_constant.CONV_OPERATION).ISPINNED
+ }))
+ } : {}, {
+ f: props.selectedConversation && props.selectedConversation.isPinned
+ }, props.selectedConversation && props.selectedConversation.isPinned ? {
+ g: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIConversation.取消置顶")),
+ h: common_vendor.o$1(($event) => handleItem({
+ name: common_vendor.unref(TUIKit_constant.CONV_OPERATION).DISPINNED
+ }))
+ } : {}, {
+ i: !(props.selectedConversation && props.selectedConversation.isMuted)
+ }, !(props.selectedConversation && props.selectedConversation.isMuted) ? {
+ j: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIConversation.消息免打扰")),
+ k: common_vendor.o$1(($event) => handleItem({
+ name: common_vendor.unref(TUIKit_constant.CONV_OPERATION).MUTE
+ }))
+ } : {}, {
+ l: props.selectedConversation && props.selectedConversation.isMuted
+ }, props.selectedConversation && props.selectedConversation.isMuted ? {
+ m: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIConversation.取消免打扰")),
+ n: common_vendor.o$1(($event) => handleItem({
+ name: common_vendor.unref(TUIKit_constant.CONV_OPERATION).NOTMUTE
+ }))
+ } : {}, {
+ o: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isPC) && "actions-menu-pc"),
+ p: common_vendor.n(!common_vendor.unref(isHiddenActionsMenu) && "cancel-hidden"),
+ q: `${common_vendor.unref(_actionsMenuPosition).top}px`,
+ r: `${common_vendor.unref(_actionsMenuPosition).left}px`,
+ s: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(common_vendor.unref(deleteConversationDialogTitle))),
+ t: common_vendor.o$1(($event) => handleItem({
+ name: common_vendor.unref(TUIKit_constant.CONV_OPERATION).DELETE
+ })),
+ v: common_vendor.o$1(updateShowDeleteConversationDialog),
+ w: common_vendor.p({
+ show: common_vendor.unref(isShowDeleteConversationDialog),
+ center: true,
+ isHeaderShow: common_vendor.unref(TUIKit_utils_env.isPC)
+ }),
+ x: common_vendor.o$1(() => emits("closeConversationActionMenu")),
+ y: common_vendor.p({
+ maskColor: "transparent"
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-63e37304"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.json
new file mode 100644
index 0000000..388bea8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "overlay": "../../common/Overlay/index",
+ "dialog": "../../common/Dialog/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.wxml
new file mode 100644
index 0000000..8a1efeb
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.wxml
@@ -0,0 +1 @@
+{{s}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.wxss
new file mode 100644
index 0000000..f71020f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/actions-menu/index.wxss
@@ -0,0 +1,47 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.cancel-hidden.data-v-63e37304 {
+ opacity: 1 !important;
+}
+.actions-menu.data-v-63e37304 {
+ position: absolute;
+ left: 164px;
+ border-radius: 8px;
+ border: 1px solid #e0e0e0;
+ box-shadow: 0 -4px 12px 0 rgba(0, 0, 0, 0.06);
+ background-color: #fff;
+ overflow: hidden;
+ opacity: 0;
+}
+.actions-menu .actions-menu-item.data-v-63e37304 {
+ cursor: pointer;
+ padding: 10px 20px;
+ font-size: 12px;
+ word-break: keep-all;
+}
+.actions-menu.actions-menu-pc .actions-menu-item.data-v-63e37304:hover {
+ background-color: #eee;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.js
new file mode 100644
index 0000000..60a6c1e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.js
@@ -0,0 +1,29 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_components_TUIConversation_conversationHeader_server = require("./server.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ setup(__props, { expose: __expose }) {
+ const showChildren = common_vendor.ref([]);
+ common_vendor.ref();
+ common_vendor.computed(() => {
+ return TUIKit_components_TUIConversation_conversationHeader_server.ConversationHeaderServer.getInstance().getMenu();
+ });
+ common_vendor.onMounted(() => {
+ showChildren.value = [];
+ });
+ const closeChildren = () => {
+ showChildren.value = [];
+ };
+ __expose({
+ closeChildren
+ });
+ return (_ctx, _cache) => {
+ return {};
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c7a8f8e3"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.wxml
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.wxss
new file mode 100644
index 0000000..761a364
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/index.wxss
@@ -0,0 +1,174 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-c7a8f8e3, div.data-v-c7a8f8e3, ul.data-v-c7a8f8e3, ol.data-v-c7a8f8e3, dt.data-v-c7a8f8e3, dd.data-v-c7a8f8e3, li.data-v-c7a8f8e3, dl.data-v-c7a8f8e3, h1.data-v-c7a8f8e3, h2.data-v-c7a8f8e3, h3.data-v-c7a8f8e3, h4.data-v-c7a8f8e3, p.data-v-c7a8f8e3 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-c7a8f8e3, ul.data-v-c7a8f8e3, li.data-v-c7a8f8e3 {
+ list-style: none;
+}
+img.data-v-c7a8f8e3 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-c7a8f8e3 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-c7a8f8e3 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-c7a8f8e3 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-c7a8f8e3:hover {
+ text-decoration: none;
+}
+input.data-v-c7a8f8e3, textarea.data-v-c7a8f8e3 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-c7a8f8e3:focus, input.data-v-c7a8f8e3:active, textarea.data-v-c7a8f8e3:focus, textarea.data-v-c7a8f8e3:active {
+ outline: none;
+}
+.chat-aside.data-v-c7a8f8e3 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-conversation.data-v-c7a8f8e3 {
+ width: 100%;
+ height: 100%;
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+.tui-conversation-list.data-v-c7a8f8e3 {
+ overflow: auto;
+}
+.tui-conversation-header.data-v-c7a8f8e3 {
+ width: 100%;
+ position: relative;
+}
+.tui-conversation-header .list.data-v-c7a8f8e3 {
+ display: flex;
+ align-items: center;
+ border-bottom: 1px solid #F4F5F9;
+ padding: 7px 0;
+}
+.tui-conversation-header .list-item.data-v-c7a8f8e3 {
+ flex: 1;
+ display: flex;
+ position: relative;
+ padding: 7px;
+ cursor: pointer;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.tui-conversation-header-item.data-v-c7a8f8e3 {
+ flex: 1;
+ display: flex;
+ align-items: center;
+}
+.tui-conversation-header-item-title.data-v-c7a8f8e3 {
+ padding: 0 8px;
+ font-size: 16px;
+ font-weight: normal;
+}
+.tui-conversation-header-children.data-v-c7a8f8e3 {
+ position: absolute;
+ top: 100%;
+ z-index: 3;
+ padding: 7px 9px;
+ border-bottom: none;
+ box-shadow: 0 3px 7px 0 #0003;
+ flex-direction: column;
+}
+.network.data-v-c7a8f8e3 {
+ padding: 0 12px;
+ display: flex;
+ align-items: center;
+}
+.network .icon-error.data-v-c7a8f8e3 {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 15px;
+ height: 15px;
+ border-radius: 15px;
+ color: #fff;
+ font-style: normal;
+}
+.network-content.data-v-c7a8f8e3 {
+ padding: 5px;
+ font-size: 12px;
+ line-height: 22px;
+}
+.plus.data-v-c7a8f8e3 {
+ display: inline-block;
+ width: 30px;
+ height: 30px;
+ position: relative;
+}
+.plus.data-v-c7a8f8e3::before,
+.plus.data-v-c7a8f8e3::after {
+ content: "";
+ position: absolute;
+ background-color: #232832;
+ border-radius: 0.5px;
+ width: 1px;
+ height: 14px;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+}
+.plus.data-v-c7a8f8e3::after {
+ transform: rotate(90deg);
+ width: 0.5px;
+}
+.network-content.data-v-c7a8f8e3 {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #e54545;
+ letter-spacing: 0;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/server.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/server.js
new file mode 100644
index 0000000..06060b8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-header/server.js
@@ -0,0 +1,60 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_constant = require("../../../constant.js");
+class ConversationHeaderServer {
+ static getInstance() {
+ if (!ConversationHeaderServer.instance) {
+ ConversationHeaderServer.instance = new ConversationHeaderServer();
+ }
+ return ConversationHeaderServer.instance;
+ }
+ getMenu() {
+ const list = this.generateMenuList();
+ if (!TUIKit_utils_env.isPC && list.length > 0) {
+ return [{
+ text: common_vendor.Wt.t("TUIConversation.发起会话"),
+ data: {
+ name: "all",
+ children: list
+ }
+ }];
+ }
+ return list;
+ }
+ generateMenuList() {
+ const list = [
+ {
+ icon: common_assets.C2C,
+ text: common_vendor.Wt.t("TUIConversation.发起单聊"),
+ data: {
+ name: TUIKit_constant.CONV_CREATE_TYPE.TYPEC2C
+ },
+ listener: {
+ onClicked: this.createConversation.bind(this)
+ }
+ },
+ {
+ icon: common_assets.createGroup,
+ text: common_vendor.Wt.t("TUIConversation.发起群聊"),
+ data: {
+ name: TUIKit_constant.CONV_CREATE_TYPE.TYPEGROUP
+ },
+ listener: {
+ onClicked: this.createConversation.bind(this)
+ }
+ }
+ ];
+ return list;
+ }
+ createConversation(item) {
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUIConversation.SERVICE.NAME,
+ method: common_vendor.E.TUIConversation.SERVICE.METHOD.CREATE_CONVERSATION,
+ params: item
+ });
+ }
+}
+exports.ConversationHeaderServer = ConversationHeaderServer;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIConversation/conversation-header/server.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.js
new file mode 100644
index 0000000..c1334ba
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.js
@@ -0,0 +1,4 @@
+"use strict";
+const index = require("../../../../index.js");
+wx.createPage(index.MiniProgramPage);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.json
new file mode 100644
index 0000000..8913761
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "列表",
+ "usingComponents": {
+ "icon": "../../common/Icon",
+ "avatar": "../../common/Avatar/index",
+ "actions-menu": "../actions-menu/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.wxml
new file mode 100644
index 0000000..21e3f8d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.wxml
@@ -0,0 +1 @@
+{{conversation.f}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.wxss
new file mode 100644
index 0000000..d7e3c05
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index.wxss
@@ -0,0 +1,342 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-4ef42c1d, div.data-v-4ef42c1d, ul.data-v-4ef42c1d, ol.data-v-4ef42c1d, dt.data-v-4ef42c1d, dd.data-v-4ef42c1d, li.data-v-4ef42c1d, dl.data-v-4ef42c1d, h1.data-v-4ef42c1d, h2.data-v-4ef42c1d, h3.data-v-4ef42c1d, h4.data-v-4ef42c1d, p.data-v-4ef42c1d {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-4ef42c1d, ul.data-v-4ef42c1d, li.data-v-4ef42c1d {
+ list-style: none;
+}
+img.data-v-4ef42c1d {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-4ef42c1d {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-4ef42c1d {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-4ef42c1d {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-4ef42c1d:hover {
+ text-decoration: none;
+}
+input.data-v-4ef42c1d, textarea.data-v-4ef42c1d {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-4ef42c1d:focus, input.data-v-4ef42c1d:active, textarea.data-v-4ef42c1d:focus, textarea.data-v-4ef42c1d:active {
+ outline: none;
+}
+.chat-aside.data-v-4ef42c1d {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-conversation-item-pinned.data-v-4ef42c1d {
+ background: #eef0f3;
+}
+.tui-conversation-item-selected.data-v-4ef42c1d, .tui-conversation-item-toggled.data-v-4ef42c1d {
+ background: rgba(0, 110, 255, 0.1);
+}
+.tui-conversation-item .left .num.data-v-4ef42c1d {
+ background: red;
+ color: #fff;
+}
+.tui-conversation-item .left .num-notify.data-v-4ef42c1d {
+ background: red;
+ color: #fff;
+}
+.tui-conversation-item .content-header-label.data-v-4ef42c1d {
+ color: #000;
+}
+.tui-conversation-item .content-header .name.data-v-4ef42c1d {
+ font-weight: 400;
+ letter-spacing: 0;
+ color: #000;
+}
+.tui-conversation-item .middle-box-at.data-v-4ef42c1d, .tui-conversation-item .middle-box-draft.data-v-4ef42c1d {
+ color: #fb5059 !important;
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+}
+.tui-conversation-item .middle-box-content.data-v-4ef42c1d {
+ font-weight: 400;
+ color: #999;
+ letter-spacing: 0;
+}
+.tui-conversation-item .content-footer.data-v-4ef42c1d {
+ color: #999;
+}
+.tui-conversation-item .content-footer .time.data-v-4ef42c1d {
+ color: #bbb;
+}
+.tui-conversation-content .dialog.data-v-4ef42c1d {
+ background: #fff;
+}
+.tui-conversation-content .dialog-item.data-v-4ef42c1d {
+ background: #fff;
+ border: 1px solid #e0e0e0;
+ box-shadow: 0 -4px 12px 0 rgba(0, 0, 0, 0.06);
+}
+.tui-conversation-content .dialog .conversation-options.data-v-4ef42c1d {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #4f4f4f;
+ letter-spacing: 0;
+}
+.tui-conversation-list.data-v-4ef42c1d {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ letter-spacing: 0;
+ flex: 1;
+ overflow: auto;
+}
+.tui-conversation-item.data-v-4ef42c1d {
+ padding: 12px;
+ display: flex;
+ align-items: center;
+ cursor: pointer;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+.tui-conversation-item .left.data-v-4ef42c1d {
+ position: relative;
+ width: 36px;
+ height: 36px;
+}
+.tui-conversation-item .left .num.data-v-4ef42c1d {
+ position: absolute;
+ display: inline-block;
+ right: 0;
+ top: -5px;
+ min-width: 10px;
+ width: -webkit-fit-content;
+ width: fit-content;
+ padding: 0 2.5px;
+ height: 15px;
+ font-size: 10px;
+ text-align: center;
+ line-height: 15px;
+ border-radius: 7.5px;
+}
+.tui-conversation-item .left .num-notify.data-v-4ef42c1d {
+ position: absolute;
+ display: inline-block;
+ right: 2px;
+ top: -2px;
+ width: 6px;
+ height: 6px;
+ font-size: 10px;
+ text-align: center;
+ line-height: 15px;
+ border-radius: 65%;
+}
+.tui-conversation-item .left .avatar.data-v-4ef42c1d {
+ width: 30px;
+ height: 30px;
+ border-radius: 5px;
+}
+.tui-conversation-item .left .online-status.data-v-4ef42c1d {
+ box-sizing: border-box;
+ position: absolute;
+ width: 10px;
+ height: 10px;
+ left: 24px;
+ top: 22px;
+ border: 2px solid #fff;
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
+ border-radius: 50%;
+}
+.tui-conversation-item .left .online-status-online.data-v-4ef42c1d {
+ background: #29cc85;
+}
+.tui-conversation-item .left .online-status-offline.data-v-4ef42c1d {
+ background: #a4a4a4;
+}
+.tui-conversation-item .content-footer.data-v-4ef42c1d {
+ line-height: 16px;
+ display: flex;
+ flex-direction: column;
+}
+.tui-conversation-item .content-footer .time.data-v-4ef42c1d {
+ font-size: 12px;
+ line-height: 16px;
+ display: inline-block;
+ white-space: nowrap;
+}
+.tui-conversation-item .content.data-v-4ef42c1d {
+ display: flex;
+ flex: 1;
+ padding-left: 8px;
+ justify-content: space-between;
+ box-sizing: border-box;
+ overflow: hidden;
+}
+.tui-conversation-item .content .content-footer.data-v-4ef42c1d {
+ align-items: flex-end;
+}
+.tui-conversation-item .content .content-footer .icon.data-v-4ef42c1d {
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ margin: 0;
+}
+.tui-conversation-item .content-header.data-v-4ef42c1d {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+ box-sizing: border-box;
+}
+.tui-conversation-item .content-header-label.data-v-4ef42c1d {
+ flex: 1;
+ font-size: 14px;
+}
+.tui-conversation-item .content-header .name.data-v-4ef42c1d {
+ width: 110px;
+ letter-spacing: 0;
+ font-size: 14px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.tui-conversation-item .content-header .middle-box.data-v-4ef42c1d {
+ flex: 1;
+ display: flex;
+ align-items: center;
+}
+.tui-conversation-item .content-header .middle-box-at.data-v-4ef42c1d, .tui-conversation-item .content-header .middle-box-draft.data-v-4ef42c1d {
+ font-size: 12px;
+}
+.tui-conversation-item .content-header .middle-box-content.data-v-4ef42c1d {
+ flex: 1;
+ width: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 12px;
+ line-height: 16px;
+}
+.tui-conversation-item-content.data-v-4ef42c1d {
+ position: relative;
+}
+.tui-conversation-item-content .tui-conversation-item.data-v-4ef42c1d:hover {
+ background: rgba(0, 110, 255, 0.1);
+}
+.tui-conversation-item-content .dialog.data-v-4ef42c1d {
+ position: absolute;
+ z-index: 5;
+ padding: 2px 20px;
+ cursor: pointer;
+}
+.tui-conversation-item-content .dialog-item.data-v-4ef42c1d {
+ top: 30px;
+ left: 164px;
+ border-radius: 8px;
+}
+.tui-conversation-item-content .dialog .conversation-options.data-v-4ef42c1d {
+ padding: 5px 0;
+ height: 17px;
+ font-size: 12px;
+ line-height: 17px;
+}
+.tui-conversation-item-content .dialog-item-up.data-v-4ef42c1d {
+ top: -50px;
+}
+.tui-conversation-list-h5 .tui-conversation-content .dialog.data-v-4ef42c1d {
+ left: auto;
+ right: 18px;
+ padding: 0;
+}
+.tui-conversation-list-h5 .tui-conversation-content .dialog .conversation-options.data-v-4ef42c1d {
+ padding: 12px;
+ font-size: 16px;
+}
+.tui-conversation-list-h5 .tui-conversation-content .dialog-item-up.data-v-4ef42c1d {
+ top: -70px;
+}
+.tui-conversation-list-h5 .tui-conversation-content .tui-conversation-item.data-v-4ef42c1d {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.tui-conversation-list-h5 .tui-conversation-content .tui-conversation-item .content .name.data-v-4ef42c1d {
+ font-size: 16px;
+}
+.tui-conversation-list-h5 .tui-conversation-content .tui-conversation-item .content .middle-box p.data-v-4ef42c1d {
+ font-size: 14px;
+}
+.tui-conversation-list-h5 .tui-conversation-content .tui-conversation-item .time.data-v-4ef42c1d {
+ font-size: 14px;
+}
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.disable-select.data-v-4ef42c1d {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ user-select: none;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index2.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index2.js
new file mode 100644
index 0000000..d8ca3b9
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index2.js
@@ -0,0 +1,4 @@
+"use strict";
+const index = require("../../../../index.js");
+wx.createPage(index.MiniProgramPage);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIConversation/conversation-list/index2.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.js
new file mode 100644
index 0000000..baa55c9
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.js
@@ -0,0 +1,24 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ setup(__props) {
+ const isNotNetwork = common_vendor.ref(false);
+ common_vendor.Jt.watch(common_vendor.o.USER, {
+ netStateChange: (value) => {
+ isNotNetwork.value = value === common_vendor.qt.TYPES.NET_STATE_DISCONNECTED;
+ }
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isNotNetwork)
+ }, common_vendor.unref(isNotNetwork) ? {
+ b: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIConversation.网络异常,请您检查网络设置"))
+ } : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-36a06860"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.wxml
new file mode 100644
index 0000000..f3692d8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.wxml
@@ -0,0 +1 @@
+! {{b}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.wxss
new file mode 100644
index 0000000..8b1b436
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/conversation-network/index.wxss
@@ -0,0 +1,174 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-36a06860, div.data-v-36a06860, ul.data-v-36a06860, ol.data-v-36a06860, dt.data-v-36a06860, dd.data-v-36a06860, li.data-v-36a06860, dl.data-v-36a06860, h1.data-v-36a06860, h2.data-v-36a06860, h3.data-v-36a06860, h4.data-v-36a06860, p.data-v-36a06860 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-36a06860, ul.data-v-36a06860, li.data-v-36a06860 {
+ list-style: none;
+}
+img.data-v-36a06860 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-36a06860 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-36a06860 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-36a06860 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-36a06860:hover {
+ text-decoration: none;
+}
+input.data-v-36a06860, textarea.data-v-36a06860 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-36a06860:focus, input.data-v-36a06860:active, textarea.data-v-36a06860:focus, textarea.data-v-36a06860:active {
+ outline: none;
+}
+.chat-aside.data-v-36a06860 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-conversation.data-v-36a06860 {
+ width: 100%;
+ height: 100%;
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+.tui-conversation-list.data-v-36a06860 {
+ overflow: auto;
+}
+.tui-conversation-header.data-v-36a06860 {
+ width: 100%;
+ position: relative;
+}
+.tui-conversation-header .list.data-v-36a06860 {
+ display: flex;
+ align-items: center;
+ border-bottom: 1px solid #F4F5F9;
+ padding: 7px 0;
+}
+.tui-conversation-header .list-item.data-v-36a06860 {
+ flex: 1;
+ display: flex;
+ position: relative;
+ padding: 7px;
+ cursor: pointer;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.tui-conversation-header-item.data-v-36a06860 {
+ flex: 1;
+ display: flex;
+ align-items: center;
+}
+.tui-conversation-header-item-title.data-v-36a06860 {
+ padding: 0 8px;
+ font-size: 16px;
+ font-weight: normal;
+}
+.tui-conversation-header-children.data-v-36a06860 {
+ position: absolute;
+ top: 100%;
+ z-index: 3;
+ padding: 7px 9px;
+ border-bottom: none;
+ box-shadow: 0 3px 7px 0 #0003;
+ flex-direction: column;
+}
+.network.data-v-36a06860 {
+ padding: 0 12px;
+ display: flex;
+ align-items: center;
+}
+.network .icon-error.data-v-36a06860 {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 15px;
+ height: 15px;
+ border-radius: 15px;
+ color: #fff;
+ font-style: normal;
+}
+.network-content.data-v-36a06860 {
+ padding: 5px;
+ font-size: 12px;
+ line-height: 22px;
+}
+.plus.data-v-36a06860 {
+ display: inline-block;
+ width: 30px;
+ height: 30px;
+ position: relative;
+}
+.plus.data-v-36a06860::before,
+.plus.data-v-36a06860::after {
+ content: "";
+ position: absolute;
+ background-color: #232832;
+ border-radius: 0.5px;
+ width: 1px;
+ height: 14px;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+}
+.plus.data-v-36a06860::after {
+ transform: rotate(90deg);
+ width: 0.5px;
+}
+.network-content.data-v-36a06860 {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #e54545;
+ letter-spacing: 0;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/entry.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/entry.js
new file mode 100644
index 0000000..05b39cc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/entry.js
@@ -0,0 +1,5 @@
+"use strict";
+var _a;
+const TUIKit_index = require("../../index.js");
+(_a = TUIKit_index.TUIChatKit) == null ? void 0 : _a.init();
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIConversation/entry.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.js
new file mode 100644
index 0000000..3827523
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.js
@@ -0,0 +1,4 @@
+"use strict";
+const TUIKit_components_index = require("../index.js");
+wx.createPage(TUIKit_components_index.MiniProgramPage);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIConversation/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.json
new file mode 100644
index 0000000..4a501ab
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.json
@@ -0,0 +1,10 @@
+{
+ "navigationBarTitleText": "腾讯云 IM",
+ "usingComponents": {
+ "t-u-i-search": "../TUISearch/index",
+ "conversation-list": "./conversation-list/index",
+ "conversation-header": "./conversation-header/index",
+ "conversation-network": "./conversation-network/index",
+ "tab-bar": "../../../components/tabBar/tabBar"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.wxml
new file mode 100644
index 0000000..553c117
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.wxml
@@ -0,0 +1 @@
+消息
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.wxss
new file mode 100644
index 0000000..94ec2ea
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/index.wxss
@@ -0,0 +1,708 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-04dfedea, div.data-v-04dfedea, ul.data-v-04dfedea, ol.data-v-04dfedea, dt.data-v-04dfedea, dd.data-v-04dfedea, li.data-v-04dfedea, dl.data-v-04dfedea, h1.data-v-04dfedea, h2.data-v-04dfedea, h3.data-v-04dfedea, h4.data-v-04dfedea, p.data-v-04dfedea {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-04dfedea, ul.data-v-04dfedea, li.data-v-04dfedea {
+ list-style: none;
+}
+img.data-v-04dfedea {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-04dfedea {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-04dfedea {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-04dfedea {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-04dfedea:hover {
+ text-decoration: none;
+}
+input.data-v-04dfedea, textarea.data-v-04dfedea {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-04dfedea:focus, input.data-v-04dfedea:active, textarea.data-v-04dfedea:focus, textarea.data-v-04dfedea:active {
+ outline: none;
+}
+.chat-aside.data-v-04dfedea {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-chat.data-v-04dfedea {
+ width: 100%;
+ height: 100%;
+ max-width: 100%;
+ overflow: hidden;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+}
+.tui-chat-default.data-v-04dfedea {
+ width: 100%;
+ height: 100%;
+ box-sizing: border-box;
+ display: flex;
+}
+.tui-chat-header.data-v-04dfedea {
+ padding: 10px;
+ box-sizing: border-box;
+ display: flex;
+}
+.tui-chat-message-list.data-v-04dfedea {
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+}
+.tui-chat-leave-group.data-v-04dfedea {
+ font-size: 14px;
+ height: 160px;
+ border-top: 1px solid #efefef;
+ justify-content: center;
+ align-items: center;
+}
+.tui-chat-leave-group-mobile.data-v-04dfedea {
+ height: 50px;
+}
+.tui-chat-message-input.data-v-04dfedea {
+ height: 160px;
+ display: flex;
+}
+.chat.data-v-04dfedea {
+ display: block;
+ height: 85%;
+ overflow: hidden;
+}
+.tui-chat-h5-message-list.data-v-04dfedea {
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+}
+.tui-chat-h5-message-input.data-v-04dfedea {
+ height: auto;
+ padding: 10px 10px 0;
+ border-top: 1px solid #eee;
+}
+.tui-chat-h5-message-input-toolbar.data-v-04dfedea {
+ order: 1;
+ border: none;
+}
+.tui-chat-uniapp-header.data-v-04dfedea {
+ display: none;
+}
+.group-profile.data-v-04dfedea {
+ position: absolute;
+ top: 14%;
+ right: 0;
+ width: 50px;
+ height: 30px;
+ line-height: 30px;
+ color: #000;
+ font-size: 10px;
+ border-top-left-radius: 20px;
+ border-bottom-left-radius: 20px;
+ padding-left: 15px;
+ z-index: 100;
+ background-color: #ccc;
+ opacity: 0.5;
+}
+.tui-chat-uni-message-input.data-v-04dfedea {
+ max-height: 370px;
+ padding: 10px;
+}
+.tui-chat-uni-message-input-toolbar.data-v-04dfedea {
+ z-index: 100;
+}
+.tui-chat-wx-message-input.data-v-04dfedea {
+ padding: 0;
+}
+.data-v-04dfedea:not(not) {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-width: 0;
+}
+
+.dingweizhibox{
+ width: 100%;
+ height: 15%;
+}
+.tui-chat{
+ width: 100%;
+ height: 15%;
+}
+.tui-chat-h5 {
+ width: 100%;
+ height: 100%;
+}
+.tui-chat-uniapp-header{
+ width: 100%;
+ height: 100%;
+}
+.Navigation {
+ width: 100%;
+ height: 10%;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 999;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.Navigationimg {
+ width: 100%;
+ height: 200rpx;
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: -1;
+}
+.Navigation {
+ width: 100%;
+ height: 200rpx;
+ z-index: 999;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.Return {
+ width: 50rpx;
+ height: 50rpx;
+ position: absolute;
+ top: 100rpx;
+ left: 40rpx;
+ z-index: 999;
+}
+.Navigation-name{
+ width: 50rpx;
+ height: 50rpx;
+ position: absolute;
+ top: 100rpx;
+ left: 300rpx;
+ z-index: 999;
+}
+
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-fdde69b1, div.data-v-fdde69b1, ul.data-v-fdde69b1, ol.data-v-fdde69b1, dt.data-v-fdde69b1, dd.data-v-fdde69b1, li.data-v-fdde69b1, dl.data-v-fdde69b1, h1.data-v-fdde69b1, h2.data-v-fdde69b1, h3.data-v-fdde69b1, h4.data-v-fdde69b1, p.data-v-fdde69b1 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-fdde69b1, ul.data-v-fdde69b1, li.data-v-fdde69b1 {
+ list-style: none;
+}
+img.data-v-fdde69b1 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-fdde69b1 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-fdde69b1 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-fdde69b1 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-fdde69b1:hover {
+ text-decoration: none;
+}
+input.data-v-fdde69b1, textarea.data-v-fdde69b1 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-fdde69b1:focus, input.data-v-fdde69b1:active, textarea.data-v-fdde69b1:focus, textarea.data-v-fdde69b1:active {
+ outline: none;
+}
+.chat-aside.data-v-fdde69b1 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-search-main-global.data-v-fdde69b1 {
+ width: 100%;
+ height: -webkit-fit-content;
+ height: fit-content;
+}
+.tui-search-main-conversation.data-v-fdde69b1 {
+ width: 100%;
+ height: 100%;
+ background: #fff;
+ box-shadow: 0 1px 10px 0 rgba(2, 16, 43, 0.15);
+}
+.tui-search .tui-search-global-header.data-v-fdde69b1 {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+}
+.tui-search .tui-search-conversation.data-v-fdde69b1 {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+.tui-search-h5-full-screen.data-v-fdde69b1 {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ z-index: 1000;
+ background: #fff;
+}
+.tui-search-h5-global.data-v-fdde69b1, .tui-search-h5-conversation.data-v-fdde69b1 {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+}
+.tui-search-h5-conversation.data-v-fdde69b1 {
+ overflow: hidden;
+}
+.tui-search-h5.tui-search-main-conversation.data-v-fdde69b1 {
+ box-shadow: none;
+}
+.tui-search-h5 .search-input.data-v-fdde69b1,
+.tui-search-h5 .search-container.data-v-fdde69b1,
+.tui-search-h5 .search-result.data-v-fdde69b1 {
+ min-width: 0;
+ box-sizing: border-box;
+ display: flex;
+ flex: 1;
+ overflow: hidden;
+}
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-32d81a7d, div.data-v-32d81a7d, ul.data-v-32d81a7d, ol.data-v-32d81a7d, dt.data-v-32d81a7d, dd.data-v-32d81a7d, li.data-v-32d81a7d, dl.data-v-32d81a7d, h1.data-v-32d81a7d, h2.data-v-32d81a7d, h3.data-v-32d81a7d, h4.data-v-32d81a7d, p.data-v-32d81a7d {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-32d81a7d, ul.data-v-32d81a7d, li.data-v-32d81a7d {
+ list-style: none;
+}
+img.data-v-32d81a7d {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-32d81a7d {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-32d81a7d {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-32d81a7d {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-32d81a7d:hover {
+ text-decoration: none;
+}
+input.data-v-32d81a7d, textarea.data-v-32d81a7d {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-32d81a7d:focus, input.data-v-32d81a7d:active, textarea.data-v-32d81a7d:focus, textarea.data-v-32d81a7d:active {
+ outline: none;
+}
+.chat-aside.data-v-32d81a7d {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-contact.data-v-32d81a7d {
+ width: 100%;
+ height: 100%;
+ box-sizing: border-box;
+ display: flex;
+ overflow: hidden;
+}
+.tui-contact-left.data-v-32d81a7d {
+ min-width: 285px;
+ flex: 0 0 24%;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+.tui-contact-right.data-v-32d81a7d {
+ border-left: 1px solid #f4f5f9;
+ flex: 1;
+ overflow: hidden;
+}
+.tui-contact-h5.data-v-32d81a7d {
+ position: relative;
+}
+.tui-contact-h5-left.data-v-32d81a7d, .tui-contact-h5-right.data-v-32d81a7d {
+ width: 100%;
+ height: 100%;
+ flex: 1;
+}
+.tui-contact-h5-right.data-v-32d81a7d {
+ position: absolute;
+ z-index: 100;
+}
+.tui-contact-h5-left-list.data-v-32d81a7d {
+ overflow-y: auto;
+}
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-group.data-v-61238656 {
+ width: 100%;
+ height: 100%;
+}
+
+.Navigation {
+ width: 100%;
+ height: 100rpx;
+ z-index: 999;
+}
+.Navigationimg {
+ width: 100%;
+ height: 200rpx;
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: -1;
+}
+.Navigation {
+ width: 100%;
+ height: 200rpx;
+ z-index: 999;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.Navigation-left{
+ width: 100%;
+ height: 200rpx;
+ z-index: 998;
+}
+.Return {
+ width: 70rpx;
+ height: 70rpx;
+ position: absolute;
+ top: 120rpx;
+ left: 360rpx;
+ z-index: 999;
+ font-weight: bold;
+}
+
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-40b33296, div.data-v-40b33296, ul.data-v-40b33296, ol.data-v-40b33296, dt.data-v-40b33296, dd.data-v-40b33296, li.data-v-40b33296, dl.data-v-40b33296, h1.data-v-40b33296, h2.data-v-40b33296, h3.data-v-40b33296, h4.data-v-40b33296, p.data-v-40b33296 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-40b33296, ul.data-v-40b33296, li.data-v-40b33296 {
+ list-style: none;
+}
+img.data-v-40b33296 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-40b33296 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-40b33296 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-40b33296 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-40b33296:hover {
+ text-decoration: none;
+}
+input.data-v-40b33296, textarea.data-v-40b33296 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-40b33296:focus, input.data-v-40b33296:active, textarea.data-v-40b33296:focus, textarea.data-v-40b33296:active {
+ outline: none;
+}
+.chat-aside.data-v-40b33296 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-conversation.data-v-40b33296 {
+ width: 100%;
+ height: 100%;
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+.tui-conversation-list.data-v-40b33296 {
+ overflow: auto;
+}
+.tui-conversation-header.data-v-40b33296 {
+ width: 100%;
+ position: relative;
+}
+.tui-conversation-header .list.data-v-40b33296 {
+ display: flex;
+ align-items: center;
+ border-bottom: 1px solid #F4F5F9;
+ padding: 7px 0;
+}
+.tui-conversation-header .list-item.data-v-40b33296 {
+ flex: 1;
+ display: flex;
+ position: relative;
+ padding: 7px;
+ cursor: pointer;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.tui-conversation-header-item.data-v-40b33296 {
+ flex: 1;
+ display: flex;
+ align-items: center;
+}
+.tui-conversation-header-item-title.data-v-40b33296 {
+ padding: 0 8px;
+ font-size: 16px;
+ font-weight: normal;
+}
+.tui-conversation-header-children.data-v-40b33296 {
+ position: absolute;
+ top: 100%;
+ z-index: 3;
+ padding: 7px 9px;
+ border-bottom: none;
+ box-shadow: 0 3px 7px 0 #0003;
+ flex-direction: column;
+}
+.network.data-v-40b33296 {
+ padding: 0 12px;
+ display: flex;
+ align-items: center;
+}
+.network .icon-error.data-v-40b33296 {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 15px;
+ height: 15px;
+ border-radius: 15px;
+ color: #fff;
+ font-style: normal;
+}
+.network-content.data-v-40b33296 {
+ padding: 5px;
+ font-size: 12px;
+ line-height: 22px;
+}
+.plus.data-v-40b33296 {
+ display: inline-block;
+ width: 30px;
+ height: 30px;
+ position: relative;
+}
+.plus.data-v-40b33296::before,
+.plus.data-v-40b33296::after {
+ content: "";
+ position: absolute;
+ background-color: #232832;
+ border-radius: 0.5px;
+ width: 1px;
+ height: 14px;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+}
+.plus.data-v-40b33296::after {
+ transform: rotate(90deg);
+ width: 0.5px;
+}
+.network-content.data-v-40b33296 {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #e54545;
+ letter-spacing: 0;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/server.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/server.js
new file mode 100644
index 0000000..48f45cf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIConversation/server.js
@@ -0,0 +1,138 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const TUIKit_constant = require("../../constant.js");
+const TUIKit_utils_env = require("../../utils/env.js");
+const common_assets = require("../../../common/assets.js");
+const TUIKit_utils_enableSampleTaskStatus = require("../../utils/enableSampleTaskStatus.js");
+class TUIConversationServer {
+ constructor() {
+ this.hideConversationHeader = () => {
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "isShowConversationHeader", false);
+ };
+ common_vendor.R.registerService(common_vendor.E.TUIConversation.SERVICE.NAME, this);
+ common_vendor.R.registerExtension(common_vendor.E.TUISearch.EXTENSION.SEARCH_MORE.EXT_ID, this);
+ this.onCallParamsMap = /* @__PURE__ */ new Map();
+ this.onCallCallbackMap = /* @__PURE__ */ new Map();
+ this.constants = common_vendor.E;
+ }
+ static getInstance() {
+ if (!TUIConversationServer.instance) {
+ TUIConversationServer.instance = new TUIConversationServer();
+ }
+ return TUIConversationServer.instance;
+ }
+ getOnCallParams(method) {
+ return this.onCallParamsMap.get(method);
+ }
+ getOnCallCallback(method) {
+ return this.onCallCallbackMap.get(method);
+ }
+ onCall(method, params, callback) {
+ this.onCallParamsMap.set(method, params);
+ this.onCallCallbackMap.set(method, callback);
+ switch (method) {
+ case common_vendor.E.TUIConversation.SERVICE.METHOD.CREATE_CONVERSATION:
+ this.createConversation(params);
+ break;
+ case common_vendor.E.TUIConversation.SERVICE.METHOD.HIDE_CONVERSATION_HEADER:
+ this.hideConversationHeader();
+ break;
+ }
+ }
+ onGetExtension(extensionID) {
+ if (extensionID === common_vendor.E.TUISearch.EXTENSION.SEARCH_MORE.EXT_ID) {
+ const list = [
+ {
+ weight: 100,
+ icon: common_assets.C2C,
+ text: common_vendor.Wt.t("TUIConversation.发起单聊"),
+ data: {
+ name: TUIKit_constant.CONV_CREATE_TYPE.TYPEC2C
+ },
+ listener: {
+ onClicked: this.createConversation.bind(this)
+ }
+ },
+ {
+ weight: 100,
+ icon: common_assets.createGroup,
+ text: common_vendor.Wt.t("TUIConversation.发起群聊"),
+ data: {
+ name: TUIKit_constant.CONV_CREATE_TYPE.TYPEGROUP
+ },
+ listener: {
+ onClicked: this.createConversation.bind(this)
+ }
+ }
+ ];
+ return list;
+ }
+ }
+ createConversation(item) {
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUIContact.SERVICE.NAME,
+ method: common_vendor.E.TUIContact.SERVICE.METHOD.SELECT_FRIEND,
+ params: {
+ title: item.text,
+ isRadio: item.data.name !== TUIKit_constant.CONV_CREATE_TYPE.TYPEGROUP,
+ isNeedSearch: !common_vendor.Jt.getData(common_vendor.o.APP, "isOfficial")
+ },
+ callback: async (memberList) => {
+ if (!memberList || memberList.length === 0) {
+ return this.routerForward(null);
+ }
+ if (item.data.name === TUIKit_constant.CONV_CREATE_TYPE.TYPEGROUP) {
+ this.createGroup(memberList);
+ } else {
+ const { userID } = memberList[0];
+ await this.generateConversation(`C2C${userID}`);
+ this.routerForward(`C2C${userID}`);
+ }
+ }
+ });
+ }
+ createGroup(memberList) {
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUIGroup.SERVICE.NAME,
+ method: common_vendor.E.TUIGroup.SERVICE.METHOD.CREATE_GROUP,
+ params: {
+ title: common_vendor.Wt.t("TUIConversation.发起群聊"),
+ memberList
+ },
+ callback: async (group) => {
+ let conversationID = null;
+ if (group) {
+ const { groupID } = group;
+ await this.generateConversation(`GROUP${groupID}`);
+ conversationID = `GROUP${groupID}`;
+ }
+ this.routerForward(conversationID);
+ }
+ });
+ }
+ async routerForward(conversationID) {
+ var _a, _b;
+ if (TUIKit_utils_env.isUniFrameWork) {
+ await ((_a = common_vendor.i) == null ? void 0 : _a.reLaunch({
+ url: "/TUIKit/components/TUIConversation/index"
+ }));
+ if (conversationID) {
+ (_b = common_vendor.i) == null ? void 0 : _b.navigateTo({
+ url: "/TUIKit/components/TUIChat/index"
+ });
+ }
+ }
+ }
+ generateConversation(conversationID) {
+ common_vendor.Xt.switchConversation(conversationID).then(() => {
+ if (conversationID.startsWith("GROUP")) {
+ TUIKit_utils_enableSampleTaskStatus.enableSampleTaskStatus("groupChat");
+ }
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIConversation/server.ts:153", "打开会话成功");
+ }).catch((err) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIConversation/server.ts:156", "打开会话失败", err.code, err.msg);
+ });
+ }
+}
+exports.TUIConversationServer = TUIConversationServer;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIConversation/server.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/config.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/config.js
new file mode 100644
index 0000000..ca1ed81
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/config.js
@@ -0,0 +1,47 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+const groupIntroConfig = [
+ {
+ icon: "https://web.sdk.qcloud.com/im/assets/images/Public.svg",
+ label: "陌生人社交群(Public)",
+ type: common_vendor.qt.TYPES.GRP_PUBLIC,
+ detail: "类似 QQ 群,创建后群主可以指定群管理员,用户搜索群 ID 发起加群申请后,需要群主或管理员审批通过才能入群。详见",
+ src: "产品文档"
+ },
+ {
+ icon: "https://web.sdk.qcloud.com/im/assets/images/Meeting.svg",
+ label: "临时会议群(Meeting)",
+ type: common_vendor.qt.TYPES.GRP_MEETING,
+ detail: "创建后可以随意进出,且支持查看入群前消息;适合用于音视频会议场景、在线教育场景等与实时音视频产品结合的场景。详见",
+ src: "产品文档"
+ },
+ {
+ icon: "https://web.sdk.qcloud.com/im/assets/images/Work.svg",
+ label: "好友工作群(Work)",
+ type: common_vendor.qt.TYPES.GRP_WORK,
+ detail: "类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批。详见",
+ src: "产品文档"
+ },
+ {
+ icon: "https://web.sdk.qcloud.com/im/assets/images/AVChatroom.svg",
+ label: "直播群(AVChatroom)",
+ type: common_vendor.qt.TYPES.GRP_AVCHATROOM,
+ detail: "创建后可以随意进出,没有群成员数量上限,但不支持历史消息存储;适合与直播产品结合,用于弹幕聊天场景。详见",
+ src: "产品文档"
+ },
+ {
+ icon: "https://web.sdk.qcloud.com/im/assets/images/Community.png",
+ label: "社群(Community)",
+ type: common_vendor.qt.TYPES.GRP_COMMUNITY,
+ detail: "创建后可以随意进出,最多支持100000人,支持历史消息存储,用户搜索群 ID 发起加群申请后,无需管理员审批即可进群。详见",
+ src: "产品文档"
+ }
+];
+const findGroupIntroConfig = (type) => {
+ return groupIntroConfig.filter((item) => {
+ return item.type === type;
+ })[0];
+};
+exports.findGroupIntroConfig = findGroupIntroConfig;
+exports.groupIntroConfig = groupIntroConfig;
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/config.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.js
new file mode 100644
index 0000000..18310e8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.js
@@ -0,0 +1,70 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_utils_documentLink = require("../../../../utils/documentLink.js");
+const common_assets = require("../../../../../common/assets.js");
+const TUIKit_components_TUIGroup_createGroup_groupIntroduction_config = require("./config.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ groupType: {
+ type: String,
+ default: ""
+ }
+ },
+ emits: ["selectType"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const type = TUIKit_components_TUIGroup_createGroup_groupIntroduction_config.groupIntroConfig;
+ const selectType = common_vendor.ref();
+ const emit = __emit;
+ common_vendor.watchEffect(() => {
+ selectType.value = props.groupType;
+ });
+ const selected = (item) => {
+ selectType.value = item.type;
+ emit("selectType", item.type);
+ };
+ const openUrl = (link) => {
+ var _a;
+ if (!TUIKit_utils_env.isUniFrameWork) {
+ (_a = common_vendor.i) == null ? void 0 : _a.open(link);
+ }
+ };
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.f(common_vendor.unref(type), (item, index, i0) => {
+ return common_vendor.e({
+ a: "ec1da4f5-0-" + i0,
+ b: common_vendor.p({
+ file: item.icon
+ }),
+ c: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.${item.label}`)),
+ d: common_vendor.unref(selectType) === item.type
+ }, common_vendor.unref(selectType) === item.type ? {
+ e: "ec1da4f5-1-" + i0,
+ f: common_vendor.p({
+ file: common_vendor.unref(common_assets.selectedIcon)
+ })
+ } : {}, {
+ g: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.${item.detail}`)),
+ h: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.${item.src}`)),
+ i: common_vendor.o$1(($event) => openUrl(common_vendor.unref(TUIKit_utils_documentLink.Link).product.url), index),
+ j: index,
+ k: common_vendor.n(common_vendor.unref(selectType) === item.type && "selected"),
+ l: common_vendor.o$1(($event) => selected(item), index)
+ });
+ }),
+ b: common_vendor.unref(TUIKit_utils_documentLink.Link).product.url
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ec1da4f5"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.json
new file mode 100644
index 0000000..e4996d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.wxml
new file mode 100644
index 0000000..4c7858a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.wxml
@@ -0,0 +1 @@
+{{item.g}} {{item.h}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.wxss
new file mode 100644
index 0000000..699e2a2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/group-introduction/index.wxss
@@ -0,0 +1,324 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-ec1da4f5, div.data-v-ec1da4f5, ul.data-v-ec1da4f5, ol.data-v-ec1da4f5, dt.data-v-ec1da4f5, dd.data-v-ec1da4f5, li.data-v-ec1da4f5, dl.data-v-ec1da4f5, h1.data-v-ec1da4f5, h2.data-v-ec1da4f5, h3.data-v-ec1da4f5, h4.data-v-ec1da4f5, p.data-v-ec1da4f5 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-ec1da4f5, ul.data-v-ec1da4f5, li.data-v-ec1da4f5 {
+ list-style: none;
+}
+img.data-v-ec1da4f5 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-ec1da4f5 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-ec1da4f5 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-ec1da4f5 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-ec1da4f5:hover {
+ text-decoration: none;
+}
+input.data-v-ec1da4f5, textarea.data-v-ec1da4f5 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-ec1da4f5:focus, input.data-v-ec1da4f5:active, textarea.data-v-ec1da4f5:focus, textarea.data-v-ec1da4f5:active {
+ outline: none;
+}
+.chat-aside.data-v-ec1da4f5 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.group.data-v-ec1da4f5 {
+ background: #FFF;
+}
+.group-list-item.data-v-ec1da4f5 {
+ background: #FFF;
+}
+.group-list-item label.data-v-ec1da4f5 {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #333;
+}
+.group-list input.data-v-ec1da4f5 {
+ border: 1px solid rgba(131, 137, 153, 0.4);
+ font-weight: 400;
+ color: #333;
+}
+.group-list-edit.data-v-ec1da4f5 {
+ background: #FFF;
+}
+.group-profile-footer.data-v-ec1da4f5 {
+ background: #FFF;
+}
+.group-h5.data-v-ec1da4f5 {
+ background: #F7F8FA;
+}
+.group-h5-list-item-introduction.data-v-ec1da4f5 {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #888;
+}
+.group-h5-list-item-introduction a.data-v-ec1da4f5 {
+ color: #006EFF;
+}
+.select.data-v-ec1da4f5 {
+ flex: 1;
+}
+.select a.data-v-ec1da4f5 {
+ color: #006EFF;
+}
+.select-item.data-v-ec1da4f5 {
+ border: 1px solid rgba(131, 137, 153, 0.4);
+}
+.select-item-header .left.data-v-ec1da4f5 {
+ font-weight: 500;
+ color: #333;
+}
+.select-item-detail.data-v-ec1da4f5 {
+ color: #4F4F4F;
+}
+.select .selected.data-v-ec1da4f5 {
+ border: 1px solid #006EFF;
+}
+header.data-v-ec1da4f5 {
+ background: #FFF;
+}
+header h1.data-v-ec1da4f5 {
+ font-family: PingFangSC-Medium;
+ font-weight: 500;
+ color: #000;
+ letter-spacing: 0;
+}
+.btn-default.data-v-ec1da4f5 {
+ background: #FFF;
+ border: 1px solid #DDD;
+ font-family: PingFangSC-Medium;
+ font-weight: 500;
+ color: #828282;
+}
+.btn-submit.data-v-ec1da4f5 {
+ background: #3370FF;
+ border: 0 solid #2F80ED;
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #FFF;
+ letter-spacing: 0;
+}
+.btn-submit.data-v-ec1da4f5:disabled {
+ background: #e8e8e9;
+ border: 1px solid #DDD;
+ color: #FFF;
+}
+.group.data-v-ec1da4f5 {
+ padding: 30px;
+ box-sizing: border-box;
+ width: 750px;
+ max-height: calc(100vh - 100px);
+ overflow-y: auto;
+ border-radius: 10px;
+}
+.group .group-box .group-box-header.data-v-ec1da4f5 {
+ display: flex;
+ flex-direction: row-reverse;
+ justify-content: space-between;
+}
+.group .group-box .group-box-header .group-box-header-title.data-v-ec1da4f5 {
+ font-size: 18px;
+ line-height: 30px;
+}
+.group-list-item.data-v-ec1da4f5 {
+ display: flex;
+ padding: 10px 0;
+}
+.group-list-item-label.data-v-ec1da4f5 {
+ width: 84px;
+}
+.group-list input.data-v-ec1da4f5 {
+ flex: 1;
+ box-sizing: border-box;
+ padding: 6px 10px;
+ border-radius: 2px;
+ font-size: 14px;
+ line-height: 20px;
+}
+.select.data-v-ec1da4f5 {
+ flex: 1;
+}
+.select-item.data-v-ec1da4f5 {
+ padding: 12px 20px !important;
+ border-radius: 2px;
+ margin-bottom: 20px !important;
+}
+.select-item-header.data-v-ec1da4f5 {
+ display: flex;
+ justify-content: space-between;
+}
+.select-item-header .left.data-v-ec1da4f5 {
+ display: flex;
+ align-items: center;
+ font-size: 14px;
+}
+.select-item-header .left .icon.data-v-ec1da4f5 {
+ margin-right: 12px;
+}
+.select-item-header .icon-selected.data-v-ec1da4f5 {
+ position: relative;
+ left: 12px;
+ top: -4px;
+}
+.select-item-type.data-v-ec1da4f5 {
+ text-align: left;
+}
+.select-item-detail.data-v-ec1da4f5 {
+ padding-top: 6px;
+ font-size: 14px;
+}
+.select-item .link.data-v-ec1da4f5 {
+ display: inline-block;
+}
+.group-profile-footer.data-v-ec1da4f5 {
+ padding-top: 10px;
+ display: flex;
+ justify-content: flex-end;
+}
+.btn-default.data-v-ec1da4f5 {
+ width: 82px;
+ height: 32px;
+ border-radius: 4px;
+ font-size: 14px;
+}
+.btn-submit.data-v-ec1da4f5 {
+ width: 82px;
+ height: 32px;
+ border-radius: 4px;
+ margin-left: 10px;
+ font-size: 14px;
+}
+.group-h5.data-v-ec1da4f5 {
+ max-height: none;
+ height: 100%;
+ border-radius: 0;
+ padding: 0;
+}
+.group-h5 .group-box.data-v-ec1da4f5 {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+}
+.group-h5 .group-box .group-box-header.data-v-ec1da4f5 {
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+ padding: 16px 18px;
+}
+.group-h5 .group-box .group-box-header .icon-close.data-v-ec1da4f5 {
+ position: absolute;
+ left: 18px;
+}
+.group-h5 .group-box .group-list.data-v-ec1da4f5 {
+ flex: 1;
+ display: flex;
+ flex-direction: column-reverse;
+ justify-content: flex-end;
+ margin-top: 12px;
+ overflow: hidden;
+}
+.group-h5 .group-box .group-list .group-introduction-list.data-v-ec1da4f5 {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ overflow: auto;
+ padding: 12px 18px;
+}
+.group-h5 .group-box .group-list-item.data-v-ec1da4f5 {
+ padding: 14px 18px;
+ border-bottom: 1px solid #E5E5E5;
+}
+.group-h5 .group-box .group-list-item-label.data-v-ec1da4f5 {
+ font-size: 14px;
+}
+.group-h5 .group-box .group-list-edit.data-v-ec1da4f5 {
+ display: flex;
+ align-items: flex-start;
+}
+.group-h5 .group-box .group-list-edit .group-name-input.data-v-ec1da4f5 {
+ flex: 0 0 auto;
+ width: 100%;
+ height: 40px;
+}
+.group-h5 .group-box .group-profile-footer.data-v-ec1da4f5 {
+ box-shadow: inset 0 1px 0 0 #eee;
+ padding: 12px 18px;
+}
+.group-h5-list-item-content.data-v-ec1da4f5 {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ overflow: hidden;
+}
+.group-h5-list-item-content .content.data-v-ec1da4f5 {
+ width: 0;
+ flex: 1;
+ padding: 0 12px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ text-align: end;
+}
+.group-h5-list-item-introduction.data-v-ec1da4f5 {
+ padding: 12px 18px;
+ font-size: 14px;
+ line-height: 20px;
+ text-align: left;
+}
+.group-h5 .select-item-type.data-v-ec1da4f5 {
+ text-align: left;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.js
new file mode 100644
index 0000000..f365021
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.js
@@ -0,0 +1,241 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_documentLink = require("../../../utils/documentLink.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_components_TUIGroup_createGroup_groupIntroduction_config = require("./group-introduction/config.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_components_TUIGroup_server = require("../server.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+if (!Math) {
+ (Icon + Avatar + GroupIntroduction + Dialog)();
+}
+const Icon = () => "../../common/Icon.js";
+const GroupIntroduction = () => "./group-introduction/index.js";
+const Dialog = () => "../../common/Dialog/index.js";
+const Avatar = () => "../../common/Avatar/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ setup(__props) {
+ const TUIGroupServer = TUIKit_components_TUIGroup_server.TUIGroupServer.getInstance();
+ const TUIConstants = TUIGroupServer.constants;
+ const groupInfo = common_vendor.reactive({
+ profile: {
+ groupID: "",
+ name: "",
+ type: TUIKit_components_TUIGroup_createGroup_groupIntroduction_config.groupIntroConfig[0].type,
+ avatar: TUIKit_components_TUIGroup_createGroup_groupIntroduction_config.groupIntroConfig[0].icon,
+ introduction: "",
+ notification: "",
+ // joinOption: '',
+ memberList: [],
+ isSupportTopic: false
+ },
+ groupConfig: {
+ title: "",
+ value: "",
+ key: "",
+ type: "",
+ placeholder: ""
+ },
+ isEdit: false
+ });
+ common_vendor.watchEffect(() => {
+ const params = TUIGroupServer.getOnCallParams(TUIConstants.TUIGroup.SERVICE.METHOD.CREATE_GROUP);
+ groupInfo.profile.memberList = params.memberList;
+ groupInfo.groupConfig.title = params.title;
+ });
+ const groupTypeDetail = common_vendor.computed(() => {
+ return TUIKit_components_TUIGroup_createGroup_groupIntroduction_config.findGroupIntroConfig(groupInfo.profile.type);
+ });
+ const headerTitle = common_vendor.computed(() => {
+ let name = "添加群聊";
+ if (groupInfo.isEdit) {
+ name = groupInfo.groupConfig.title;
+ }
+ return common_vendor.Wt.t(`TUIGroup.${name}`);
+ });
+ const createInfo = common_vendor.computed(() => {
+ const groupNameInput = {
+ name: common_vendor.Wt.t("TUIGroup.群名称"),
+ key: "name",
+ placeholder: common_vendor.Wt.t("TUIGroup.请输入群名称")
+ };
+ const groupIDInput = {
+ name: `${common_vendor.Wt.t("TUIGroup.群ID")}(${common_vendor.Wt.t("TUIGroup.选填")})`,
+ key: "groupID",
+ placeholder: common_vendor.Wt.t("TUIGroup.请输入群ID")
+ };
+ return groupInfo.profile.type === common_vendor.qt.TYPES.GRP_COMMUNITY ? [groupNameInput] : [groupNameInput, groupIDInput];
+ });
+ const submitDisabledStatus = common_vendor.computed(() => {
+ return groupInfo.profile.name === "" && !groupInfo.isEdit;
+ });
+ const selected = (type) => {
+ if (groupInfo.profile.type !== type) {
+ groupInfo.profile.type = type;
+ groupInfo.profile.avatar = TUIKit_components_TUIGroup_createGroup_groupIntroduction_config.findGroupIntroConfig(type).icon;
+ if (groupInfo.isEdit) {
+ groupInfo.groupConfig.value = type;
+ }
+ }
+ };
+ const createGroup = async (options) => {
+ try {
+ options.memberList = options.memberList.map((item) => {
+ return { userID: item.userID };
+ });
+ if (options.type === common_vendor.qt.TYPES.GRP_COMMUNITY) {
+ delete options.groupID;
+ }
+ const res = await common_vendor.es.createGroup(options);
+ const { type } = res.data.group;
+ if (type === common_vendor.qt.TYPES.GRP_AVCHATROOM) {
+ await common_vendor.es.joinGroup({
+ groupID: res.data.group.groupID,
+ applyMessage: ""
+ });
+ }
+ handleCompleteCreate(res.data.group);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIGroup.群组创建成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ } catch (err) {
+ TUIKit_components_common_Toast_index.Toast({
+ message: err.message,
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ }
+ };
+ const submit = () => {
+ const { profile } = groupInfo;
+ if (groupInfo.isEdit) {
+ groupInfo.profile[groupInfo.groupConfig.key] = groupInfo.groupConfig.value;
+ return groupInfo.isEdit = !groupInfo.isEdit;
+ } else {
+ createGroup(profile);
+ }
+ };
+ const closeCreated = () => {
+ if (groupInfo.isEdit) {
+ return groupInfo.isEdit = !groupInfo.isEdit;
+ }
+ handleCompleteCreate(null);
+ };
+ const edit = (label) => {
+ groupInfo.isEdit = !groupInfo.isEdit;
+ groupInfo.groupConfig.key = label;
+ groupInfo.groupConfig.value = groupInfo.profile[label];
+ switch (label) {
+ case "name":
+ groupInfo.groupConfig.title = "设置群名称";
+ groupInfo.groupConfig.placeholder = "请输入群名称";
+ groupInfo.groupConfig.type = "input";
+ break;
+ case "groupID":
+ groupInfo.groupConfig.title = "设置群ID";
+ groupInfo.groupConfig.placeholder = "请输入群ID";
+ groupInfo.groupConfig.type = "input";
+ break;
+ case "type":
+ groupInfo.groupConfig.title = "选择群类型";
+ groupInfo.groupConfig.type = "select";
+ break;
+ }
+ };
+ const handleCompleteCreate = (group) => {
+ common_vendor.Jt.update(common_vendor.o.GRP, "isShowCreateComponent", false);
+ const callback = TUIGroupServer.getOnCallCallback(TUIConstants.TUIGroup.SERVICE.METHOD.CREATE_GROUP);
+ callback && callback(group);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.o$1(closeCreated),
+ b: common_vendor.p({
+ file: common_vendor.unref(TUIKit_utils_env.isPC) ? common_vendor.unref(common_assets.closeIcon$2) : common_vendor.unref(common_assets.backIcon),
+ size: "16px"
+ }),
+ c: common_vendor.t(common_vendor.unref(headerTitle)),
+ d: !common_vendor.unref(groupInfo).isEdit
+ }, !common_vendor.unref(groupInfo).isEdit ? common_vendor.e({
+ e: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIGroup.群头像")),
+ f: common_vendor.p({
+ url: common_vendor.unref(groupInfo).profile.avatar
+ }),
+ g: common_vendor.f(common_vendor.unref(createInfo), (item, index, i0) => {
+ return common_vendor.e({
+ a: common_vendor.t(item.name)
+ }, common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ b: item.placeholder,
+ c: common_vendor.unref(groupInfo).profile[item.key],
+ d: common_vendor.o$1(($event) => common_vendor.unref(groupInfo).profile[item.key] = $event.detail.value, index)
+ } : {
+ e: common_vendor.t(common_vendor.unref(groupInfo).profile[item.key]),
+ f: "3db83c6c-3-" + i0 + ",3db83c6c-0",
+ g: common_vendor.p({
+ file: common_vendor.unref(common_assets.rightIcon)
+ }),
+ h: common_vendor.o$1(($event) => edit(item.key), index)
+ }, {
+ i: index
+ });
+ }),
+ h: common_vendor.unref(TUIKit_utils_env.isPC),
+ i: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIGroup.群类型")),
+ j: common_vendor.unref(TUIKit_utils_env.isPC)
+ }, common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ k: common_vendor.o$1(selected),
+ l: common_vendor.p({
+ groupType: common_vendor.unref(groupInfo).profile.type
+ })
+ } : {
+ m: common_vendor.t(common_vendor.unref(groupTypeDetail).label),
+ n: common_vendor.p({
+ file: common_vendor.unref(common_assets.rightIcon)
+ }),
+ o: common_vendor.o$1(($event) => edit("type"))
+ }, {
+ p: !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ q: common_vendor.t(common_vendor.unref(groupTypeDetail).label),
+ r: common_vendor.t(common_vendor.unref(groupTypeDetail).detail),
+ s: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.${common_vendor.unref(groupTypeDetail).src}`)),
+ t: common_vendor.unref(TUIKit_utils_documentLink.Link).product.url
+ } : {}) : common_vendor.e({
+ v: common_vendor.unref(groupInfo).groupConfig.type === "input"
+ }, common_vendor.unref(groupInfo).groupConfig.type === "input" ? {
+ w: common_vendor.unref(common_vendor.Wt).t(`TUIGroup.${common_vendor.unref(groupInfo).groupConfig.placeholder}`),
+ x: common_vendor.unref(groupInfo).groupConfig.value,
+ y: common_vendor.o$1(($event) => common_vendor.unref(groupInfo).groupConfig.value = $event.detail.value)
+ } : {
+ z: common_vendor.o$1(selected),
+ A: common_vendor.p({
+ groupType: common_vendor.unref(groupInfo).groupConfig.value
+ })
+ }), {
+ B: common_vendor.unref(TUIKit_utils_env.isPC) && !common_vendor.unref(groupInfo).isEdit
+ }, common_vendor.unref(TUIKit_utils_env.isPC) && !common_vendor.unref(groupInfo).isEdit ? {
+ C: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIGroup.取消")),
+ D: common_vendor.o$1(closeCreated)
+ } : {}, {
+ E: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIGroup.确认")),
+ F: common_vendor.unref(submitDisabledStatus),
+ G: common_vendor.o$1(submit),
+ H: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) ? "group-h5" : ""),
+ I: common_vendor.o$1(closeCreated),
+ J: common_vendor.p({
+ show: true,
+ isH5: !common_vendor.unref(TUIKit_utils_env.isPC),
+ isHeaderShow: false,
+ isFooterShow: false,
+ background: false
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-3db83c6c"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/create-group/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.json
new file mode 100644
index 0000000..641a7bd
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../common/Icon",
+ "group-introduction": "./group-introduction/index",
+ "dialog": "../../common/Dialog/index",
+ "avatar": "../../common/Avatar/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.wxml
new file mode 100644
index 0000000..718fb42
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.wxml
@@ -0,0 +1 @@
+{{e}} {{item.a}} {{item.e}} {{i}} {{m}} {{q}}: {{r}} {{s}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.wxss
new file mode 100644
index 0000000..a04f8ee
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/create-group/index.wxss
@@ -0,0 +1,324 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-3db83c6c, div.data-v-3db83c6c, ul.data-v-3db83c6c, ol.data-v-3db83c6c, dt.data-v-3db83c6c, dd.data-v-3db83c6c, li.data-v-3db83c6c, dl.data-v-3db83c6c, h1.data-v-3db83c6c, h2.data-v-3db83c6c, h3.data-v-3db83c6c, h4.data-v-3db83c6c, p.data-v-3db83c6c {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-3db83c6c, ul.data-v-3db83c6c, li.data-v-3db83c6c {
+ list-style: none;
+}
+img.data-v-3db83c6c {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-3db83c6c {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-3db83c6c {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-3db83c6c {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-3db83c6c:hover {
+ text-decoration: none;
+}
+input.data-v-3db83c6c, textarea.data-v-3db83c6c {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-3db83c6c:focus, input.data-v-3db83c6c:active, textarea.data-v-3db83c6c:focus, textarea.data-v-3db83c6c:active {
+ outline: none;
+}
+.chat-aside.data-v-3db83c6c {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.group.data-v-3db83c6c {
+ background: #FFF;
+}
+.group-list-item.data-v-3db83c6c {
+ background: #FFF;
+}
+.group-list-item label.data-v-3db83c6c {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #333;
+}
+.group-list input.data-v-3db83c6c {
+ border: 1px solid rgba(131, 137, 153, 0.4);
+ font-weight: 400;
+ color: #333;
+}
+.group-list-edit.data-v-3db83c6c {
+ background: #FFF;
+}
+.group-profile-footer.data-v-3db83c6c {
+ background: #FFF;
+}
+.group-h5.data-v-3db83c6c {
+ background: #F7F8FA;
+}
+.group-h5-list-item-introduction.data-v-3db83c6c {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #888;
+}
+.group-h5-list-item-introduction a.data-v-3db83c6c {
+ color: #006EFF;
+}
+.select.data-v-3db83c6c {
+ flex: 1;
+}
+.select a.data-v-3db83c6c {
+ color: #006EFF;
+}
+.select-item.data-v-3db83c6c {
+ border: 1px solid rgba(131, 137, 153, 0.4);
+}
+.select-item-header .left.data-v-3db83c6c {
+ font-weight: 500;
+ color: #333;
+}
+.select-item-detail.data-v-3db83c6c {
+ color: #4F4F4F;
+}
+.select .selected.data-v-3db83c6c {
+ border: 1px solid #006EFF;
+}
+header.data-v-3db83c6c {
+ background: #FFF;
+}
+header h1.data-v-3db83c6c {
+ font-family: PingFangSC-Medium;
+ font-weight: 500;
+ color: #000;
+ letter-spacing: 0;
+}
+.btn-default.data-v-3db83c6c {
+ background: #FFF;
+ border: 1px solid #DDD;
+ font-family: PingFangSC-Medium;
+ font-weight: 500;
+ color: #828282;
+}
+.btn-submit.data-v-3db83c6c {
+ background: #3370FF;
+ border: 0 solid #2F80ED;
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #FFF;
+ letter-spacing: 0;
+}
+.btn-submit.data-v-3db83c6c:disabled {
+ background: #e8e8e9;
+ border: 1px solid #DDD;
+ color: #FFF;
+}
+.group.data-v-3db83c6c {
+ padding: 30px;
+ box-sizing: border-box;
+ width: 750px;
+ max-height: calc(100vh - 100px);
+ overflow-y: auto;
+ border-radius: 10px;
+}
+.group .group-box .group-box-header.data-v-3db83c6c {
+ display: flex;
+ flex-direction: row-reverse;
+ justify-content: space-between;
+}
+.group .group-box .group-box-header .group-box-header-title.data-v-3db83c6c {
+ font-size: 18px;
+ line-height: 30px;
+}
+.group-list-item.data-v-3db83c6c {
+ display: flex;
+ padding: 10px 0;
+}
+.group-list-item-label.data-v-3db83c6c {
+ width: 84px;
+}
+.group-list input.data-v-3db83c6c {
+ flex: 1;
+ box-sizing: border-box;
+ padding: 6px 10px;
+ border-radius: 2px;
+ font-size: 14px;
+ line-height: 20px;
+}
+.select.data-v-3db83c6c {
+ flex: 1;
+}
+.select-item.data-v-3db83c6c {
+ padding: 12px 20px !important;
+ border-radius: 2px;
+ margin-bottom: 20px !important;
+}
+.select-item-header.data-v-3db83c6c {
+ display: flex;
+ justify-content: space-between;
+}
+.select-item-header .left.data-v-3db83c6c {
+ display: flex;
+ align-items: center;
+ font-size: 14px;
+}
+.select-item-header .left .icon.data-v-3db83c6c {
+ margin-right: 12px;
+}
+.select-item-header .icon-selected.data-v-3db83c6c {
+ position: relative;
+ left: 12px;
+ top: -4px;
+}
+.select-item-type.data-v-3db83c6c {
+ text-align: left;
+}
+.select-item-detail.data-v-3db83c6c {
+ padding-top: 6px;
+ font-size: 14px;
+}
+.select-item .link.data-v-3db83c6c {
+ display: inline-block;
+}
+.group-profile-footer.data-v-3db83c6c {
+ padding-top: 10px;
+ display: flex;
+ justify-content: flex-end;
+}
+.btn-default.data-v-3db83c6c {
+ width: 82px;
+ height: 32px;
+ border-radius: 4px;
+ font-size: 14px;
+}
+.btn-submit.data-v-3db83c6c {
+ width: 82px;
+ height: 32px;
+ border-radius: 4px;
+ margin-left: 10px;
+ font-size: 14px;
+}
+.group-h5.data-v-3db83c6c {
+ max-height: none;
+ height: 100%;
+ border-radius: 0;
+ padding: 0;
+}
+.group-h5 .group-box.data-v-3db83c6c {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+}
+.group-h5 .group-box .group-box-header.data-v-3db83c6c {
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+ padding: 16px 18px;
+}
+.group-h5 .group-box .group-box-header .icon-close.data-v-3db83c6c {
+ position: absolute;
+ left: 18px;
+}
+.group-h5 .group-box .group-list.data-v-3db83c6c {
+ flex: 1;
+ display: flex;
+ flex-direction: column-reverse;
+ justify-content: flex-end;
+ margin-top: 12px;
+ overflow: hidden;
+}
+.group-h5 .group-box .group-list .group-introduction-list.data-v-3db83c6c {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ overflow: auto;
+ padding: 12px 18px;
+}
+.group-h5 .group-box .group-list-item.data-v-3db83c6c {
+ padding: 14px 18px;
+ border-bottom: 1px solid #E5E5E5;
+}
+.group-h5 .group-box .group-list-item-label.data-v-3db83c6c {
+ font-size: 14px;
+}
+.group-h5 .group-box .group-list-edit.data-v-3db83c6c {
+ display: flex;
+ align-items: flex-start;
+}
+.group-h5 .group-box .group-list-edit .group-name-input.data-v-3db83c6c {
+ flex: 0 0 auto;
+ width: 100%;
+ height: 40px;
+}
+.group-h5 .group-box .group-profile-footer.data-v-3db83c6c {
+ box-shadow: inset 0 1px 0 0 #eee;
+ padding: 12px 18px;
+}
+.group-h5-list-item-content.data-v-3db83c6c {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ overflow: hidden;
+}
+.group-h5-list-item-content .content.data-v-3db83c6c {
+ width: 0;
+ flex: 1;
+ padding: 0 12px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ text-align: end;
+}
+.group-h5-list-item-introduction.data-v-3db83c6c {
+ padding: 12px 18px;
+ font-size: 14px;
+ line-height: 20px;
+ text-align: left;
+}
+.group-h5 .select-item-type.data-v-3db83c6c {
+ text-align: left;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.js
new file mode 100644
index 0000000..1be8d3e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.js
@@ -0,0 +1,4 @@
+"use strict";
+const TUIKit_components_index = require("../index.js");
+wx.createPage(TUIKit_components_index.MiniProgramPage$3);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.json
new file mode 100644
index 0000000..756218a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "腾讯云 IM",
+ "usingComponents": {
+ "create-group": "./create-group/index",
+ "manage-group": "./manage-group/index",
+ "select-member": "./select-member/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.wxml
new file mode 100644
index 0000000..a70567e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.wxss
new file mode 100644
index 0000000..61b2161
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/index.wxss
@@ -0,0 +1,29 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-group.data-v-61238656 {
+ width: 100%;
+ height: 100%;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.js
new file mode 100644
index 0000000..bf1bdd6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.js
@@ -0,0 +1,677 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const TUIKit_components_TUIGroup_server = require("../server.js");
+const TUIKit_utils_enableSampleTaskStatus = require("../../../utils/enableSampleTaskStatus.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+if (!Math) {
+ (Icon + ManageName + ManageMember + ManageProfile + ManageNotification + ManageAdmin + Transfer + MaskLayer + Dialog)();
+}
+const MaskLayer = () => "../../common/MaskLayer/index.js";
+const Dialog = () => "../../common/Dialog/index.js";
+const Transfer = () => "../../common/Transfer/index.js";
+const ManageName = () => "./manage-name.js";
+const ManageNotification = () => "./manage-notification.js";
+const ManageMember = () => "./manage-member.js";
+const ManageProfile = () => "./manage-profile.js";
+const ManageAdmin = () => "./manage-admin.js";
+const Icon = () => "../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ groupID: {
+ type: String,
+ default: ""
+ },
+ groupCurrentTab: {
+ type: String,
+ default: ""
+ }
+ },
+ setup(__props) {
+ const TUIGroupServer = TUIKit_components_TUIGroup_server.TUIGroupServer.getInstance();
+ const TUIConstants = TUIGroupServer.constants;
+ const props = __props;
+ const manageRef = common_vendor.ref(void 0);
+ const currentTab = common_vendor.ref("");
+ const editLableName = common_vendor.ref("");
+ const transferType = common_vendor.ref("");
+ const mask = common_vendor.ref(false);
+ const currentGroupID = common_vendor.ref("");
+ const userInfo = common_vendor.ref({
+ list: []
+ });
+ const currentMember = common_vendor.ref({});
+ const typeName = common_vendor.ref({
+ [common_vendor.qt.TYPES.GRP_WORK]: "好友工作群",
+ [common_vendor.qt.TYPES.GRP_PUBLIC]: "陌生人社交群",
+ [common_vendor.qt.TYPES.GRP_MEETING]: "临时会议群",
+ [common_vendor.qt.TYPES.GRP_AVCHATROOM]: "直播群",
+ [common_vendor.qt.TYPES.GRP_COMMUNITY]: "社群",
+ [common_vendor.qt.TYPES.JOIN_OPTIONS_FREE_ACCESS]: "自由加入",
+ [common_vendor.qt.TYPES.JOIN_OPTIONS_NEED_PERMISSION]: "需要验证",
+ [common_vendor.qt.TYPES.JOIN_OPTIONS_DISABLE_APPLY]: "禁止加群"
+ });
+ const member = common_vendor.ref({
+ admin: [],
+ member: [],
+ muteMember: []
+ });
+ const transferList = common_vendor.ref([]);
+ const transferTitle = common_vendor.ref("");
+ const isSearch = common_vendor.ref(false);
+ const isRadio = common_vendor.ref(false);
+ const selectedList = common_vendor.ref([]);
+ const delDialogShow = common_vendor.ref(false);
+ const groupMemberList = common_vendor.ref([]);
+ const deletedUserList = common_vendor.ref([]);
+ const currentGroup = common_vendor.ref();
+ const currentSelfRole = common_vendor.ref("");
+ const groupIDValue = common_vendor.ref("");
+ common_vendor.onMounted(() => {
+ common_vendor.nextTick$1(() => {
+ if (manageRef.value && !TUIKit_utils_env.isUniFrameWork) {
+ common_vendor.O.listen({
+ domRefs: manageRef.value,
+ handler: handleCompleteManage
+ });
+ }
+ });
+ });
+ common_vendor.Jt.watch(common_vendor.o.GRP, {
+ currentGroup: (group) => {
+ var _a, _b;
+ if (group) {
+ currentGroup.value = group;
+ currentSelfRole.value = (_b = (_a = currentGroup.value) == null ? void 0 : _a.selfInfo) == null ? void 0 : _b.role;
+ }
+ },
+ currentGroupMemberList: (memberList) => {
+ groupMemberList.value = memberList;
+ member.value = {
+ admin: [],
+ member: [],
+ muteMember: []
+ };
+ Array.from(memberList).map((item) => {
+ switch (item == null ? void 0 : item.role) {
+ case common_vendor.qt.TYPES.GRP_MBR_ROLE_ADMIN:
+ member.value.admin.push(item);
+ break;
+ case common_vendor.qt.TYPES.GRP_MBR_ROLE_MEMBER:
+ member.value.member.push(item);
+ break;
+ }
+ return item;
+ });
+ const time = (/* @__PURE__ */ new Date()).getTime();
+ member.value.muteMember = Array.from(memberList).filter(
+ (item) => (item == null ? void 0 : item.muteUntil) * 1e3 - time > 0
+ );
+ }
+ });
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: (conversation) => {
+ var _a;
+ groupIDValue.value = (_a = conversation == null ? void 0 : conversation.groupProfile) == null ? void 0 : _a.groupID;
+ }
+ });
+ common_vendor.watchEffect(() => {
+ const params = TUIGroupServer.getOnCallParams(TUIConstants.TUIGroup.SERVICE.METHOD.OPEN_GROUP_MANAGEMENT);
+ currentGroupID.value = (params == null ? void 0 : params.groupID) || groupIDValue.value;
+ currentTab.value = props.groupCurrentTab;
+ });
+ const TabName = common_vendor.computed(() => {
+ let name = "";
+ switch (currentTab.value) {
+ case "notification":
+ name = "群公告";
+ break;
+ case "member":
+ name = "群成员";
+ break;
+ case "profile":
+ name = "群成员";
+ break;
+ default:
+ name = "群管理";
+ break;
+ }
+ return name;
+ });
+ const isOwner = common_vendor.computed(() => {
+ var _a, _b;
+ const userRole = (_b = (_a = currentGroup.value) == null ? void 0 : _a.selfInfo) == null ? void 0 : _b.role;
+ return userRole === common_vendor.qt.TYPES.GRP_MBR_ROLE_OWNER;
+ });
+ const isAdmin = common_vendor.computed(() => {
+ var _a, _b;
+ const userRole = (_b = (_a = currentGroup.value) == null ? void 0 : _a.selfInfo) == null ? void 0 : _b.role;
+ return userRole === common_vendor.qt.TYPES.GRP_MBR_ROLE_OWNER;
+ });
+ const isWorkGroup = common_vendor.computed(() => {
+ var _a;
+ return ((_a = currentGroup.value) == null ? void 0 : _a.type) === common_vendor.qt.TYPES.GRP_WORK;
+ });
+ const isSetMuteTime = common_vendor.computed(() => {
+ if (isWorkGroup.value || !(isOwner.value || isAdmin.value)) {
+ return false;
+ }
+ return true;
+ });
+ const canDelMember = common_vendor.computed(() => {
+ var _a;
+ const groupType = (_a = currentGroup == null ? void 0 : currentGroup.value) == null ? void 0 : _a.type;
+ const isAVChatRoom = groupType === common_vendor.qt.TYPES.GRP_AVCHATROOM;
+ if (isAVChatRoom) {
+ return false;
+ }
+ return true;
+ });
+ const updateProfile = async (newGroupProfile) => {
+ const { key, value } = newGroupProfile;
+ const options = {
+ groupID: currentGroup.value.groupID,
+ [key]: value
+ };
+ common_vendor.es.updateGroupProfile(options).then((res) => {
+ currentGroup.value = res.data.group;
+ editLableName.value = "";
+ }).catch((error) => {
+ TUIKit_components_common_Toast_index.Toast({
+ message: error == null ? void 0 : error.message,
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ });
+ };
+ const setCurrentTab = (tabName) => {
+ currentTab.value = tabName;
+ editLableName.value = "";
+ if (currentTab.value === "member") {
+ transferType.value = "remove";
+ }
+ if (!currentTab.value) {
+ transferType.value = "";
+ }
+ };
+ const cancel = () => {
+ toggleMask();
+ };
+ const toggleMask = async (type) => {
+ var _a;
+ selectedList.value = [];
+ let memberUserIDList = [];
+ switch (type) {
+ case "add":
+ isRadio.value = false;
+ memberUserIDList = [...member.value.admin, ...member.value.member].map((item) => item.userID);
+ transferList.value = (await friendList()).filter((item) => {
+ return item.userID && memberUserIDList.indexOf(item.userID) < 0;
+ });
+ transferTitle.value = "添加成员";
+ break;
+ case "remove":
+ isRadio.value = false;
+ transferList.value = groupMemberList.value.filter(
+ (item) => {
+ var _a2, _b;
+ return item.userID !== ((_b = (_a2 = currentGroup == null ? void 0 : currentGroup.value) == null ? void 0 : _a2.selfInfo) == null ? void 0 : _b.userID);
+ }
+ );
+ transferTitle.value = "删除成员";
+ break;
+ case "addAdmin":
+ isRadio.value = true;
+ transferList.value = member.value.member;
+ transferTitle.value = "新增管理员";
+ break;
+ case "removeAdmin":
+ isRadio.value = true;
+ transferList.value = member.value.admin;
+ transferTitle.value = "移除管理员";
+ break;
+ case "changeOwner":
+ isRadio.value = true;
+ transferList.value = [...member.value.admin, ...member.value.member];
+ transferTitle.value = "转让群组";
+ break;
+ case "addMute":
+ isRadio.value = true;
+ transferList.value = member.value.member;
+ if (currentGroup.value.selfInfo.role === "Owner") {
+ transferList.value = [...member.value.admin, ...member.value.member];
+ }
+ transferList.value = (_a = transferList == null ? void 0 : transferList.value) == null ? void 0 : _a.filter((item) => {
+ var _a2, _b;
+ return ((_b = (_a2 = member == null ? void 0 : member.value) == null ? void 0 : _a2.muteMember) == null ? void 0 : _b.indexOf(item)) < 0;
+ });
+ transferTitle.value = "新增禁言用户";
+ break;
+ case "removeMute":
+ isRadio.value = true;
+ transferList.value = member.value.muteMember;
+ transferTitle.value = "移除禁言用户";
+ break;
+ }
+ type && (transferType.value = type);
+ mask.value = !mask.value;
+ };
+ const friendList = async () => {
+ const imResponse = await common_vendor.ts.getFriendList();
+ const friendList2 = imResponse.data.map((item) => item == null ? void 0 : item.profile);
+ return friendList2.filter(
+ (item) => !userInfo.value.list.some(
+ (infoItem) => infoItem.userID === item.userID
+ )
+ );
+ };
+ const canIDissmissGroup = common_vendor.computed(() => {
+ var _a, _b, _c;
+ const userRole = (_b = (_a = currentGroup == null ? void 0 : currentGroup.value) == null ? void 0 : _a.selfInfo) == null ? void 0 : _b.role;
+ const groupType = (_c = currentGroup == null ? void 0 : currentGroup.value) == null ? void 0 : _c.type;
+ return userRole === common_vendor.qt.TYPES.GRP_MBR_ROLE_OWNER && groupType !== common_vendor.qt.TYPES.GRP_WORK;
+ });
+ const isShowAddMember = common_vendor.computed(() => {
+ var _a;
+ const groupType = (_a = currentGroup == null ? void 0 : currentGroup.value) == null ? void 0 : _a.type;
+ return groupType === common_vendor.qt.TYPES.GRP_WORK;
+ });
+ const showUserNum = common_vendor.computed(() => {
+ var _a, _b;
+ let num = 3;
+ if (!isShowAddMember.value) {
+ num += 1;
+ }
+ if (((_b = (_a = currentGroup == null ? void 0 : currentGroup.value) == null ? void 0 : _a.selfInfo) == null ? void 0 : _b.role) !== "Owner") {
+ num += 1;
+ }
+ return num;
+ });
+ const getMember = async (type) => {
+ const groupID = currentGroupID.value;
+ const options = {
+ groupID,
+ count: 100,
+ offset: type && type === "more" ? userInfo.value.list.length : 0
+ };
+ await common_vendor.es.getGroupMemberList(options).then((res) => {
+ if (type && type === "more") {
+ userInfo.value.list = [...userInfo.value.list, ...res.data.memberList];
+ } else {
+ userInfo.value.list = res.data.memberList;
+ }
+ });
+ };
+ const handleMemberProfileShow = (user) => {
+ currentMember.value = user;
+ setCurrentTab("profile");
+ };
+ const submit = (userList) => {
+ if (transferType.value === "remove") {
+ deletedUserList.value = userList;
+ delDialogShow.value = !delDialogShow.value;
+ } else {
+ handleManage(userList, transferType.value);
+ }
+ mask.value = false;
+ };
+ const dismissGroup = async (group) => {
+ await common_vendor.es.dismissGroup(group.groupID);
+ TUIKit_utils_enableSampleTaskStatus.enableSampleTaskStatus("dismissGroup");
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIGroup.群组解散成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ clearGroupInfo();
+ };
+ const clearGroupInfo = () => {
+ var _a;
+ if (TUIKit_utils_env.isUniFrameWork) {
+ (_a = common_vendor.i) == null ? void 0 : _a.switchTab({
+ url: "/TUIKit/components/TUIConversation/index"
+ });
+ } else {
+ handleCompleteManage();
+ common_vendor.Xt.switchConversation();
+ }
+ };
+ const setAllMuteTime = (value) => {
+ updateProfile({ key: "muteAllMembers", value });
+ if (value) {
+ TUIKit_utils_enableSampleTaskStatus.enableSampleTaskStatus("muteGroup");
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIGroup.禁言设置成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ } else {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIGroup.取消禁言成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ }
+ };
+ const handleSearchMember = async (value) => {
+ var _a, _b;
+ let imResponse = {};
+ let imMemberResponse = {};
+ const options = {
+ groupID: currentGroupID.value,
+ userIDList: [value]
+ };
+ switch (transferType.value) {
+ case "add":
+ try {
+ imMemberResponse = await common_vendor.es.getGroupMemberProfile(options);
+ transferList.value = transferList.value.filter(
+ (item) => {
+ var _a2;
+ return item.userID !== ((_a2 = imResponse.data[0]) == null ? void 0 : _a2.userID);
+ }
+ );
+ transferList.value = [...transferList.value, ...imResponse.data];
+ if (((_a = imMemberResponse == null ? void 0 : imMemberResponse.data) == null ? void 0 : _a.memberList.length) > 0) {
+ transferList.value = transferList.value.map((item) => {
+ var _a2;
+ if (item.userID === ((_a2 = imMemberResponse == null ? void 0 : imMemberResponse.data) == null ? void 0 : _a2.memberList[0].userID)) {
+ item.isDisabled = true;
+ }
+ return item;
+ });
+ }
+ } catch (error) {
+ const message = common_vendor.Wt.t("TUIGroup.该用户不存在");
+ TUIKit_components_common_Toast_index.Toast({
+ message,
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ }
+ break;
+ case "remove":
+ try {
+ imResponse = await common_vendor.es.getGroupMemberProfile(options);
+ if (imResponse.data.memberList.length === 0) {
+ const message = common_vendor.Wt.t("TUIGroup.该用户不在群组内");
+ TUIKit_components_common_Toast_index.Toast({
+ message,
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ }
+ transferList.value = transferList.value.filter(
+ (item) => {
+ var _a2, _b2;
+ return item.userID !== ((_b2 = (_a2 = imResponse == null ? void 0 : imResponse.data) == null ? void 0 : _a2.memberList[0]) == null ? void 0 : _b2.userID);
+ }
+ );
+ if ((_b = imResponse == null ? void 0 : imResponse.data) == null ? void 0 : _b.memberList.length) {
+ transferList.value = [
+ ...transferList.value,
+ ...imResponse.data.memberList
+ ];
+ }
+ } catch (error) {
+ const message = common_vendor.Wt.t("TUIGroup.该用户不存在");
+ TUIKit_components_common_Toast_index.Toast({
+ message,
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ }
+ break;
+ }
+ };
+ const handleManage = (userList, type) => {
+ const userIDList = [];
+ userList.map((item) => {
+ userIDList.push(item.userID);
+ return item;
+ });
+ switch (type) {
+ case "add":
+ addMember(userIDList);
+ break;
+ case "remove":
+ deleteGroupMember(userIDList);
+ break;
+ case "addAdmin":
+ handleAdmin(userList[0]);
+ break;
+ case "removeAdmin":
+ handleAdmin(userList[0]);
+ break;
+ case "changeOwner":
+ changeOwner(userIDList[0]);
+ break;
+ case "addMute":
+ setMemberMuteTime(userIDList[0], "add");
+ break;
+ case "removeMute":
+ setMemberMuteTime(userIDList[0], "remove");
+ break;
+ }
+ };
+ const addMember = async (userIDList) => {
+ const options = {
+ groupID: currentGroupID.value,
+ userIDList
+ };
+ await common_vendor.es.addGroupMember(options);
+ };
+ const changeOwner = async (userID) => {
+ const options = {
+ groupID: currentGroupID.value,
+ newOwnerID: userID
+ };
+ const imResponse = await common_vendor.es.changeGroupOwner(options);
+ currentGroup.value = {};
+ currentGroup.value = imResponse.data.group;
+ };
+ const setMemberMuteTime = async (userID, type) => {
+ const options = {
+ groupID: currentGroupID.value,
+ userID,
+ muteTime: type === "add" ? 60 * 60 * 24 * 30 : 0
+ };
+ await common_vendor.es.setGroupMemberMuteTime(options);
+ };
+ const handleAdmin = async (user) => {
+ let role = "";
+ switch (user.role) {
+ case common_vendor.qt.TYPES.GRP_MBR_ROLE_ADMIN:
+ role = common_vendor.qt.TYPES.GRP_MBR_ROLE_MEMBER;
+ break;
+ case common_vendor.qt.TYPES.GRP_MBR_ROLE_MEMBER:
+ role = common_vendor.qt.TYPES.GRP_MBR_ROLE_ADMIN;
+ break;
+ }
+ const options = {
+ groupID: currentGroupID.value,
+ userID: user.userID,
+ role
+ };
+ await common_vendor.es.setGroupMemberRole(options);
+ };
+ const deleteGroupMember = async (userIDList) => {
+ const options = {
+ groupID: currentGroupID.value,
+ userIDList,
+ reason: ""
+ };
+ await common_vendor.es.deleteGroupMember(options);
+ };
+ const quitGroup = async (group) => {
+ await common_vendor.es.quitGroup(group.groupID);
+ clearGroupInfo();
+ };
+ const back = () => {
+ if (currentTab.value) {
+ setCurrentTab("");
+ } else {
+ handleCompleteManage();
+ }
+ };
+ const handleCompleteManage = () => {
+ common_vendor.Jt.update(common_vendor.o.GRP, "isShowManageComponent", false);
+ const callback = TUIGroupServer.getOnCallCallback(TUIConstants.TUIGroup.SERVICE.METHOD.OPEN_GROUP_MANAGEMENT);
+ callback && callback();
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(TUIKit_utils_env.isUniFrameWork) || common_vendor.unref(currentTab) === "admin"
+ }, !common_vendor.unref(TUIKit_utils_env.isUniFrameWork) || common_vendor.unref(currentTab) === "admin" ? {
+ b: common_vendor.o$1(back),
+ c: common_vendor.p({
+ file: common_vendor.unref(common_assets.backIcon)
+ }),
+ d: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.${common_vendor.unref(TabName)}`))
+ } : {}, {
+ e: !common_vendor.unref(currentTab) || common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && common_vendor.unref(currentTab) != "admin"
+ }, !common_vendor.unref(currentTab) || common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && common_vendor.unref(currentTab) != "admin" ? common_vendor.e({
+ f: common_vendor.o$1(updateProfile),
+ g: common_vendor.p({
+ isAuthor: common_vendor.unref(isOwner) || common_vendor.unref(isAdmin) || common_vendor.unref(isWorkGroup),
+ data: common_vendor.unref(currentGroup)
+ }),
+ h: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群成员`)),
+ i: common_vendor.t(common_vendor.unref(currentGroup).memberCount || common_vendor.unref(groupMemberList).length),
+ j: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.人`)),
+ k: common_vendor.p({
+ file: common_vendor.unref(common_assets.rightIcon)
+ }),
+ l: common_vendor.o$1(($event) => setCurrentTab("member")),
+ m: common_vendor.f(common_vendor.unref(groupMemberList).slice(0, common_vendor.unref(showUserNum)), (item, index, i0) => {
+ return {
+ a: item.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
+ b: common_vendor.o$1(($event) => handleMemberProfileShow(item), index),
+ c: common_vendor.t(item.nick || item.userID),
+ d: index
+ };
+ }),
+ n: common_vendor.unref(isShowAddMember)
+ }, common_vendor.unref(isShowAddMember) ? {
+ o: common_vendor.o$1(($event) => toggleMask("add"))
+ } : {}, {
+ p: common_vendor.unref(currentSelfRole) === "Owner"
+ }, common_vendor.unref(currentSelfRole) === "Owner" ? {
+ q: common_vendor.o$1(($event) => toggleMask("remove"))
+ } : {}, {
+ r: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群公告`)),
+ s: common_vendor.t(common_vendor.unref(currentGroup).notification),
+ t: common_vendor.p({
+ file: common_vendor.unref(common_assets.rightIcon)
+ }),
+ v: common_vendor.o$1(($event) => setCurrentTab("notification")),
+ w: (common_vendor.unref(isAdmin) || common_vendor.unref(isOwner)) && common_vendor.unref(isSetMuteTime)
+ }, (common_vendor.unref(isAdmin) || common_vendor.unref(isOwner)) && common_vendor.unref(isSetMuteTime) ? {
+ x: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群管理`)),
+ y: common_vendor.p({
+ file: common_vendor.unref(common_assets.rightIcon)
+ }),
+ z: common_vendor.o$1(($event) => setCurrentTab("admin"))
+ } : {}, {
+ A: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群ID`)),
+ B: common_vendor.t(common_vendor.unref(currentGroupID)),
+ C: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群头像`)),
+ D: common_vendor.unref(currentGroup).avatar || "https://web.sdk.qcloud.com/im/demo/TUIkit/web/img/constomer.svg",
+ E: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群类型`)),
+ F: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.${common_vendor.unref(typeName)[common_vendor.unref(currentGroup).type]}`)),
+ G: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.加群方式`)),
+ H: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.${common_vendor.unref(typeName)[common_vendor.unref(currentGroup).joinOption]}`)),
+ I: common_vendor.o$1(($event) => editLableName.value = ""),
+ J: common_vendor.unref(currentSelfRole) === "Owner" && common_vendor.unref(groupMemberList).length > 1
+ }, common_vendor.unref(currentSelfRole) === "Owner" && common_vendor.unref(groupMemberList).length > 1 ? {
+ K: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.转让群组`)),
+ L: common_vendor.o$1(($event) => toggleMask("changeOwner"))
+ } : {}, {
+ M: common_vendor.unref(canIDissmissGroup)
+ }, common_vendor.unref(canIDissmissGroup) ? {
+ N: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.解散群聊`)),
+ O: common_vendor.o$1(($event) => dismissGroup(common_vendor.unref(currentGroup)))
+ } : {
+ P: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.退出群组`)),
+ Q: common_vendor.o$1(($event) => quitGroup(common_vendor.unref(currentGroup)))
+ }) : {}, {
+ R: common_vendor.unref(currentTab) === "member"
+ }, common_vendor.unref(currentTab) === "member" ? {
+ S: common_vendor.o$1(($event) => getMember("more")),
+ T: common_vendor.o$1(submit),
+ U: common_vendor.o$1(handleMemberProfileShow),
+ V: common_vendor.o$1(($event) => setCurrentTab("")),
+ W: common_vendor.p({
+ self: common_vendor.unref(currentGroup).selfInfo,
+ list: common_vendor.unref(groupMemberList),
+ total: ~~common_vendor.unref(currentGroup).memberCount,
+ isShowDel: common_vendor.unref(currentSelfRole) === "Owner" && common_vendor.unref(canDelMember)
+ })
+ } : {}, {
+ X: common_vendor.unref(currentTab) === "profile"
+ }, common_vendor.unref(currentTab) === "profile" ? {
+ Y: common_vendor.o$1(($event) => setCurrentTab("")),
+ Z: common_vendor.p({
+ userInfo: common_vendor.unref(currentMember)
+ })
+ } : {}, {
+ aa: common_vendor.unref(currentTab) === "notification"
+ }, common_vendor.unref(currentTab) === "notification" ? {
+ ab: common_vendor.o$1(updateProfile),
+ ac: common_vendor.o$1(($event) => setCurrentTab("")),
+ ad: common_vendor.p({
+ isAuthor: common_vendor.unref(isOwner) || common_vendor.unref(isAdmin) || common_vendor.unref(isWorkGroup),
+ data: common_vendor.unref(currentGroup)
+ })
+ } : {}, {
+ ae: common_vendor.unref(currentTab) === "admin"
+ }, common_vendor.unref(currentTab) === "admin" ? {
+ af: common_vendor.unref(isAdmin),
+ ag: common_vendor.o$1(($event) => toggleMask("addAdmin")),
+ ah: common_vendor.o$1(($event) => toggleMask("removeAdmin")),
+ ai: common_vendor.o$1(setAllMuteTime),
+ aj: common_vendor.o$1(($event) => toggleMask("addMute")),
+ ak: common_vendor.o$1(($event) => toggleMask("removeMute")),
+ al: common_vendor.o$1(($event) => setCurrentTab("")),
+ am: common_vendor.p({
+ isSetMuteTime: common_vendor.unref(isSetMuteTime),
+ member: common_vendor.unref(member),
+ currentGroup: common_vendor.unref(currentGroup)
+ })
+ } : {}, {
+ an: common_vendor.o$1(submit),
+ ao: common_vendor.o$1(cancel),
+ ap: common_vendor.o$1(handleSearchMember),
+ aq: common_vendor.p({
+ title: common_vendor.unref(common_vendor.Wt).t(`TUIGroup.${common_vendor.unref(transferTitle)}`),
+ list: common_vendor.unref(transferList),
+ isSearch: common_vendor.unref(isSearch),
+ isRadio: common_vendor.unref(isRadio),
+ selectedList: common_vendor.unref(selectedList),
+ isH5: !common_vendor.unref(TUIKit_utils_env.isPC)
+ }),
+ ar: common_vendor.o$1((e) => mask.value = e),
+ as: common_vendor.p({
+ show: common_vendor.unref(mask)
+ }),
+ at: common_vendor.unref(deletedUserList).length === 1
+ }, common_vendor.unref(deletedUserList).length === 1 ? {
+ av: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.确定从群聊中删除该成员?`))
+ } : {}, {
+ aw: common_vendor.unref(deletedUserList).length > 1
+ }, common_vendor.unref(deletedUserList).length > 1 ? {
+ ax: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.确定从群聊中删除所选成员?`))
+ } : {}, {
+ ay: common_vendor.o$1(($event) => handleManage(common_vendor.unref(deletedUserList), "remove")),
+ az: common_vendor.o$1((e) => delDialogShow.value = e),
+ aA: common_vendor.p({
+ title: common_vendor.unref(common_vendor.Wt).t(`TUIGroup.删除成员`),
+ show: common_vendor.unref(delDialogShow),
+ isH5: !common_vendor.unref(TUIKit_utils_env.isPC),
+ center: true,
+ isHeaderShow: common_vendor.unref(TUIKit_utils_env.isPC)
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e56d1843"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.json
new file mode 100644
index 0000000..948cd6c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.json
@@ -0,0 +1,14 @@
+{
+ "component": true,
+ "usingComponents": {
+ "mask-layer": "../../common/MaskLayer/index",
+ "dialog": "../../common/Dialog/index",
+ "transfer": "../../common/Transfer/index",
+ "manage-name": "./manage-name",
+ "manage-notification": "./manage-notification",
+ "manage-member": "./manage-member",
+ "manage-profile": "./manage-profile",
+ "manage-admin": "./manage-admin",
+ "icon": "../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.wxml
new file mode 100644
index 0000000..e07d055
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.wxml
@@ -0,0 +1 @@
+{{item.c}} + - {{r}} {{s}} {{x}} {{A}} {{B}} {{C}} {{E}} {{F}} {{G}} {{H}} {{av}} {{ax}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.wxss
new file mode 100644
index 0000000..0ded424
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/index.wxss
@@ -0,0 +1,355 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-e56d1843, div.data-v-e56d1843, ul.data-v-e56d1843, ol.data-v-e56d1843, dt.data-v-e56d1843, dd.data-v-e56d1843, li.data-v-e56d1843, dl.data-v-e56d1843, h1.data-v-e56d1843, h2.data-v-e56d1843, h3.data-v-e56d1843, h4.data-v-e56d1843, p.data-v-e56d1843 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-e56d1843, ul.data-v-e56d1843, li.data-v-e56d1843 {
+ list-style: none;
+}
+img.data-v-e56d1843 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-e56d1843 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-e56d1843 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-e56d1843 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-e56d1843:hover {
+ text-decoration: none;
+}
+input.data-v-e56d1843, textarea.data-v-e56d1843 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-e56d1843:focus, input.data-v-e56d1843:active, textarea.data-v-e56d1843:focus, textarea.data-v-e56d1843:active {
+ outline: none;
+}
+.chat-aside.data-v-e56d1843 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.manage.data-v-e56d1843 {
+ background: #FFF;
+ box-shadow: 0 1px 10px 0 rgba(2, 16, 43, 0.15);
+}
+.manage-header.data-v-e56d1843 {
+ border-bottom: 1px solid #E8E8E9;
+}
+.manage-header .manage-header-content.data-v-e56d1843 {
+ font-family: PingFangSC-Medium;
+ font-weight: 500;
+ color: #000;
+}
+.manage .main .footer .list-item.data-v-e56d1843 {
+ font-weight: 400;
+ color: #dc2113;
+ border-bottom: 1px solid #E8E8E9;
+}
+.input.data-v-e56d1843 {
+ border: 1px solid #E8E8E9;
+ font-weight: 400;
+ color: #000;
+ opacity: 0.6;
+}
+.avatar.data-v-e56d1843 {
+ background: #F4F5F9;
+ color: #000;
+}
+.space-top.data-v-e56d1843 {
+ border-top: 10px solid #F4F5F9;
+}
+.btn.data-v-e56d1843 {
+ background: #3370FF;
+ border: 0 solid #2F80ED;
+ color: #FFF;
+}
+.btn-cancel.data-v-e56d1843 {
+ background: #FFF;
+ border: 1px solid #DDD;
+ color: #828282;
+}
+.slider-box.data-v-e56d1843 {
+ background: #E1E1E3;
+}
+.slider-block.data-v-e56d1843 {
+ background: #FFF;
+ border: 0 solid rgba(0, 0, 0, 0.85);
+ box-shadow: 0 2px 4px 0 #D1D1D1;
+}
+.btn.data-v-e56d1843 {
+ padding: 4px 28px;
+ font-size: 12px;
+ line-height: 24px;
+ border-radius: 4px;
+}
+.list.data-v-e56d1843 {
+ padding: 0 20px;
+ display: flex;
+ flex-direction: column;
+}
+.list-item.data-v-e56d1843 {
+ padding: 14px 0;
+ display: flex;
+ align-items: center;
+ font-size: 14px;
+}
+.list-between.data-v-e56d1843 {
+ justify-content: space-between;
+}
+.manage.data-v-e56d1843 {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ height: 100%;
+ overflow: auto;
+}
+.manage-header.data-v-e56d1843 {
+ padding: 10px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+.manage-header-content.data-v-e56d1843 {
+ margin-left: -20px;
+ text-align: center;
+ font-size: 16px;
+ line-height: 30px;
+ font-weight: 500;
+}
+.manage-header-left.data-v-e56d1843 {
+ display: flex;
+}
+.manage .main .user-info.data-v-e56d1843 {
+ padding: 0 20px;
+ display: flex;
+ flex-direction: column;
+ font-size: 14px;
+}
+.manage .main .user-info-header.data-v-e56d1843 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 14px 0;
+}
+.manage .main .user-info-header-right.data-v-e56d1843 {
+ display: flex;
+ align-items: center;
+}
+.manage .main .user-info-list.data-v-e56d1843 {
+ flex: 1;
+ display: flex;
+ flex-wrap: wrap;
+ padding-bottom: 20px;
+}
+.manage .main .user-info-list-item.data-v-e56d1843 {
+ position: relative;
+ flex: 0 0 36px;
+ display: flex;
+ flex-direction: column;
+ padding-right: 20px;
+}
+.manage .main .user-info-list-item.data-v-e56d1843:last-child {
+ padding-right: 0;
+}
+.manage .main .user-info-list-item .more.data-v-e56d1843 {
+ padding-top: 10px;
+}
+.manage .main .user-info-list-item-info.data-v-e56d1843 {
+ text-align: center;
+ max-width: 36px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.manage .main .content.data-v-e56d1843 {
+ padding: 0 20px;
+}
+.manage .main .content .list-item.data-v-e56d1843 {
+ justify-content: space-between;
+}
+.manage .main .content .list-item .btn.data-v-e56d1843 {
+ flex: 1;
+}
+.manage .main .content .list-item .article.data-v-e56d1843 {
+ opacity: 0.6;
+ width: 246px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.manage .main .content .list-item .end.data-v-e56d1843 {
+ align-self: flex-end;
+ margin-bottom: 4px;
+}
+.manage .main .footer.data-v-e56d1843 {
+ padding: 0 20px;
+}
+.manage .main .footer .list-item.data-v-e56d1843 {
+ cursor: pointer;
+ width: 100%;
+ font-size: 14px;
+ padding: 14px 0;
+ justify-content: center;
+}
+.manage .main .footer .list-item.data-v-e56d1843:last-child {
+ border: none;
+}
+.manage .admin.data-v-e56d1843 {
+ padding: 20px 0;
+}
+.manage .admin-content.data-v-e56d1843 {
+ padding: 20px 20px 12px;
+ display: flex;
+ align-items: center;
+}
+.manage .admin-content .aside.data-v-e56d1843 {
+ flex: 1;
+ font-size: 14px;
+}
+.manage .admin-content .aside .p.data-v-e56d1843 {
+ font-size: 12px;
+}
+.manage .admin-list.data-v-e56d1843 {
+ padding: 0 20px;
+}
+.manage .admin-list .label.data-v-e56d1843 {
+ display: inline-block;
+ font-size: 14px;
+ padding-bottom: 8px;
+}
+.manage .admin .last.data-v-e56d1843 {
+ padding-top: 13px;
+ position: relative;
+}
+.manage .admin .last.data-v-e56d1843::before {
+ position: absolute;
+ content: "";
+ width: calc(100% - 40px);
+ height: 1px;
+ top: 0;
+ left: 0;
+ right: 0;
+ margin: 0 auto;
+}
+.input.data-v-e56d1843 {
+ border-radius: 4px;
+ padding: 4px 16px;
+ font-size: 14px;
+}
+.group-id.data-v-e56d1843 {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+.group-id .icon.data-v-e56d1843 {
+ width: 15px;
+ height: 15px;
+ cursor: pointer;
+}
+.avatar.data-v-e56d1843 {
+ width: 36px;
+ height: 36px;
+ border-radius: 4px;
+ font-size: 12px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.slider-box.data-v-e56d1843 {
+ display: flex;
+ align-items: center;
+ width: 34px;
+ height: 20px;
+ border-radius: 10px;
+}
+.slider-block.data-v-e56d1843 {
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ border-radius: 8px;
+ margin: 0 2px;
+}
+.space-between.data-v-e56d1843 {
+ justify-content: space-between;
+}
+.del-dialog-title.data-v-e56d1843 {
+ text-align: center;
+ padding: 20px 0;
+}
+.deleted-dialog.data-v-e56d1843 {
+ padding: 20%;
+}
+.icon-close.data-v-e56d1843 {
+ display: inline-block;
+ width: 24px;
+ height: 24px;
+ position: relative;
+ border-radius: 50%;
+}
+.icon-close.data-v-e56d1843::before,
+.icon-close.data-v-e56d1843::after {
+ content: "";
+ position: absolute;
+ background-color: #8F959E;
+ height: 16px;
+ width: 2px;
+ top: 50%;
+ left: 50%;
+ margin-top: -8px;
+ margin-left: -1px;
+}
+.icon-close.data-v-e56d1843::before {
+ transform: rotate(45deg);
+}
+.icon-close.data-v-e56d1843::after {
+ transform: rotate(-45deg);
+}
+.tab-icon.data-v-e56d1843 {
+ position: absolute;
+ left: 20px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.js
new file mode 100644
index 0000000..d6a49a3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.js
@@ -0,0 +1,130 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+if (!Math) {
+ (Icon + Slider)();
+}
+const Slider = () => "../../common/Slider/index.js";
+const Icon = () => "../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "manage-admin",
+ props: {
+ member: {
+ type: Object,
+ default: () => {
+ }
+ },
+ isSetMuteTime: {
+ type: Boolean,
+ default: () => false
+ },
+ currentGroup: {
+ type: Object,
+ default: () => {
+ }
+ }
+ },
+ emits: [
+ "addAdmin",
+ "removeAdmin",
+ "setAllMuteTime",
+ "addMute",
+ "removeMute",
+ "close"
+ ],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const isAdminSetMuteTime = common_vendor.ref(false);
+ const memberAdmin = common_vendor.ref({
+ admin: [],
+ member: [],
+ muteMember: []
+ });
+ const currentGroupAdmin = common_vendor.ref();
+ common_vendor.watchEffect(() => {
+ memberAdmin.value = props.member;
+ isAdminSetMuteTime.value = props.isSetMuteTime;
+ currentGroupAdmin.value = props.currentGroup;
+ });
+ const emits = __emit;
+ const addAdmin = () => {
+ emits("addAdmin");
+ };
+ const removeAdmin = () => {
+ emits("removeAdmin");
+ };
+ const setAllMuteTime = (value) => {
+ emits("setAllMuteTime", value);
+ };
+ const addMute = () => {
+ emits("addMute");
+ };
+ const removeMute = () => {
+ emits("removeMute");
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群管理员`)),
+ b: common_vendor.f(common_vendor.unref(memberAdmin).admin, (item, index, i0) => {
+ return {
+ a: item.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
+ b: common_vendor.t(item.nick || item.userID),
+ c: index
+ };
+ }),
+ c: common_vendor.p({
+ file: common_vendor.unref(common_assets.plusSVG),
+ width: "16px",
+ height: "16px"
+ }),
+ d: common_vendor.o$1(addAdmin),
+ e: common_vendor.unref(memberAdmin).admin.length > 0
+ }, common_vendor.unref(memberAdmin).admin.length > 0 ? {
+ f: common_vendor.p({
+ file: common_vendor.unref(common_assets.minusSVG),
+ width: "16px",
+ height: "16px"
+ }),
+ g: common_vendor.o$1(removeAdmin)
+ } : {}, {
+ h: common_vendor.unref(isAdminSetMuteTime)
+ }, common_vendor.unref(isAdminSetMuteTime) ? {
+ i: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.全员禁言`)),
+ j: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.全员禁言开启后,只允许群主和管理员发言。`)),
+ k: common_vendor.o$1(setAllMuteTime),
+ l: common_vendor.p({
+ open: common_vendor.unref(currentGroupAdmin).muteAllMembers
+ })
+ } : {}, {
+ m: common_vendor.unref(isAdminSetMuteTime)
+ }, common_vendor.unref(isAdminSetMuteTime) ? common_vendor.e({
+ n: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.单独禁言人员`)),
+ o: common_vendor.f(common_vendor.unref(memberAdmin).muteMember, (item, index, i0) => {
+ return {
+ a: item.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
+ b: common_vendor.t(item.nick || item.userID),
+ c: index
+ };
+ }),
+ p: common_vendor.p({
+ file: common_vendor.unref(common_assets.plusSVG),
+ width: "16px",
+ height: "16px"
+ }),
+ q: common_vendor.o$1(addMute),
+ r: common_vendor.unref(memberAdmin).muteMember.length > 0
+ }, common_vendor.unref(memberAdmin).muteMember.length > 0 ? {
+ s: common_vendor.p({
+ file: common_vendor.unref(common_assets.minusSVG),
+ width: "16px",
+ height: "16px"
+ }),
+ t: common_vendor.o$1(removeMute)
+ } : {}) : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-bbbd882d"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.json
new file mode 100644
index 0000000..dcf210a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "slider": "../../common/Slider/index",
+ "icon": "../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.wxml
new file mode 100644
index 0000000..1e960e9
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.wxml
@@ -0,0 +1 @@
+{{item.b}} {{i}} {{j}} {{item.b}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.wxss
new file mode 100644
index 0000000..fbe1cd1
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-admin.wxss
@@ -0,0 +1,194 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-bbbd882d, div.data-v-bbbd882d, ul.data-v-bbbd882d, ol.data-v-bbbd882d, dt.data-v-bbbd882d, dd.data-v-bbbd882d, li.data-v-bbbd882d, dl.data-v-bbbd882d, h1.data-v-bbbd882d, h2.data-v-bbbd882d, h3.data-v-bbbd882d, h4.data-v-bbbd882d, p.data-v-bbbd882d {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-bbbd882d, ul.data-v-bbbd882d, li.data-v-bbbd882d {
+ list-style: none;
+}
+img.data-v-bbbd882d {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-bbbd882d {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-bbbd882d {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-bbbd882d {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-bbbd882d:hover {
+ text-decoration: none;
+}
+input.data-v-bbbd882d, textarea.data-v-bbbd882d {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-bbbd882d:focus, input.data-v-bbbd882d:active, textarea.data-v-bbbd882d:focus, textarea.data-v-bbbd882d:active {
+ outline: none;
+}
+.chat-aside.data-v-bbbd882d {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.admin.data-v-bbbd882d {
+ width: 100%;
+ overflow: hidden;
+}
+.admin-header.data-v-bbbd882d {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ padding: 10px;
+}
+.admin-header-left.data-v-bbbd882d {
+ font-family: "PingFang SC", sans-serif;
+ font-size: 18px;
+ font-weight: 500;
+ line-height: 50px;
+ letter-spacing: 0;
+ text-align: left;
+}
+.admin-header-close.data-v-bbbd882d {
+ font-family: "PingFang SC", sans-serif;
+ font-size: 16px;
+ font-weight: 400;
+ line-height: 48px;
+ letter-spacing: 0;
+ text-align: left;
+ color: #3370ff;
+}
+.admin-main.data-v-bbbd882d {
+ width: 100%;
+ overflow: hidden;
+}
+.admin-main .admin-manage.data-v-bbbd882d {
+ border-bottom: 10px solid #f4f5f9;
+}
+.admin-main .admin-manage.data-v-bbbd882d,
+.admin-main .admin-mute.data-v-bbbd882d {
+ padding: 10px;
+ width: calc(100% - 20px);
+ overflow: hidden;
+}
+.admin-main .admin-manage-header.data-v-bbbd882d,
+.admin-main .admin-mute-header.data-v-bbbd882d {
+ padding-left: 10px;
+ font-family: "PingFang SC", sans-serif;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 20px;
+ letter-spacing: 0;
+ text-align: left;
+}
+.admin-main .admin-manage-list.data-v-bbbd882d,
+.admin-main .admin-mute-list.data-v-bbbd882d {
+ display: flex;
+ width: 100%;
+ overflow: hidden;
+ flex-wrap: wrap;
+}
+.admin-main .admin-manage-list-item.data-v-bbbd882d,
+.admin-main .admin-mute-list-item.data-v-bbbd882d {
+ flex: 0 0 36px;
+ display: flex;
+ flex-direction: column;
+ padding: 10px;
+}
+.admin-main .admin-manage-list-item .item-main.data-v-bbbd882d,
+.admin-main .admin-mute-list-item .item-main.data-v-bbbd882d {
+ width: 36px;
+ height: 36px;
+ border-radius: 4px;
+ font-size: 12px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: #f4f5f9;
+ color: #000;
+}
+.admin-main .admin-manage-list-item .item-main-avatar.data-v-bbbd882d,
+.admin-main .admin-mute-list-item .item-main-avatar.data-v-bbbd882d {
+ width: 36px;
+ height: 36px;
+ overflow: hidden;
+ border-radius: 4px;
+}
+.admin-main .admin-manage-list-item .item-name.data-v-bbbd882d,
+.admin-main .admin-mute-list-item .item-name.data-v-bbbd882d {
+ text-align: center;
+ max-width: 36px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.admin-main .admin-mute-all.data-v-bbbd882d {
+ margin: 0 10px;
+ padding: 20px 0;
+ border-bottom: 1px solid #e8e8e9;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+}
+.admin-main .admin-mute-all-title.data-v-bbbd882d {
+ padding-left: 10px;
+ font-family: "PingFang SC", sans-serif;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 20px;
+ letter-spacing: 0;
+ text-align: left;
+}
+.admin-main .admin-mute-all-content.data-v-bbbd882d {
+ color: #999;
+ padding-left: 10px;
+ font-family: "PingFang SC", sans-serif;
+ font-size: 12px;
+ font-weight: 400;
+ line-height: 17px;
+ letter-spacing: 0;
+ text-align: left;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.js
new file mode 100644
index 0000000..120df52
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.js
@@ -0,0 +1,134 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "manage-member",
+ props: {
+ list: {
+ type: Array,
+ default: () => []
+ },
+ total: {
+ type: Number,
+ default: () => 0
+ },
+ isShowDel: {
+ type: Boolean,
+ default: () => false
+ },
+ self: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ emits: ["more", "del", "handleMemberProfileShow", "close"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const totalMember = common_vendor.ref(0);
+ const memberList = common_vendor.ref([]);
+ const isShowDeleteBtn = common_vendor.ref(false);
+ const selfValue = common_vendor.ref({});
+ common_vendor.watchEffect(() => {
+ totalMember.value = props.total;
+ isShowDeleteBtn.value = props.isShowDel;
+ memberList.value = props.list;
+ selfValue.value = props.self;
+ });
+ const emits = __emit;
+ const handleRoleName = (item) => {
+ let name = "";
+ switch (item == null ? void 0 : item.role) {
+ case common_vendor.qt.TYPES.GRP_MBR_ROLE_ADMIN:
+ name = common_vendor.Wt.t("TUIGroup.管理员");
+ break;
+ case common_vendor.qt.TYPES.GRP_MBR_ROLE_OWNER:
+ name = common_vendor.Wt.t("TUIGroup.群主");
+ break;
+ }
+ if (name) {
+ name = `(${name})`;
+ }
+ if (item.userID === selfValue.value.userID) {
+ name += ` (${common_vendor.Wt.t("TUIGroup.我")})`;
+ }
+ return name;
+ };
+ const getMore = () => {
+ emits("more");
+ };
+ const submit = (item) => {
+ emits("del", [item]);
+ };
+ const handleMemberProfileShow = (user) => {
+ emits("handleMemberProfileShow", user);
+ };
+ const close = (tabName) => {
+ emits("close", tabName);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, !common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? common_vendor.e({
+ b: common_vendor.f(common_vendor.unref(memberList), (item, index, i0) => {
+ return common_vendor.e({
+ a: item.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
+ b: common_vendor.t(item.nick || item.userID),
+ c: common_vendor.t(handleRoleName(item)),
+ d: common_vendor.o$1(($event) => handleMemberProfileShow(item), index),
+ e: item.role !== "Owner" && common_vendor.unref(isShowDeleteBtn)
+ }, item.role !== "Owner" && common_vendor.unref(isShowDeleteBtn) ? {
+ f: "a4ec002a-0-" + i0,
+ g: common_vendor.p({
+ file: common_vendor.unref(common_assets.delIcon$1),
+ width: "16px",
+ height: "16px"
+ })
+ } : {}, {
+ h: common_vendor.o$1(($event) => submit(item), index),
+ i: index
+ });
+ }),
+ c: common_vendor.unref(memberList).length < common_vendor.unref(totalMember)
+ }, common_vendor.unref(memberList).length < common_vendor.unref(totalMember) ? {
+ d: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.查看更多`)),
+ e: common_vendor.o$1(getMore)
+ } : {}) : common_vendor.e({
+ f: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群成员`)),
+ g: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`关闭`)),
+ h: common_vendor.o$1(($event) => close("member")),
+ i: common_vendor.f(common_vendor.unref(memberList), (item, index, i0) => {
+ return common_vendor.e({
+ a: item.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
+ b: common_vendor.t(item.nick || item.userID),
+ c: common_vendor.t(handleRoleName(item)),
+ d: common_vendor.o$1(($event) => handleMemberProfileShow(item), index),
+ e: item.role !== "Owner" && common_vendor.unref(isShowDeleteBtn)
+ }, item.role !== "Owner" && common_vendor.unref(isShowDeleteBtn) ? {
+ f: "a4ec002a-1-" + i0,
+ g: common_vendor.p({
+ file: common_vendor.unref(common_assets.delIcon$1),
+ width: "16px",
+ height: "16px"
+ })
+ } : {}, {
+ h: common_vendor.o$1(($event) => submit(item), index),
+ i: index
+ });
+ }),
+ j: common_vendor.unref(memberList).length < common_vendor.unref(totalMember)
+ }, common_vendor.unref(memberList).length < common_vendor.unref(totalMember) ? {
+ k: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.查看更多`)),
+ l: common_vendor.o$1(getMore)
+ } : {}));
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-a4ec002a"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.json
new file mode 100644
index 0000000..017f9cf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.wxml
new file mode 100644
index 0000000..eaf7a38
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.wxml
@@ -0,0 +1 @@
+{{item.b}} {{item.c}} {{d}} {{item.b}} {{item.c}} {{k}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.wxss
new file mode 100644
index 0000000..18bb9ef
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-member.wxss
@@ -0,0 +1,174 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-a4ec002a, div.data-v-a4ec002a, ul.data-v-a4ec002a, ol.data-v-a4ec002a, dt.data-v-a4ec002a, dd.data-v-a4ec002a, li.data-v-a4ec002a, dl.data-v-a4ec002a, h1.data-v-a4ec002a, h2.data-v-a4ec002a, h3.data-v-a4ec002a, h4.data-v-a4ec002a, p.data-v-a4ec002a {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-a4ec002a, ul.data-v-a4ec002a, li.data-v-a4ec002a {
+ list-style: none;
+}
+img.data-v-a4ec002a {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-a4ec002a {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-a4ec002a {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-a4ec002a {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-a4ec002a:hover {
+ text-decoration: none;
+}
+input.data-v-a4ec002a, textarea.data-v-a4ec002a {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-a4ec002a:focus, input.data-v-a4ec002a:active, textarea.data-v-a4ec002a:focus, textarea.data-v-a4ec002a:active {
+ outline: none;
+}
+.chat-aside.data-v-a4ec002a {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.member.data-v-a4ec002a {
+ flex: 1;
+ background: #fff;
+}
+.member .list.data-v-a4ec002a {
+ display: flex;
+ flex-direction: column;
+ background: #f4f5f9;
+ padding-top: 22px;
+}
+.member .list-uniapp.data-v-a4ec002a {
+ background: none;
+}
+.member .list-item.data-v-a4ec002a {
+ padding: 13px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ background: #fff;
+ font-size: 14px;
+ overflow: hidden;
+ cursor: pointer;
+}
+.member .list-item.data-v-a4ec002a:hover {
+ background: #f1f2f6;
+}
+.member .list-item .aside.data-v-a4ec002a {
+ display: flex;
+ align-items: center;
+ width: 100%;
+ overflow: hidden;
+}
+.member .list-item .aside .name.data-v-a4ec002a {
+ margin-left: 8px;
+ font-weight: 400;
+ font-size: 14px;
+ color: #000;
+ flex: 1;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+.avatar.data-v-a4ec002a {
+ width: 36px;
+ height: 36px;
+ border-radius: 4px;
+}
+.edit-h5.data-v-a4ec002a {
+ position: fixed;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ background: rgba(0, 0, 0, 0.5);
+ display: flex;
+ align-items: flex-end;
+ z-index: 1;
+}
+.edit-h5 .main.data-v-a4ec002a {
+ background: #fff;
+ flex: 1;
+ padding: 18px;
+ border-radius: 12px 12px 0 0;
+ overflow: scroll;
+ height: 50%;
+ width: 80vw;
+}
+.edit-h5-header.data-v-a4ec002a {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+.edit-h5-header .close.data-v-a4ec002a {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ font-size: 18px;
+ color: #3370ff;
+ letter-spacing: 0;
+ line-height: 27px;
+}
+.edit-h5-footer.data-v-a4ec002a {
+ display: flex;
+}
+.edit-h5-footer .btn.data-v-a4ec002a {
+ flex: 1;
+ border: none;
+ background: #147aff;
+ border-radius: 5px;
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ font-size: 16px;
+ color: #fff;
+ letter-spacing: 0;
+ line-height: 27px;
+ padding: 8px 0;
+}
+.edit-h5-footer .btn.data-v-a4ec002a:disabled {
+ opacity: 0.3;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.js
new file mode 100644
index 0000000..8c0519a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.js
@@ -0,0 +1,120 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "manage-name",
+ props: {
+ data: {
+ type: Object,
+ default: () => ({})
+ },
+ isAuthor: {
+ type: Boolean,
+ default: false
+ }
+ },
+ emits: ["update"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const groupProfile = common_vendor.ref({});
+ const inputGroupName = common_vendor.ref("");
+ const isEdit = common_vendor.ref(false);
+ const nameInputRef = common_vendor.ref(null);
+ common_vendor.watchEffect(() => {
+ groupProfile.value = props.data;
+ });
+ const emit = __emit;
+ const updateProfile = () => {
+ if (!inputGroupName.value) {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIGroup.群名称不能为空"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ } else {
+ if (inputGroupName.value !== groupProfile.value.name) {
+ emit("update", { key: "name", value: inputGroupName.value });
+ groupProfile.value.name = inputGroupName.value;
+ inputGroupName.value = "";
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIGroup.群名称修改成功"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS
+ });
+ }
+ toggleEditStatus();
+ }
+ };
+ const toggleEditStatus = () => {
+ if (props.isAuthor) {
+ isEdit.value = !isEdit.value;
+ }
+ if (isEdit.value) {
+ inputGroupName.value = groupProfile.value.name;
+ }
+ };
+ common_vendor.watch(
+ () => isEdit.value,
+ (newVal) => {
+ if (newVal) {
+ common_vendor.nextTick$1(() => {
+ var _a;
+ (_a = nameInputRef.value) == null ? void 0 : _a.focus();
+ });
+ }
+ }
+ );
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群名称`)),
+ b: common_vendor.unref(isEdit)
+ }, common_vendor.unref(isEdit) ? common_vendor.e({
+ c: !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ d: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.修改群聊名称`)),
+ e: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.修改群聊名称后,将在群内通知其他成员`)),
+ f: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`关闭`)),
+ g: common_vendor.o$1(toggleEditStatus)
+ } : {}, {
+ h: common_vendor.unref(isEdit)
+ }, common_vendor.unref(isEdit) ? {
+ i: common_vendor.o$1(updateProfile),
+ j: common_vendor.unref(inputGroupName),
+ k: common_vendor.o$1(($event) => common_vendor.isRef(inputGroupName) ? inputGroupName.value = $event.detail.value : null)
+ } : {}, {
+ l: !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ m: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.仅限中文、字母、数字和下划线,2-20个字`))
+ } : {}, {
+ n: !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ o: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`确认`)),
+ p: common_vendor.o$1(updateProfile)
+ } : {}, {
+ q: common_vendor.unref(TUIKit_utils_env.isMobile) ? 1 : ""
+ }) : {}, {
+ r: !common_vendor.unref(isEdit) || !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(isEdit) || !common_vendor.unref(TUIKit_utils_env.isPC) ? common_vendor.e({
+ s: common_vendor.t(common_vendor.unref(groupProfile).name),
+ t: __props.isAuthor
+ }, __props.isAuthor ? {
+ v: common_vendor.p({
+ file: common_vendor.unref(common_assets.editIcon),
+ width: "14px",
+ height: "14px"
+ })
+ } : {}, {
+ w: common_vendor.o$1(toggleEditStatus)
+ }) : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-0a71df72"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.json
new file mode 100644
index 0000000..017f9cf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.wxml
new file mode 100644
index 0000000..9939b07
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.wxml
@@ -0,0 +1 @@
+{{a}} {{m}} {{s}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.wxss
new file mode 100644
index 0000000..db7fc16
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-name.wxss
@@ -0,0 +1,170 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-0a71df72, div.data-v-0a71df72, ul.data-v-0a71df72, ol.data-v-0a71df72, dt.data-v-0a71df72, dd.data-v-0a71df72, li.data-v-0a71df72, dl.data-v-0a71df72, h1.data-v-0a71df72, h2.data-v-0a71df72, h3.data-v-0a71df72, h4.data-v-0a71df72, p.data-v-0a71df72 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-0a71df72, ul.data-v-0a71df72, li.data-v-0a71df72 {
+ list-style: none;
+}
+img.data-v-0a71df72 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-0a71df72 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-0a71df72 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-0a71df72 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-0a71df72:hover {
+ text-decoration: none;
+}
+input.data-v-0a71df72, textarea.data-v-0a71df72 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-0a71df72:focus, input.data-v-0a71df72:active, textarea.data-v-0a71df72:focus, textarea.data-v-0a71df72:active {
+ outline: none;
+}
+.chat-aside.data-v-0a71df72 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.group-name.data-v-0a71df72 {
+ padding: 14px 20px;
+ font-weight: 400;
+ font-size: 14px;
+ color: #000;
+ display: flex;
+ flex-direction: column;
+}
+.group-name .name.data-v-0a71df72 {
+ color: #999;
+ display: flex;
+ align-items: center;
+}
+.group-name .name .icon.data-v-0a71df72 {
+ margin-left: 4px;
+}
+.input-box.data-v-0a71df72 {
+ display: flex;
+}
+.input-box .input.data-v-0a71df72 {
+ flex: 1;
+ border: 1px solid #e8e8e9;
+ border-radius: 4px;
+ padding: 4px 16px;
+ font-weight: 400;
+ font-size: 14px;
+ color: #000;
+ opacity: 0.6;
+}
+.space-top.data-v-0a71df72 {
+ border-top: 10px solid #f4f5f9;
+}
+.edit-h5.data-v-0a71df72 {
+ position: fixed;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ background: rgba(0, 0, 0, 0.5);
+ display: flex;
+ align-items: flex-end;
+ z-index: 1;
+}
+.edit-h5 .edit-h5-main.data-v-0a71df72 {
+ background: #fff;
+ flex: 1;
+ padding: 18px;
+ border-radius: 12px 12px 0 0;
+ width: 80vw;
+}
+.edit-h5 .edit-h5-main .input-box.data-v-0a71df72 {
+ flex-direction: column;
+ padding: 18px 0;
+}
+.edit-h5 .edit-h5-main .input-box .input.data-v-0a71df72 {
+ background: #f8f8f8;
+ padding: 10px 12px;
+}
+.edit-h5 .edit-h5-main .input-box .tip.data-v-0a71df72 {
+ font-size: 12px;
+ color: #888;
+ padding-top: 8px;
+}
+.edit-h5-header.data-v-0a71df72 {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+.edit-h5-header .close.data-v-0a71df72 {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ font-size: 18px;
+ color: #3370ff;
+ letter-spacing: 0;
+ line-height: 27px;
+}
+.edit-h5-footer.data-v-0a71df72 {
+ display: flex;
+}
+.edit-h5-footer .btn.data-v-0a71df72 {
+ flex: 1;
+ border: none;
+ background: #147aff;
+ border-radius: 5px;
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ font-size: 16px;
+ color: #fff;
+ letter-spacing: 0;
+ line-height: 27px;
+ padding: 8px 0;
+}
+.edit-h5-footer .btn.data-v-0a71df72:disabled {
+ opacity: 0.3;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.js
new file mode 100644
index 0000000..1727361
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.js
@@ -0,0 +1,108 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "manage-notification",
+ props: {
+ data: {
+ type: Object,
+ default: () => ({})
+ },
+ isAuthor: {
+ type: Boolean,
+ default: false
+ }
+ },
+ emits: ["update", "close"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const groupProfile = common_vendor.ref({});
+ const input = common_vendor.ref("");
+ const isAuthorNotification = common_vendor.ref(false);
+ const isEdit = common_vendor.ref(false);
+ common_vendor.watchEffect(() => {
+ groupProfile.value = props.data;
+ input.value = groupProfile.value.notification;
+ isAuthorNotification.value = props.isAuthor;
+ });
+ const emits = __emit;
+ const updateProfile = () => {
+ if (input.value.length > 150) {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIGroup.群公告字数超出限制,最大长度为150"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ return;
+ }
+ if (input.value && input.value !== groupProfile.value.notification) {
+ emits("update", { key: "notification", value: input.value });
+ common_vendor.nextTick$1(() => {
+ input.value = "";
+ });
+ }
+ isEdit.value = !isEdit.value;
+ };
+ const close = (tabName) => {
+ emits("close", tabName);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, !common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? common_vendor.e({
+ b: common_vendor.unref(isEdit)
+ }, common_vendor.unref(isEdit) ? {
+ c: common_vendor.o$1(updateProfile),
+ d: common_vendor.unref(input),
+ e: common_vendor.o$1(($event) => common_vendor.isRef(input) ? input.value = $event.detail.value : null)
+ } : common_vendor.e({
+ f: !common_vendor.unref(groupProfile).notification
+ }, !common_vendor.unref(groupProfile).notification ? {
+ g: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.暂无公告`))
+ } : {
+ h: common_vendor.t(common_vendor.unref(groupProfile).notification)
+ }), {
+ i: common_vendor.unref(isAuthorNotification)
+ }, common_vendor.unref(isAuthorNotification) ? common_vendor.e({
+ j: common_vendor.unref(isEdit)
+ }, common_vendor.unref(isEdit) ? {
+ k: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.发布`)),
+ l: common_vendor.o$1(updateProfile)
+ } : {
+ m: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.编辑`)),
+ n: common_vendor.o$1(($event) => isEdit.value = !common_vendor.unref(isEdit))
+ }) : {}) : common_vendor.e({
+ o: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群公告`)),
+ p: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`关闭`)),
+ q: common_vendor.o$1(($event) => close("notification")),
+ r: common_vendor.unref(isEdit)
+ }, common_vendor.unref(isEdit) ? {
+ s: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "uni-height" : ""),
+ t: common_vendor.o$1(updateProfile),
+ v: common_vendor.unref(input),
+ w: common_vendor.o$1(($event) => common_vendor.isRef(input) ? input.value = $event.detail.value : null)
+ } : common_vendor.e({
+ x: !common_vendor.unref(groupProfile).notification
+ }, !common_vendor.unref(groupProfile).notification ? {
+ y: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.暂无公告`))
+ } : {
+ z: common_vendor.t(common_vendor.unref(groupProfile).notification)
+ }), {
+ A: common_vendor.unref(isAuthorNotification)
+ }, common_vendor.unref(isAuthorNotification) ? common_vendor.e({
+ B: common_vendor.unref(isEdit)
+ }, common_vendor.unref(isEdit) ? {
+ C: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.发布`)),
+ D: common_vendor.o$1(updateProfile)
+ } : {
+ E: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.编辑`)),
+ F: common_vendor.o$1(($event) => isEdit.value = !common_vendor.unref(isEdit))
+ }) : {}));
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7e758e1e"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.wxml
new file mode 100644
index 0000000..362f783
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.wxml
@@ -0,0 +1 @@
+{{g}} {{h}} {{k}} {{m}} {{y}} {{z}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.wxss
new file mode 100644
index 0000000..e804c68
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-notification.wxss
@@ -0,0 +1,172 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-7e758e1e, div.data-v-7e758e1e, ul.data-v-7e758e1e, ol.data-v-7e758e1e, dt.data-v-7e758e1e, dd.data-v-7e758e1e, li.data-v-7e758e1e, dl.data-v-7e758e1e, h1.data-v-7e758e1e, h2.data-v-7e758e1e, h3.data-v-7e758e1e, h4.data-v-7e758e1e, p.data-v-7e758e1e {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-7e758e1e, ul.data-v-7e758e1e, li.data-v-7e758e1e {
+ list-style: none;
+}
+img.data-v-7e758e1e {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-7e758e1e {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-7e758e1e {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-7e758e1e {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-7e758e1e:hover {
+ text-decoration: none;
+}
+input.data-v-7e758e1e, textarea.data-v-7e758e1e {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-7e758e1e:focus, input.data-v-7e758e1e:active, textarea.data-v-7e758e1e:focus, textarea.data-v-7e758e1e:active {
+ outline: none;
+}
+.chat-aside.data-v-7e758e1e {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.notification.data-v-7e758e1e {
+ flex: 1;
+ padding: 20px;
+ display: flex;
+ flex-direction: column;
+ word-break: break-all;
+}
+.notification .row.data-v-7e758e1e {
+ flex: 1;
+ font-size: 14px;
+}
+.notification .row .row-p.data-v-7e758e1e {
+ text-align: center;
+ padding-bottom: 20px;
+}
+.notification .textarea.data-v-7e758e1e {
+ margin-bottom: 20px;
+ box-sizing: border-box;
+ padding: 10px;
+ border: 1px solid #e8e8e9;
+ resize: none;
+ font-size: 14px;
+ height: 100%;
+}
+.notification .uni-height.data-v-7e758e1e {
+ height: 20vh;
+}
+.notification .footer.data-v-7e758e1e {
+ display: flex;
+ justify-content: flex-end;
+ padding: 20px 10px;
+}
+.btn.data-v-7e758e1e {
+ background: #3370ff;
+ border: 0 solid #2f80ed;
+ padding: 4px 28px;
+ font-weight: 400;
+ font-size: 12px;
+ color: #fff;
+ line-height: 24px;
+ border-radius: 4px;
+}
+.btn-cancel.data-v-7e758e1e {
+ background: #fff;
+ border: 1px solid #ddd;
+ color: #828282;
+}
+.edit-h5.data-v-7e758e1e {
+ position: fixed;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ background: rgba(0, 0, 0, 0.5);
+ display: flex;
+ align-items: flex-end;
+ z-index: 1;
+}
+.edit-h5 .edit-h5-main.data-v-7e758e1e {
+ background: #fff;
+ flex: 1;
+ padding: 18px;
+ border-radius: 12px 12px 0 0;
+ width: 80vw;
+}
+.edit-h5-header.data-v-7e758e1e {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+.edit-h5-header .close.data-v-7e758e1e {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ font-size: 18px;
+ color: #3370ff;
+ letter-spacing: 0;
+ line-height: 27px;
+}
+.edit-h5-footer.data-v-7e758e1e {
+ display: flex;
+}
+.edit-h5-footer .btn.data-v-7e758e1e {
+ flex: 1;
+ border: none;
+ background: #147aff;
+ border-radius: 5px;
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ font-size: 16px;
+ color: #fff;
+ letter-spacing: 0;
+ line-height: 27px;
+ padding: 8px 0;
+}
+.edit-h5-footer .btn.data-v-7e758e1e:disabled {
+ opacity: 0.3;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.js
new file mode 100644
index 0000000..ed428b4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.js
@@ -0,0 +1,113 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ Avatar();
+}
+const Avatar = () => "../../common/Avatar/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "manage-profile",
+ props: {
+ userInfo: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ emits: [
+ "handleSwitchConversation",
+ "close",
+ "openConversation"
+ ],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const isFriendShip = common_vendor.ref(false);
+ const userInfoManager = common_vendor.ref({});
+ common_vendor.watchEffect(() => {
+ userInfoManager.value = props.userInfo;
+ });
+ const emits = __emit;
+ common_vendor.watch(
+ () => props.userInfo,
+ async (newVal, oldVal) => {
+ if (newVal === oldVal)
+ return;
+ const res = await common_vendor.Zt.getUserProfile({
+ userIDList: [props.userInfo.userID]
+ });
+ userInfoManager.value = res == null ? void 0 : res.data[0];
+ checkFriend();
+ },
+ {
+ deep: true,
+ immediate: true
+ }
+ );
+ const enter = async (ID, type) => {
+ const name = `${type}${ID}`;
+ common_vendor.Xt.getConversationProfile(name).then((res) => {
+ common_vendor.Xt.switchConversation(res.data.conversation.conversationID).then(() => {
+ var _a;
+ common_vendor.Jt.update(common_vendor.o.GRP, "isShowManageComponent", false);
+ if (TUIKit_utils_env.isUniFrameWork) {
+ (_a = common_vendor.i) == null ? void 0 : _a.navigateBack();
+ }
+ });
+ }).catch((err) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIGroup/manage-group/manage-profile.vue:147", "获取会话资料失败", err.code, err.msg);
+ });
+ };
+ const checkFriend = async () => {
+ if (!userInfoManager.value.userID)
+ return;
+ common_vendor.ts.checkFriend({
+ userIDList: [userInfoManager.value.userID],
+ type: common_vendor.qt.TYPES.SNS_CHECK_TYPE_BOTH
+ }).then((res) => {
+ var _a, _b, _c;
+ const relation = (_c = (_b = (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.successUserIDList) == null ? void 0 : _b[0]) == null ? void 0 : _c.relation;
+ isFriendShip.value = relation === common_vendor.qt.TYPES.SNS_TYPE_BOTH_WAY;
+ });
+ };
+ const showEnter = () => {
+ return isFriendShip.value || !common_vendor.Jt.getData(common_vendor.o.APP, "isOfficial");
+ };
+ const close = (tabName) => {
+ emits("close", tabName);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, !common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? common_vendor.e({
+ b: common_vendor.unref(userInfoManager).avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
+ c: common_vendor.t(common_vendor.unref(userInfoManager).nick || common_vendor.unref(userInfoManager).userID),
+ d: common_vendor.t(common_vendor.unref(userInfoManager).userID),
+ e: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIContact.个性签名")),
+ f: common_vendor.t(common_vendor.unref(userInfoManager).selfSignature),
+ g: showEnter()
+ }, showEnter() ? {
+ h: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIContact.发送消息")),
+ i: common_vendor.o$1(($event) => enter(common_vendor.unref(userInfoManager).userID, "C2C"))
+ } : {}) : common_vendor.e({
+ j: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUIGroup.群成员`)),
+ k: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`关闭`)),
+ l: common_vendor.o$1(($event) => close("profile")),
+ m: common_vendor.p({
+ url: common_vendor.unref(userInfoManager).avatar,
+ size: "60px"
+ }),
+ n: common_vendor.t(common_vendor.unref(userInfoManager).nick || common_vendor.unref(userInfoManager).userID),
+ o: common_vendor.t(common_vendor.unref(userInfoManager).userID),
+ p: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIContact.个性签名")),
+ q: common_vendor.t(common_vendor.unref(userInfoManager).selfSignature),
+ r: showEnter()
+ }, showEnter() ? {
+ s: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIContact.发送消息")),
+ t: common_vendor.o$1(($event) => enter(common_vendor.unref(userInfoManager).userID, "C2C"))
+ } : {}));
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c655282f"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.json
new file mode 100644
index 0000000..8542c0f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "avatar": "../../common/Avatar/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.wxml
new file mode 100644
index 0000000..b8159f4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.wxml
@@ -0,0 +1 @@
+{{c}} ID: {{d}} {{e}}: {{f}} {{n}} ID: {{o}} {{p}}: {{q}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.wxss
new file mode 100644
index 0000000..bd8b064
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/manage-group/manage-profile.wxss
@@ -0,0 +1,161 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-c655282f, div.data-v-c655282f, ul.data-v-c655282f, ol.data-v-c655282f, dt.data-v-c655282f, dd.data-v-c655282f, li.data-v-c655282f, dl.data-v-c655282f, h1.data-v-c655282f, h2.data-v-c655282f, h3.data-v-c655282f, h4.data-v-c655282f, p.data-v-c655282f {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-c655282f, ul.data-v-c655282f, li.data-v-c655282f {
+ list-style: none;
+}
+img.data-v-c655282f {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-c655282f {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-c655282f {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-c655282f {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-c655282f:hover {
+ text-decoration: none;
+}
+input.data-v-c655282f, textarea.data-v-c655282f {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-c655282f:focus, input.data-v-c655282f:active, textarea.data-v-c655282f:focus, textarea.data-v-c655282f:active {
+ outline: none;
+}
+.chat-aside.data-v-c655282f {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.memeber-profile.data-v-c655282f {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+.memeber-profile-main.data-v-c655282f {
+ display: flex;
+ flex-direction: row;
+ width: 100%;
+ overflow: hidden;
+}
+.memeber-profile-main .avatar.data-v-c655282f {
+ width: 60px;
+ height: 60px;
+ border-radius: 8px;
+ margin: 20px 10px 20px 20px;
+}
+.memeber-profile-main .list.data-v-c655282f {
+ flex: 1;
+ overflow: hidden;
+ margin: 20px 10px;
+ font-weight: 400;
+}
+.memeber-profile-main .list li.data-v-c655282f {
+ color: #999;
+}
+.memeber-profile-main .list h1.data-v-c655282f,
+.memeber-profile-main .list li.data-v-c655282f {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+.memeber-profile-footer.data-v-c655282f {
+ border-top: 1px solid #f4f5f9;
+ padding: 14px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+.memeber-profile-footer .button.data-v-c655282f {
+ width: 100px;
+ cursor: pointer;
+ background-color: #006eff;
+ color: #fff;
+ padding: 8px 20px;
+ border-radius: 4px;
+ border: none;
+ font-size: 14px;
+ text-align: center;
+ line-height: 20px;
+}
+.edit-h5.data-v-c655282f {
+ position: fixed;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ background: rgba(0, 0, 0, 0.5);
+ display: flex;
+ align-items: flex-end;
+ z-index: 1;
+}
+.edit-h5 .main.data-v-c655282f {
+ background: #fff;
+ flex: 1;
+ padding: 18px;
+ border-radius: 12px 12px 0 0;
+ width: 80vw;
+}
+.edit-h5 .main .edit-h5-header.data-v-c655282f {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+.edit-h5 .main .edit-h5-header .close.data-v-c655282f {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ font-size: 18px;
+ color: #3370ff;
+ letter-spacing: 0;
+ line-height: 27px;
+}
+.edit-h5 .main .edit-h5-profile .memeber-profile-main .avatar.data-v-c655282f {
+ margin: 20px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.js
new file mode 100644
index 0000000..7bad65e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.js
@@ -0,0 +1,114 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_components_common_Toast_index = require("../../common/Toast/index.js");
+const TUIKit_components_TUIGroup_server = require("../server.js");
+const TUIKit_components_common_Toast_type = require("../../common/Toast/type.js");
+if (!Math) {
+ SelectUser();
+}
+const SelectUser = () => "../../common/SelectUser/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ setup(__props) {
+ const TUIContactServer = TUIKit_components_TUIGroup_server.TUIGroupServer.getInstance();
+ const TUIConstants = TUIContactServer.constants;
+ const needSearch = common_vendor.ref(false);
+ const memberList = common_vendor.ref([]);
+ const userList = common_vendor.ref([]);
+ const group = common_vendor.ref({});
+ const selectOptions = common_vendor.ref({
+ groupID: "",
+ isRadio: false,
+ isNeedSearch: false,
+ title: "",
+ filterUserIDList: []
+ });
+ const TUISearchServer = common_vendor.ref(null);
+ const generateSearchServer = (isNeedSearch) => {
+ TUISearchServer.value = common_vendor.R.getService(TUIConstants.TUISearch.SERVICE.NAME);
+ if (TUISearchServer.value) {
+ needSearch.value = isNeedSearch;
+ } else {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUIGroup/select-member/index.vue:48", "请添加 TUISearch 组件");
+ }
+ };
+ common_vendor.watchEffect(() => {
+ const params = TUIContactServer.getOnCallParams(TUIConstants.TUIContact.SERVICE.METHOD.SELECT_FRIEND);
+ selectOptions.value.groupID = params.groupID;
+ selectOptions.value.title = params.title;
+ selectOptions.value.isRadio = params.isRadio;
+ selectOptions.value.isNeedSearch = params.isNeedSearch;
+ selectOptions.value.filterUserIDList = params.filterUserIDList;
+ if (params.isNeedSearch) {
+ generateSearchServer(params.isNeedSearch);
+ }
+ });
+ common_vendor.Jt.watch(common_vendor.o.GRP, {
+ currentGroup: (data) => {
+ group.value = data;
+ },
+ currentGroupMemberList: (List) => {
+ memberList.value = List.map((item) => {
+ if (selectOptions.value.filterUserIDList.indexOf(item.userID) > -1) {
+ item.isDisabled = true;
+ }
+ });
+ userList.value = memberList.value;
+ }
+ });
+ const getMember = async () => {
+ const groupID = group.value.groupID;
+ const options = {
+ groupID,
+ count: 100,
+ offset: memberList.value.length
+ };
+ await common_vendor.es.getGroupMemberList(options);
+ };
+ const handleSelectedResult = (memberList2) => {
+ common_vendor.Jt.update(common_vendor.o.GRP, "isShowSelectComponent", false);
+ const callback = TUIContactServer.getOnCallCallback(TUIConstants.TUIGroup.SERVICE.METHOD.SELECT_GROUP_MEMBER);
+ callback && callback(memberList2);
+ };
+ const searchFail = () => {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUIGroup.该用户不存在"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR
+ });
+ userList.value = [...memberList.value];
+ };
+ const handleSearch = async (val) => {
+ if (!val) {
+ return userList.value = memberList.value;
+ }
+ try {
+ const imResponse = await TUISearchServer.value.searchGroupMember(val);
+ if (!imResponse.data[0]) {
+ return searchFail();
+ }
+ userList.value = imResponse.data;
+ const searchAllResult = memberList.value.filter((item) => item.userID === imResponse.data[0].userID);
+ memberList.value = searchAllResult.length ? memberList.value : [...memberList.value, ...userList.value];
+ } catch (error) {
+ return searchFail();
+ }
+ };
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.o$1(getMember),
+ b: common_vendor.o$1(handleSearch),
+ c: common_vendor.o$1(handleSelectedResult),
+ d: common_vendor.p({
+ isRadio: common_vendor.unref(selectOptions).isRadio,
+ isNeedSearch: common_vendor.unref(selectOptions).isNeedSearch,
+ title: common_vendor.unref(selectOptions).title,
+ userList: common_vendor.unref(userList),
+ total: common_vendor.unref(group).memberCount
+ })
+ };
+ };
+ }
+});
+wx.createComponent(_sfc_main);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/select-member/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.json
new file mode 100644
index 0000000..d80635f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "select-user": "../../common/SelectUser/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.wxml
new file mode 100644
index 0000000..48a8a24
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/select-member/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/server.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/server.js
new file mode 100644
index 0000000..97976bf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUIGroup/server.js
@@ -0,0 +1,82 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const common_assets = require("../../../common/assets.js");
+const TUIKit_utils_env = require("../../utils/env.js");
+class TUIGroupServer {
+ constructor() {
+ common_vendor.R.registerService(common_vendor.E.TUIGroup.SERVICE.NAME, this);
+ common_vendor.R.registerExtension(common_vendor.E.TUIChat.EXTENSION.CHAT_HEADER.EXT_ID, this);
+ this.onCallParamsMap = /* @__PURE__ */ new Map();
+ this.onCallCallbackMap = /* @__PURE__ */ new Map();
+ this.constants = common_vendor.E;
+ }
+ static getInstance() {
+ if (!TUIGroupServer.instance) {
+ TUIGroupServer.instance = new TUIGroupServer();
+ }
+ return TUIGroupServer.instance;
+ }
+ getOnCallParams(method) {
+ return this.onCallParamsMap.get(method);
+ }
+ getOnCallCallback(method) {
+ return this.onCallCallbackMap.get(method);
+ }
+ async onCall(method, params, callback) {
+ var _a, _b, _c;
+ this.onCallParamsMap.set(method, params);
+ this.onCallCallbackMap.set(method, callback);
+ switch (method) {
+ case common_vendor.E.TUIGroup.SERVICE.METHOD.CREATE_GROUP:
+ common_vendor.Jt.update(common_vendor.o.GRP, "isShowCreateComponent", true);
+ TUIKit_utils_env.isUniFrameWork && ((_a = common_vendor.i) == null ? void 0 : _a.reLaunch({
+ url: "/TUIKit/components/TUIGroup/index"
+ }));
+ break;
+ case common_vendor.E.TUIGroup.SERVICE.METHOD.OPEN_GROUP_MANAGEMENT:
+ common_vendor.es.switchGroup(params.groupID);
+ common_vendor.Jt.update(common_vendor.o.GRP, "isShowManageComponent", true);
+ TUIKit_utils_env.isUniFrameWork && ((_b = common_vendor.i) == null ? void 0 : _b.navigateTo({
+ url: "/TUIKit/components/TUIGroup/index"
+ }));
+ break;
+ case common_vendor.E.TUIGroup.SERVICE.METHOD.SELECT_GROUP_MEMBER:
+ common_vendor.es.switchGroup(params.groupID);
+ common_vendor.Jt.update(common_vendor.o.GRP, "isShowSelectComponent", true);
+ TUIKit_utils_env.isUniFrameWork && ((_c = common_vendor.i) == null ? void 0 : _c.navigateTo({
+ url: "/TUIKit/components/TUIGroup/index"
+ }));
+ break;
+ }
+ }
+ onGetExtension(extensionID) {
+ const list = [];
+ switch (extensionID) {
+ case common_vendor.E.TUIChat.EXTENSION.CHAT_HEADER.EXT_ID:
+ list.push({
+ weight: 100,
+ icon: common_assets.settingSVG,
+ text: "更多",
+ data: {},
+ listener: {
+ onClicked: this.groupManage.bind(this)
+ }
+ });
+ break;
+ }
+ return list;
+ }
+ groupManage(params) {
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUIGroup.SERVICE.NAME,
+ method: common_vendor.E.TUIGroup.SERVICE.METHOD.OPEN_GROUP_MANAGEMENT,
+ params,
+ callback: () => {
+ var _a;
+ TUIKit_utils_env.isUniFrameWork && ((_a = common_vendor.i) == null ? void 0 : _a.navigateBack());
+ }
+ });
+ }
+}
+exports.TUIGroupServer = TUIGroupServer;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUIGroup/server.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.js
new file mode 100644
index 0000000..4344a41
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.js
@@ -0,0 +1,4 @@
+"use strict";
+const TUIKit_components_index = require("../index.js");
+wx.createPage(TUIKit_components_index.MiniProgramPage$4);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.json
new file mode 100644
index 0000000..779b5c1
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "聊天记录",
+ "usingComponents": {
+ "search-input": "./search-input/index",
+ "search-container": "./search-container/index",
+ "search-result": "./search-result/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.wxml
new file mode 100644
index 0000000..b001523
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.wxss
new file mode 100644
index 0000000..138155f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index.wxss
@@ -0,0 +1,129 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-fdde69b1, div.data-v-fdde69b1, ul.data-v-fdde69b1, ol.data-v-fdde69b1, dt.data-v-fdde69b1, dd.data-v-fdde69b1, li.data-v-fdde69b1, dl.data-v-fdde69b1, h1.data-v-fdde69b1, h2.data-v-fdde69b1, h3.data-v-fdde69b1, h4.data-v-fdde69b1, p.data-v-fdde69b1 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-fdde69b1, ul.data-v-fdde69b1, li.data-v-fdde69b1 {
+ list-style: none;
+}
+img.data-v-fdde69b1 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-fdde69b1 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-fdde69b1 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-fdde69b1 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-fdde69b1:hover {
+ text-decoration: none;
+}
+input.data-v-fdde69b1, textarea.data-v-fdde69b1 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-fdde69b1:focus, input.data-v-fdde69b1:active, textarea.data-v-fdde69b1:focus, textarea.data-v-fdde69b1:active {
+ outline: none;
+}
+.chat-aside.data-v-fdde69b1 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-search-main-global.data-v-fdde69b1 {
+ width: 100%;
+ height: -webkit-fit-content;
+ height: fit-content;
+}
+.tui-search-main-conversation.data-v-fdde69b1 {
+ width: 100%;
+ height: 100%;
+ background: #fff;
+ box-shadow: 0 1px 10px 0 rgba(2, 16, 43, 0.15);
+}
+.tui-search .tui-search-global-header.data-v-fdde69b1 {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+}
+.tui-search .tui-search-conversation.data-v-fdde69b1 {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+.tui-search-h5-full-screen.data-v-fdde69b1 {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ z-index: 1000;
+ background: #fff;
+}
+.tui-search-h5-global.data-v-fdde69b1, .tui-search-h5-conversation.data-v-fdde69b1 {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+}
+.tui-search-h5-conversation.data-v-fdde69b1 {
+ overflow: hidden;
+}
+.tui-search-h5.tui-search-main-conversation.data-v-fdde69b1 {
+ box-shadow: none;
+}
+.tui-search-h5 .search-input.data-v-fdde69b1,
+.tui-search-h5 .search-container.data-v-fdde69b1,
+.tui-search-h5 .search-result.data-v-fdde69b1 {
+ min-width: 0;
+ box-sizing: border-box;
+ display: flex;
+ flex: 1;
+ overflow: hidden;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index2.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index2.js
new file mode 100644
index 0000000..e0244ba
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/index2.js
@@ -0,0 +1,4 @@
+"use strict";
+const TUIKit_components_index = require("../index.js");
+wx.createPage(TUIKit_components_index.MiniProgramPage$4);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/index2.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.js
new file mode 100644
index 0000000..fc36510
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.js
@@ -0,0 +1,206 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_components_TUISearch_searchTypeList = require("../search-type-list.js");
+const TUIKit_components_TUISearch_searchTimeList = require("../search-time-list.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ (Icon + DatePicker)();
+}
+const Icon = () => "../../common/Icon.js";
+const DatePicker = () => "../../common/DatePicker/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ popupPosition: {
+ type: String,
+ // "bottom" / "aside"
+ default: "bottom"
+ },
+ searchType: {
+ type: String,
+ default: "global",
+ // "global" / "conversation"
+ validator(value) {
+ return ["global", "conversation"].includes(value);
+ }
+ }
+ },
+ emits: ["searchConfigChange", "closeInConversationSearch"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const emits = __emit;
+ const searchTypeList = common_vendor.computed(
+ () => (props == null ? void 0 : props.searchType) === "conversation" ? TUIKit_components_TUISearch_searchTypeList.conversationSearchTypeList : TUIKit_components_TUISearch_searchTypeList.globalSearchTypeList
+ );
+ const currentSearchMessageType = common_vendor.ref(TUIKit_components_TUISearch_searchTypeList.searchMessageTypeDefault[props == null ? void 0 : props.searchType]);
+ const currentSearchMessageTime = common_vendor.ref(TUIKit_components_TUISearch_searchTimeList.searchMessageTimeDefault);
+ const isTimeTabsShow = common_vendor.computed(() => {
+ return currentSearchMessageType.value.key !== "contact" && currentSearchMessageType.value.key !== "group";
+ });
+ const datePickerRangeDisplayType = common_vendor.computed(
+ () => TUIKit_utils_env.isPC && props.searchType === "global" && !TUIKit_utils_env.isUniFrameWork ? "two" : "one"
+ );
+ const isDatePickerShow = common_vendor.ref(false);
+ function onCurrentSearchMessageTypeChange(typeObject) {
+ if ((typeObject == null ? void 0 : typeObject.searchType) === (props == null ? void 0 : props.searchType)) {
+ currentSearchMessageType.value = (typeObject == null ? void 0 : typeObject.value) || TUIKit_components_TUISearch_searchTypeList.searchMessageTypeDefault[props == null ? void 0 : props.searchType];
+ }
+ }
+ function onCurrentSearchMessageTimeChange(timeObject) {
+ if ((timeObject == null ? void 0 : timeObject.searchType) === (props == null ? void 0 : props.searchType)) {
+ currentSearchMessageTime.value = (timeObject == null ? void 0 : timeObject.value) || TUIKit_components_TUISearch_searchTimeList.searchMessageTimeDefault;
+ }
+ }
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.SEARCH, {
+ currentSearchMessageType: onCurrentSearchMessageTypeChange,
+ currentSearchMessageTime: onCurrentSearchMessageTimeChange
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.SEARCH, {
+ currentSearchMessageType: onCurrentSearchMessageTypeChange,
+ currentSearchMessageTime: onCurrentSearchMessageTimeChange
+ });
+ });
+ const selectSearchType = (item) => {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchMessageType", {
+ value: item,
+ searchType: props.searchType
+ });
+ };
+ const selectSearchTime = (item) => {
+ if (isDatePickerShow.value && item.key === "all") {
+ isDatePickerShow.value = false;
+ } else {
+ isDatePickerShow.value = false;
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchMessageTime", {
+ value: item,
+ searchType: props.searchType
+ });
+ }
+ };
+ const handleSelectAllTimeClicked = () => {
+ var _a;
+ if (((_a = currentSearchMessageTime.value) == null ? void 0 : _a.key) !== "all") {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchMessageTime", {
+ value: TUIKit_components_TUISearch_searchTimeList.searchMessageTimeDefault,
+ searchType: props.searchType
+ });
+ } else {
+ isDatePickerShow.value = true;
+ }
+ };
+ const pickTimePeriod = (time) => {
+ var _a, _b, _c;
+ if (((_a = currentSearchMessageTime.value) == null ? void 0 : _a.key) === "all") {
+ const { startDate, endDate } = time;
+ const timePosition = Number((((_b = endDate == null ? void 0 : endDate.toDate()) == null ? void 0 : _b.getTime()) / 1e3).toFixed(0));
+ const timePeriod = timePosition - Number((((_c = startDate == null ? void 0 : startDate.toDate()) == null ? void 0 : _c.getTime()) / 1e3).toFixed(0));
+ const newSearchMessageTime = {
+ key: currentSearchMessageTime.value.key,
+ label: currentSearchMessageTime.value.label,
+ value: {
+ timePosition,
+ timePeriod
+ }
+ };
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchMessageTime", {
+ value: newSearchMessageTime,
+ searchType: props.searchType
+ });
+ }
+ };
+ const clearTimePicker = () => {
+ var _a;
+ isDatePickerShow.value = false;
+ if (((_a = currentSearchMessageTime.value) == null ? void 0 : _a.key) === "all") {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchMessageTime", {
+ value: TUIKit_components_TUISearch_searchTimeList.searchMessageTimeDefault,
+ searchType: props.searchType
+ });
+ }
+ };
+ const closeSearchContainer = () => {
+ emits("closeInConversationSearch");
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.searchType === "conversation" && !common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, props.searchType === "conversation" && !common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? {
+ b: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.搜索会话内容")),
+ c: common_vendor.p({
+ file: common_vendor.unref(common_assets.closeIcon$1),
+ width: "14px",
+ height: "14px"
+ }),
+ d: common_vendor.o$1(closeSearchContainer)
+ } : {}, {
+ e: common_vendor.f(common_vendor.unref(searchTypeList), (tabItem, tabKey, i0) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUISearch.${tabItem.label}`)),
+ b: tabKey,
+ c: common_vendor.n(common_vendor.unref(currentSearchMessageType).key === tabItem.key && "tui-search-tabs-item-selected"),
+ d: common_vendor.o$1(($event) => selectSearchType(tabItem), tabKey)
+ };
+ }),
+ f: common_vendor.unref(isTimeTabsShow)
+ }, common_vendor.unref(isTimeTabsShow) ? {
+ g: common_vendor.f(common_vendor.unref(TUIKit_components_TUISearch_searchTimeList.searchMessageTimeList), (tabItem, tabKey, i0) => {
+ return common_vendor.e({
+ a: tabItem.key === "all"
+ }, tabItem.key === "all" ? common_vendor.e({
+ b: !common_vendor.unref(isDatePickerShow)
+ }, !common_vendor.unref(isDatePickerShow) ? {
+ c: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUISearch.选择时间`) + ": " + common_vendor.unref(common_vendor.Wt).t(`TUISearch.全部`)),
+ d: "0764f731-1-" + i0,
+ e: common_vendor.p({
+ file: common_vendor.unref(common_assets.downSVG),
+ width: "14px",
+ height: "14px"
+ }),
+ f: common_vendor.o$1(handleSelectAllTimeClicked, tabKey)
+ } : {}, {
+ g: common_vendor.unref(isDatePickerShow)
+ }, common_vendor.unref(isDatePickerShow) ? {
+ h: common_vendor.o$1(pickTimePeriod, tabKey),
+ i: "0764f731-2-" + i0,
+ j: common_vendor.p({
+ type: "range",
+ rangeTableType: common_vendor.unref(datePickerRangeDisplayType)
+ })
+ } : {}, {
+ k: common_vendor.o$1(() => {
+ }, tabKey),
+ l: common_vendor.unref(isDatePickerShow)
+ }, common_vendor.unref(isDatePickerShow) ? {
+ m: "0764f731-3-" + i0,
+ n: common_vendor.p({
+ file: common_vendor.unref(common_assets.closeIcon),
+ width: "14px",
+ height: "14px"
+ }),
+ o: common_vendor.o$1(clearTimePicker, tabKey)
+ } : {}) : {
+ p: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUISearch.${tabItem.label}`))
+ }, {
+ q: tabKey,
+ r: common_vendor.n(common_vendor.unref(currentSearchMessageTime).key === tabItem.key && "tui-search-time-item-selected"),
+ s: common_vendor.o$1(($event) => selectSearchTime(tabItem), tabKey)
+ });
+ })
+ } : {}, {
+ h: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isPC) && `tui-search-container-${props.popupPosition}`),
+ i: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-search-container-h5-main"),
+ j: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-search-container-h5"),
+ k: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isPC) && `container-${props.popupPosition}`),
+ l: common_vendor.n(`container-${props.searchType}`)
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-0764f731"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-container/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.json
new file mode 100644
index 0000000..29abc7f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../common/Icon",
+ "date-picker": "../../common/DatePicker/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.wxml
new file mode 100644
index 0000000..2a4de92
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.wxml
@@ -0,0 +1 @@
+{{tabItem.a}} {{tabItem.c}} {{tabItem.p}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.wxss
new file mode 100644
index 0000000..2d25dce
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-container/index.wxss
@@ -0,0 +1,204 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-0764f731, div.data-v-0764f731, ul.data-v-0764f731, ol.data-v-0764f731, dt.data-v-0764f731, dd.data-v-0764f731, li.data-v-0764f731, dl.data-v-0764f731, h1.data-v-0764f731, h2.data-v-0764f731, h3.data-v-0764f731, h4.data-v-0764f731, p.data-v-0764f731 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-0764f731, ul.data-v-0764f731, li.data-v-0764f731 {
+ list-style: none;
+}
+img.data-v-0764f731 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-0764f731 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-0764f731 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-0764f731 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-0764f731:hover {
+ text-decoration: none;
+}
+input.data-v-0764f731, textarea.data-v-0764f731 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-0764f731:focus, input.data-v-0764f731:active, textarea.data-v-0764f731:focus, textarea.data-v-0764f731:active {
+ outline: none;
+}
+.chat-aside.data-v-0764f731 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.container-bottom.data-v-0764f731 {
+ margin: 0 10px;
+ position: relative;
+}
+.container-conversation.data-v-0764f731 {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+.tui-search-container-bottom.data-v-0764f731 {
+ position: absolute;
+ min-width: 400px;
+ width: -webkit-fit-content;
+ width: fit-content;
+ height: 453px;
+ border-radius: 4px;
+ background-color: #fff;
+ z-index: 1000;
+ display: flex;
+ flex-direction: column;
+ box-shadow: rgba(0, 0, 0, 0.16) 0 3px 6px, rgba(0, 0, 0, 0.23) 0 3px 6px;
+ left: 0;
+ top: -5px;
+}
+.tui-search-container-aside.data-v-0764f731 {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+.tui-search-container .tui-search-header.data-v-0764f731 {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+ padding: 16px 20px 10px;
+}
+.tui-search-container .tui-search-header-title.data-v-0764f731 {
+ font-size: 14px;
+ font-weight: 500;
+ line-height: 19.6px;
+ font-family: "PingFang SC", sans-serif;
+}
+.tui-search-container .tui-search-header-close.data-v-0764f731 {
+ cursor: pointer;
+}
+.tui-search-container .tui-search-tabs.data-v-0764f731 {
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ box-sizing: border-box;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+}
+.tui-search-container .tui-search-tabs-item.data-v-0764f731 {
+ padding: 10px 0;
+ margin: 0 10px;
+ font-size: 14px;
+ color: #666;
+ -webkit-user-select: none;
+ user-select: none;
+ cursor: pointer;
+}
+.tui-search-container .tui-search-tabs-item-selected.data-v-0764f731 {
+ color: #007aff;
+ border-bottom: 2px solid #007aff;
+}
+.tui-search-container .tui-search-time.data-v-0764f731 {
+ width: 100%;
+ height: 43px;
+ display: flex;
+ flex-direction: row;
+ box-sizing: border-box;
+}
+.tui-search-container .tui-search-time-item.data-v-0764f731 {
+ height: calc(100% - 20px);
+ padding: 5px;
+ margin: 5px;
+ border-radius: 5px;
+ font-size: 12px;
+ color: #666;
+ -webkit-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.tui-search-container .tui-search-time-item-picker.data-v-0764f731 {
+ display: flex;
+}
+.tui-search-container .tui-search-time-item-close.data-v-0764f731, .tui-search-container .tui-search-time-item-all.data-v-0764f731 {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.tui-search-container .tui-search-time-item-selected.data-v-0764f731 {
+ background-color: rgba(0, 122, 255, 0.2);
+}
+.tui-search-container-h5.data-v-0764f731 {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ margin: 0;
+ padding: 0;
+ display: flex;
+ flex-direction: column;
+}
+.tui-search-container-h5 .tui-search-container-h5-main.data-v-0764f731 {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+.tui-search-container-h5 .tui-search-container-h5-main .tui-search-tabs .tui-search-tabs-item.data-v-0764f731 {
+ cursor: none;
+}
+.tui-search-container-h5 .tui-search-container-h5-main .tui-search-time.data-v-0764f731 {
+ background-color: #f4f4f4;
+}
+.tui-search-container-h5 .tui-search-container-h5-main .tui-search-time .tui-search-time-item.data-v-0764f731 {
+ cursor: none;
+ background-color: #fff;
+}
+.tui-search-container-h5 .tui-search-container-h5-main .tui-search-time .tui-search-time-item-selected.data-v-0764f731 {
+ background-color: rgba(0, 122, 255, 0.2);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.js
new file mode 100644
index 0000000..2ebecc7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.js
@@ -0,0 +1,122 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ placeholder: {
+ type: String,
+ default: () => common_vendor.Wt.t("TUISearch.搜索")
+ },
+ searchType: {
+ type: String,
+ default: "global",
+ // "global" / "conversation"
+ validator(value) {
+ return ["global", "conversation"].includes(value);
+ }
+ }
+ },
+ setup(__props) {
+ const props = __props;
+ const searchValueModel = common_vendor.ref("");
+ const currentSearchInputValue = common_vendor.ref("");
+ const searchingStatus = common_vendor.ref(false);
+ function onCurrentSearchInputValueChange(obj) {
+ if ((obj == null ? void 0 : obj.searchType) === (props == null ? void 0 : props.searchType)) {
+ currentSearchInputValue.value = obj == null ? void 0 : obj.value;
+ searchValueModel.value = obj == null ? void 0 : obj.value;
+ }
+ }
+ function onCurrentSearchingStatusChange(obj) {
+ if ((obj == null ? void 0 : obj.searchType) === (props == null ? void 0 : props.searchType)) {
+ searchingStatus.value = obj == null ? void 0 : obj.isSearching;
+ }
+ }
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.SEARCH, {
+ currentSearchInputValue: onCurrentSearchInputValueChange,
+ currentSearchingStatus: onCurrentSearchingStatusChange
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.SEARCH, {
+ currentSearchInputValue: onCurrentSearchInputValueChange,
+ currentSearchingStatus: onCurrentSearchingStatusChange
+ });
+ });
+ const search = () => {
+ if (searchValueModel.value === currentSearchInputValue.value) {
+ return;
+ }
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchInputValue", {
+ value: searchValueModel.value,
+ searchType: props.searchType
+ });
+ };
+ const endSearching = () => {
+ searchingStatus.value = false;
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchingStatus", {
+ isSearching: false,
+ searchType: props.searchType
+ });
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchInputValue", {
+ value: "",
+ searchType: props.searchType
+ });
+ };
+ const onSearchInputClick = () => {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchingStatus", {
+ isSearching: true,
+ searchType: props.searchType
+ });
+ };
+ const onBlur = () => {
+ var _a, _b;
+ (_b = (_a = common_vendor.i) == null ? void 0 : _a.hideKeyboard) == null ? void 0 : _b.call(_a);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.p({
+ file: common_vendor.unref(common_assets.searchIcon),
+ width: "14px",
+ height: "14px"
+ }),
+ b: props.placeholder,
+ c: common_vendor.o$1(onBlur),
+ d: common_vendor.o$1(search),
+ e: common_vendor.o$1(search),
+ f: common_vendor.o$1(onSearchInputClick),
+ g: common_vendor.unref(searchValueModel),
+ h: common_vendor.o$1(($event) => common_vendor.isRef(searchValueModel) ? searchValueModel.value = $event.detail.value : null),
+ i: common_vendor.unref(searchingStatus)
+ }, common_vendor.unref(searchingStatus) ? {
+ j: common_vendor.p({
+ file: common_vendor.unref(common_assets.closeIcon),
+ width: "14px",
+ height: "14px"
+ }),
+ k: common_vendor.o$1(endSearching)
+ } : {}, {
+ l: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-search-input-h5"),
+ m: !common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(searchingStatus) && props.searchType === "global"
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(searchingStatus) && props.searchType === "global" ? {
+ n: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.取消")),
+ o: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-search-input-h5-cancel"),
+ p: common_vendor.o$1(endSearching)
+ } : {}, {
+ q: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-search-input-container-h5"),
+ r: common_vendor.n(props.searchType === "global" ? "tui-search-input-container-global" : "tui-search-input-container-conversation")
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-9c7789a6"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-input/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.json
new file mode 100644
index 0000000..017f9cf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.wxml
new file mode 100644
index 0000000..dc8cc9b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.wxml
@@ -0,0 +1 @@
+{{n}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.wxss
new file mode 100644
index 0000000..bd523a5
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-input/index.wxss
@@ -0,0 +1,83 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-search-input-container.data-v-9c7789a6 {
+ display: flex;
+ flex-direction: row;
+ box-sizing: border-box;
+}
+.tui-search-input-container-global.data-v-9c7789a6 {
+ flex: 1;
+}
+.tui-search-input-container .tui-search-input.data-v-9c7789a6 {
+ flex: 1;
+ display: flex;
+ flex-direction: row;
+ width: calc(100% - 20px);
+ margin: 10px;
+ background: #ededed;
+ justify-content: center;
+ align-items: center;
+ height: 28px;
+ border-radius: 4px;
+}
+.tui-search-input-container .tui-search-input-main.data-v-9c7789a6 {
+ flex: 1;
+ background: transparent;
+ border: none;
+ caret-color: #007aff;
+ font-size: 14px;
+}
+.tui-search-input-container .tui-search-input-main.data-v-9c7789a6:focus {
+ border: none;
+ outline: none;
+}
+.tui-search-input-container .tui-search-input-main.data-v-9c7789a6::-webkit-input-placeholder {
+ color: #666;
+ font-size: 12px;
+}
+.tui-search-input-container .tui-search-input-main.data-v-9c7789a6::placeholder {
+ color: #666;
+ font-size: 12px;
+}
+.tui-search-input-container .tui-search-input-left.data-v-9c7789a6, .tui-search-input-container .tui-search-input-right.data-v-9c7789a6 {
+ display: flex;
+ width: 14px;
+ height: 14px;
+ padding: 0 7px;
+}
+.tui-search-input-container-h5 .tui-search-input-h5.data-v-9c7789a6 {
+ height: 34px;
+}
+.tui-search-input-container-h5 .tui-search-input-cancel.data-v-9c7789a6 {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ color: #007aff;
+ font-size: 16px;
+ padding: 7px 10px 7px 3px;
+ font-family: "PingFang SC", sans-serif;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.js
new file mode 100644
index 0000000..0b83cdd
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.js
@@ -0,0 +1,446 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_components_TUISearch_searchTypeList = require("../search-type-list.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_components_TUISearch_utils = require("../utils.js");
+const TUIKit_utils_enableSampleTaskStatus = require("../../../utils/enableSampleTaskStatus.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ (SearchResultLoading + SearchResultDefault + SearchResultItem + Icon)();
+}
+const SearchResultItem = () => "./search-result-item/index.js";
+const SearchResultDefault = () => "./search-result-default/index.js";
+const SearchResultLoading = () => "./search-result-loading/index.js";
+const Icon = () => "../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ searchType: {
+ type: String,
+ default: "global",
+ // "global" / "conversation"
+ validator(value) {
+ return ["global", "conversation"].includes(value);
+ }
+ }
+ },
+ setup(__props) {
+ var _a, _b;
+ const props = __props;
+ const keywordList = common_vendor.ref([]);
+ const messageTypeList = common_vendor.ref(
+ (_a = TUIKit_components_TUISearch_searchTypeList.searchMessageTypeDefault[props.searchType]) == null ? void 0 : _a.value
+ );
+ const timePosition = common_vendor.ref(0);
+ const timePeriod = common_vendor.ref(0);
+ const keywordListMatchType = common_vendor.ref("and");
+ const currentSearchTabKey = common_vendor.ref(
+ (_b = TUIKit_components_TUISearch_searchTypeList.searchMessageTypeDefault[props.searchType]) == null ? void 0 : _b.key
+ );
+ const searchResult = common_vendor.ref({});
+ const searchAllMessageList = common_vendor.ref([]);
+ const searchAllMessageTotalCount = common_vendor.ref(0);
+ const currentSearchConversationID = common_vendor.ref("");
+ const searchConversationResult = common_vendor.ref();
+ const searchConversationMessageList = common_vendor.ref([]);
+ const searchConversationMessageTotalCount = common_vendor.ref();
+ const searchConversationResultGroupByDate = common_vendor.ref([]);
+ const isResultDetailShow = common_vendor.ref(false);
+ const isLoading = common_vendor.ref(false);
+ const isSearchDetailLoading = common_vendor.ref(false);
+ const isSearchDefaultShow = common_vendor.computed(() => {
+ var _a2, _b2, _c;
+ if (isLoading.value) {
+ return false;
+ }
+ if (props.searchType === "global") {
+ if (!((_a2 = keywordList == null ? void 0 : keywordList.value) == null ? void 0 : _a2.length) || ((_b2 = Object == null ? void 0 : Object.keys(searchResult.value)) == null ? void 0 : _b2.length)) {
+ return false;
+ } else {
+ return true;
+ }
+ } else {
+ if ((_c = searchConversationMessageList == null ? void 0 : searchConversationMessageList.value) == null ? void 0 : _c.length) {
+ return false;
+ } else {
+ return true;
+ }
+ }
+ });
+ function onCurrentConversationIDUpdate(id) {
+ props.searchType === "conversation" && (currentSearchConversationID.value = id);
+ }
+ function onCurrentSearchInputValueUpdate(obj) {
+ if ((obj == null ? void 0 : obj.searchType) === (props == null ? void 0 : props.searchType)) {
+ keywordList.value = (obj == null ? void 0 : obj.value) ? obj.value.trim().split(/\s+/) : [];
+ }
+ }
+ function onCurrentSearchMessageTypeUpdate(typeObject) {
+ var _a2, _b2, _c, _d;
+ if ((typeObject == null ? void 0 : typeObject.searchType) === (props == null ? void 0 : props.searchType)) {
+ currentSearchTabKey.value = ((_a2 = typeObject == null ? void 0 : typeObject.value) == null ? void 0 : _a2.key) || ((_b2 = TUIKit_components_TUISearch_searchTypeList.searchMessageTypeDefault[props.searchType]) == null ? void 0 : _b2.key);
+ messageTypeList.value = ((_c = typeObject == null ? void 0 : typeObject.value) == null ? void 0 : _c.value) || ((_d = TUIKit_components_TUISearch_searchTypeList.searchMessageTypeDefault[props.searchType]) == null ? void 0 : _d.value);
+ }
+ }
+ function onCurrentSearchMessageTimeUpdate(timeObject) {
+ var _a2, _b2, _c, _d;
+ if ((timeObject == null ? void 0 : timeObject.searchType) === (props == null ? void 0 : props.searchType)) {
+ timePosition.value = (_b2 = (_a2 = timeObject == null ? void 0 : timeObject.value) == null ? void 0 : _a2.value) == null ? void 0 : _b2.timePosition;
+ timePeriod.value = (_d = (_c = timeObject == null ? void 0 : timeObject.value) == null ? void 0 : _c.value) == null ? void 0 : _d.timePeriod;
+ }
+ }
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversationID: onCurrentConversationIDUpdate
+ });
+ common_vendor.Jt.watch(common_vendor.o.SEARCH, {
+ currentSearchInputValue: onCurrentSearchInputValueUpdate,
+ currentSearchMessageType: onCurrentSearchMessageTypeUpdate,
+ currentSearchMessageTime: onCurrentSearchMessageTimeUpdate
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CONV, {
+ currentConversationID: onCurrentConversationIDUpdate
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.SEARCH, {
+ currentSearchInputValue: onCurrentSearchInputValueUpdate,
+ currentSearchMessageType: onCurrentSearchMessageTypeUpdate,
+ currentSearchMessageTime: onCurrentSearchMessageTimeUpdate
+ });
+ });
+ const setMessageSearchResultList = (option) => {
+ var _a2;
+ TUIKit_components_TUISearch_utils.searchCloudMessages(
+ {
+ keywordList: ((_a2 = keywordList == null ? void 0 : keywordList.value) == null ? void 0 : _a2.length) ? keywordList.value : void 0,
+ messageTypeList: typeof messageTypeList.value === "string" ? [messageTypeList.value] : messageTypeList.value,
+ timePosition: timePosition.value,
+ timePeriod: timePeriod.value,
+ conversationID: (option == null ? void 0 : option.conversationID) || void 0,
+ cursor: (option == null ? void 0 : option.cursor) || void 0,
+ keywordListMatchType: keywordListMatchType.value
+ }
+ ).then((res) => {
+ var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j;
+ TUIKit_utils_enableSampleTaskStatus.enableSampleTaskStatus("searchCloudMessage");
+ if (!(option == null ? void 0 : option.conversationID)) {
+ (option == null ? void 0 : option.cursor) ? searchAllMessageList.value = [
+ ...searchAllMessageList.value,
+ ...res.data.searchResultList
+ ] : searchAllMessageList.value = (_a3 = res == null ? void 0 : res.data) == null ? void 0 : _a3.searchResultList;
+ searchAllMessageTotalCount.value = (_b2 = res == null ? void 0 : res.data) == null ? void 0 : _b2.totalCount;
+ const key = currentSearchTabKey.value === "all" ? "allMessage" : currentSearchTabKey.value;
+ if (((_c = searchAllMessageList == null ? void 0 : searchAllMessageList.value) == null ? void 0 : _c.length) && currentSearchTabKey.value !== "contact" && currentSearchTabKey.value !== "group") {
+ searchResult.value = Object.assign({}, searchResult.value, {
+ [key]: {
+ key,
+ label: TUIKit_components_TUISearch_searchTypeList.searchMessageTypeList[key].label,
+ list: currentSearchTabKey.value === "all" ? (_d = searchAllMessageList == null ? void 0 : searchAllMessageList.value) == null ? void 0 : _d.slice(0, 3) : searchAllMessageList == null ? void 0 : searchAllMessageList.value,
+ cursor: ((_e = res == null ? void 0 : res.data) == null ? void 0 : _e.cursor) || null
+ }
+ });
+ } else {
+ searchResult == null ? true : delete searchResult.value[key];
+ }
+ } else {
+ searchConversationResult.value = res == null ? void 0 : res.data;
+ (option == null ? void 0 : option.cursor) ? searchConversationMessageList.value = [
+ ...searchConversationMessageList.value,
+ ...(_g = (_f = res == null ? void 0 : res.data) == null ? void 0 : _f.searchResultList[0]) == null ? void 0 : _g.messageList
+ ] : searchConversationMessageList.value = (_i = (_h = res == null ? void 0 : res.data) == null ? void 0 : _h.searchResultList[0]) == null ? void 0 : _i.messageList;
+ searchConversationMessageTotalCount.value = (_j = res == null ? void 0 : res.data) == null ? void 0 : _j.totalCount;
+ if ((props == null ? void 0 : props.searchType) === "conversation" && (currentSearchTabKey.value === "fileMessage" || currentSearchTabKey.value === "imageMessage")) {
+ searchConversationResultGroupByDate.value = groupResultListByDate(
+ searchConversationMessageList.value
+ );
+ } else {
+ searchConversationResultGroupByDate.value = [];
+ }
+ }
+ isLoading.value = false;
+ isSearchDetailLoading.value = false;
+ });
+ };
+ const setMessageSearchResultListDebounce = TUIKit_components_TUISearch_utils.debounce(setMessageSearchResultList, 500);
+ const resetSearchResult = () => {
+ searchResult.value = {};
+ searchConversationResult.value = {};
+ searchConversationMessageList.value = [];
+ searchConversationResultGroupByDate.value = [];
+ };
+ common_vendor.watch(
+ () => [keywordList.value, currentSearchTabKey.value, timePosition.value, timePeriod.value],
+ (newValue, oldValue) => {
+ var _a2, _b2, _c;
+ if (newValue === oldValue) {
+ return;
+ }
+ if (!((_a2 = keywordList == null ? void 0 : keywordList.value) == null ? void 0 : _a2.length) && (props == null ? void 0 : props.searchType) === "global") {
+ resetSearchResult();
+ return;
+ }
+ isLoading.value = true;
+ if (props.searchType === "conversation") {
+ resetSearchResult();
+ setMessageSearchResultList({
+ conversationID: currentSearchConversationID.value
+ });
+ } else {
+ if (oldValue && oldValue[1] === "all" && newValue && newValue[1] === "allMessage") {
+ ((_b2 = searchResult == null ? void 0 : searchResult.value["allMessage"]) == null ? void 0 : _b2.list) && (searchResult.value["allMessage"].list = searchAllMessageList == null ? void 0 : searchAllMessageList.value);
+ (_c = Object == null ? void 0 : Object.keys(searchResult == null ? void 0 : searchResult.value)) == null ? void 0 : _c.forEach((key) => {
+ if (key !== "allMessage") {
+ searchResult == null ? true : delete searchResult.value[key];
+ }
+ });
+ isLoading.value = false;
+ return;
+ } else {
+ isResultDetailShow.value = false;
+ resetSearchResult();
+ }
+ setMessageSearchResultListDebounce();
+ }
+ },
+ { immediate: true }
+ );
+ const getMoreResult = (result) => {
+ if (currentSearchTabKey.value === "all") {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchMessageType", {
+ value: TUIKit_components_TUISearch_searchTypeList.searchMessageTypeList[result.key],
+ searchType: props.searchType
+ });
+ } else {
+ setMessageSearchResultList({ cursor: (result == null ? void 0 : result.cursor) || void 0 });
+ }
+ };
+ const getMoreResultInConversation = () => {
+ var _a2;
+ setMessageSearchResultList({
+ cursor: (_a2 = searchConversationResult == null ? void 0 : searchConversationResult.value) == null ? void 0 : _a2.cursor,
+ conversationID: currentSearchConversationID == null ? void 0 : currentSearchConversationID.value
+ });
+ };
+ const showResultDetail = (isShow, targetType, targetResult) => {
+ var _a2;
+ isResultDetailShow.value = isShow;
+ if (targetType) {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchMessageType", {
+ value: TUIKit_components_TUISearch_searchTypeList.searchMessageTypeList[targetType],
+ searchType: props.searchType
+ });
+ }
+ currentSearchConversationID.value = ((_a2 = targetResult == null ? void 0 : targetResult.conversation) == null ? void 0 : _a2.conversationID) || "";
+ searchConversationMessageTotalCount.value = targetResult == null ? void 0 : targetResult.messageCount;
+ if (targetResult) {
+ isSearchDetailLoading.value = true;
+ setMessageSearchResultListDebounce({
+ conversationID: currentSearchConversationID.value
+ });
+ }
+ };
+ const generateListItemClass = (item) => {
+ var _a2;
+ return currentSearchConversationID.value === ((_a2 = item == null ? void 0 : item.conversation) == null ? void 0 : _a2.conversationID) ? ["list-item", "list-item-selected"] : ["list-item"];
+ };
+ const generateResultItemDisplayType = () => {
+ if (props.searchType === "conversation" && currentSearchTabKey.value === "fileMessage") {
+ return "file";
+ } else if (props.searchType === "conversation" && currentSearchTabKey.value === "imageMessage") {
+ return "image";
+ } else if (TUIKit_utils_env.isPC) {
+ return "bubble";
+ } else {
+ return "info";
+ }
+ };
+ const groupResultListByDate = (messageList) => {
+ var _a2, _b2, _c, _d;
+ const result = [];
+ if (!(messageList == null ? void 0 : messageList.length)) {
+ return result;
+ } else if ((messageList == null ? void 0 : messageList.length) === 1) {
+ result.push({ date: TUIKit_components_TUISearch_utils.generateSearchResultYMD((_a2 = messageList[0]) == null ? void 0 : _a2.time), list: messageList });
+ return result;
+ }
+ let prevYMD = "";
+ let currYMD = "";
+ for (let i = 0; i < (messageList == null ? void 0 : messageList.length); i++) {
+ currYMD = TUIKit_components_TUISearch_utils.generateSearchResultYMD((_b2 = messageList[i]) == null ? void 0 : _b2.time);
+ if (prevYMD !== currYMD) {
+ result.push({ date: currYMD, list: [messageList[i]] });
+ } else {
+ (_d = (_c = result[(result == null ? void 0 : result.length) - 1]) == null ? void 0 : _c.list) == null ? void 0 : _d.push(messageList[i]);
+ }
+ prevYMD = currYMD;
+ }
+ return result;
+ };
+ const navigateToChatPosition = (message) => {
+ var _a2;
+ if (props.searchType === "global") {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchingStatus", {
+ isSearching: false,
+ searchType: props.searchType
+ });
+ common_vendor.Xt.switchConversation(message == null ? void 0 : message.conversationID).then(() => {
+ var _a3;
+ common_vendor.Jt.update(common_vendor.o.CHAT, "messageSource", message);
+ TUIKit_utils_env.isUniFrameWork && ((_a3 = common_vendor.i) == null ? void 0 : _a3.navigateTo({
+ url: "/TUIKit/components/TUIChat/index"
+ }));
+ });
+ } else if (props.searchType === "conversation") {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "isShowInConversationSearch", false);
+ common_vendor.Jt.update(common_vendor.o.CHAT, "messageSource", message);
+ TUIKit_utils_env.isUniFrameWork && ((_a2 = common_vendor.i) == null ? void 0 : _a2.navigateBack());
+ }
+ };
+ const generateVueRenderKey = (value) => {
+ return `${currentSearchTabKey}-${value}`;
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isLoading)
+ }, common_vendor.unref(isLoading) ? {
+ b: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "search-result-loading-h5")
+ } : common_vendor.unref(isSearchDefaultShow) ? {
+ d: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "search-result-default-h5")
+ } : common_vendor.e({
+ e: props.searchType !== "conversation" && (common_vendor.unref(TUIKit_utils_env.isPC) || !common_vendor.unref(isResultDetailShow))
+ }, props.searchType !== "conversation" && (common_vendor.unref(TUIKit_utils_env.isPC) || !common_vendor.unref(isResultDetailShow)) ? {
+ f: common_vendor.f(common_vendor.unref(searchResult), (result, k0, i0) => {
+ return common_vendor.e(props.searchType === "global" ? {
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUISearch.${result.label}`))
+ } : {}, {
+ b: common_vendor.f(result.list, (item, k1, i1) => {
+ return common_vendor.e({
+ a: result.key === "contact" || result.key === "group" || item.conversation
+ }, result.key === "contact" || result.key === "group" || item.conversation ? {
+ b: common_vendor.o$1(showResultDetail, item.conversation.conversationID),
+ c: common_vendor.o$1(navigateToChatPosition, item.conversation.conversationID),
+ d: "90555b56-2-" + i0 + "-" + i1,
+ e: common_vendor.p({
+ listItem: item,
+ type: result.key,
+ displayType: "info",
+ keywordList: common_vendor.unref(keywordList)
+ })
+ } : {}, {
+ f: item.conversation.conversationID,
+ g: common_vendor.n(generateListItemClass(item))
+ });
+ }),
+ c: common_vendor.unref(currentSearchTabKey) === "all" || result.cursor
+ }, common_vendor.unref(currentSearchTabKey) === "all" || result.cursor ? {
+ d: "90555b56-3-" + i0,
+ e: common_vendor.p({
+ file: common_vendor.unref(common_assets.searchIcon),
+ width: "12px",
+ height: "12px"
+ }),
+ f: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.查看更多")),
+ g: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUISearch.${result.label}`)),
+ h: common_vendor.o$1(($event) => getMoreResult(result), result.key)
+ } : {}, {
+ i: result.key
+ });
+ }),
+ g: props.searchType === "global"
+ } : {}, {
+ h: common_vendor.unref(isResultDetailShow) || props.searchType === "conversation"
+ }, common_vendor.unref(isResultDetailShow) || props.searchType === "conversation" ? common_vendor.e({
+ i: common_vendor.unref(isSearchDetailLoading)
+ }, common_vendor.unref(isSearchDetailLoading) ? {
+ j: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "search-result-loading-h5")
+ } : {}, {
+ k: !common_vendor.unref(isSearchDetailLoading) && common_vendor.unref(isResultDetailShow) && props.searchType !== "conversation"
+ }, !common_vendor.unref(isSearchDetailLoading) && common_vendor.unref(isResultDetailShow) && props.searchType !== "conversation" ? {
+ l: common_vendor.t(common_vendor.unref(searchConversationMessageTotalCount)),
+ m: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.条与")),
+ n: common_vendor.f(common_vendor.unref(keywordList), (keyword, index, i0) => {
+ return {
+ a: common_vendor.t(keyword),
+ b: index
+ };
+ }),
+ o: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.相关的")),
+ p: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`TUISearch.${common_vendor.unref(currentSearchTabKey) === "allMessage" ? "结果" : common_vendor.unref(TUIKit_components_TUISearch_searchTypeList.searchMessageTypeList)[common_vendor.unref(currentSearchTabKey)].label}`)),
+ q: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.进入聊天")),
+ r: common_vendor.p({
+ file: common_vendor.unref(common_assets.rightIcon),
+ width: "14px",
+ height: "14px"
+ }),
+ s: common_vendor.o$1(($event) => common_vendor.unref(TUIKit_components_TUISearch_utils.enterConversation)({
+ conversationID: common_vendor.unref(currentSearchConversationID)
+ }))
+ } : {}, {
+ t: !common_vendor.unref(isSearchDetailLoading) && common_vendor.unref(searchConversationMessageList) && common_vendor.unref(searchConversationMessageList)[0]
+ }, !common_vendor.unref(isSearchDetailLoading) && common_vendor.unref(searchConversationMessageList) && common_vendor.unref(searchConversationMessageList)[0] ? common_vendor.e({
+ v: props.searchType === "global" || common_vendor.unref(currentSearchTabKey) !== "imageMessage" && common_vendor.unref(currentSearchTabKey) !== "fileMessage"
+ }, props.searchType === "global" || common_vendor.unref(currentSearchTabKey) !== "imageMessage" && common_vendor.unref(currentSearchTabKey) !== "fileMessage" ? {
+ w: common_vendor.f(common_vendor.unref(searchConversationMessageList), (item, k0, i0) => {
+ return {
+ a: common_vendor.o$1(showResultDetail, generateVueRenderKey(item.ID)),
+ b: common_vendor.o$1(navigateToChatPosition, generateVueRenderKey(item.ID)),
+ c: "90555b56-6-" + i0,
+ d: common_vendor.p({
+ listItem: item,
+ listItemContent: item.getMessageContent(),
+ type: common_vendor.unref(currentSearchTabKey),
+ displayType: generateResultItemDisplayType(),
+ keywordList: common_vendor.unref(keywordList)
+ }),
+ e: generateVueRenderKey(item.ID)
+ };
+ })
+ } : {
+ x: common_vendor.f(common_vendor.unref(searchConversationResultGroupByDate), (group, k0, i0) => {
+ return {
+ a: common_vendor.t(group.date),
+ b: common_vendor.f(group.list, (item, k1, i1) => {
+ return {
+ a: common_vendor.o$1(showResultDetail, generateVueRenderKey(item.ID)),
+ b: common_vendor.o$1(navigateToChatPosition, generateVueRenderKey(item.ID)),
+ c: "90555b56-7-" + i0 + "-" + i1,
+ d: common_vendor.p({
+ listItem: item,
+ listItemContent: item.getMessageContent(),
+ type: common_vendor.unref(currentSearchTabKey),
+ displayType: generateResultItemDisplayType(),
+ keywordList: common_vendor.unref(keywordList)
+ }),
+ e: generateVueRenderKey(item.ID)
+ };
+ }),
+ c: generateVueRenderKey(group.date)
+ };
+ }),
+ y: common_vendor.n(common_vendor.unref(currentSearchTabKey) === "fileMessage" ? "list-group-file" : "list-group-image")
+ }, {
+ z: common_vendor.unref(searchConversationResult) && common_vendor.unref(searchConversationResult).cursor
+ }, common_vendor.unref(searchConversationResult) && common_vendor.unref(searchConversationResult).cursor ? {
+ A: common_vendor.p({
+ file: common_vendor.unref(common_assets.searchIcon),
+ width: "12px",
+ height: "12px"
+ }),
+ B: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.查看更多历史记录")),
+ C: common_vendor.o$1(getMoreResultInConversation)
+ } : {}) : {}, {
+ D: common_vendor.n(props.searchType === "conversation" && "tui-search-result-in-conversation")
+ }) : {}, {
+ E: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-search-result-h5"),
+ F: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(isResultDetailShow) && "tui-search-result-with-border")
+ }), {
+ c: common_vendor.unref(isSearchDefaultShow)
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-90555b56"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-result/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.json
new file mode 100644
index 0000000..43abd24
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "search-result-item": "./search-result-item/index",
+ "search-result-default": "./search-result-default/index",
+ "search-result-loading": "./search-result-loading/index",
+ "icon": "../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.wxml
new file mode 100644
index 0000000..8283fce
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.wxml
@@ -0,0 +1 @@
+{{result.f}} {{result.g}} {{group.a}} {{B}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.wxss
new file mode 100644
index 0000000..bd83d72
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/index.wxss
@@ -0,0 +1,276 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-90555b56, div.data-v-90555b56, ul.data-v-90555b56, ol.data-v-90555b56, dt.data-v-90555b56, dd.data-v-90555b56, li.data-v-90555b56, dl.data-v-90555b56, h1.data-v-90555b56, h2.data-v-90555b56, h3.data-v-90555b56, h4.data-v-90555b56, p.data-v-90555b56 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-90555b56, ul.data-v-90555b56, li.data-v-90555b56 {
+ list-style: none;
+}
+img.data-v-90555b56 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-90555b56 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-90555b56 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-90555b56 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-90555b56:hover {
+ text-decoration: none;
+}
+input.data-v-90555b56, textarea.data-v-90555b56 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-90555b56:focus, input.data-v-90555b56:active, textarea.data-v-90555b56:focus, textarea.data-v-90555b56:active {
+ outline: none;
+}
+.chat-aside.data-v-90555b56 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.tui-search-result.data-v-90555b56 {
+ overflow: hidden;
+ flex: 1;
+ display: flex;
+ width: 100%;
+ flex-direction: row;
+ box-sizing: border-box;
+}
+.tui-search-result-with-border.data-v-90555b56 {
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
+}
+.tui-search-result-detail.data-v-90555b56 {
+ width: 360px;
+ overflow-y: hidden;
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+}
+.tui-search-result-detail .tui-search-message-header.data-v-90555b56 {
+ padding: 10px;
+ display: flex;
+ flex-direction: row;
+ place-content: space-between space-between;
+ font-size: 14px;
+ align-items: center;
+}
+.tui-search-result-detail .tui-search-message-header .header-content.data-v-90555b56 {
+ display: flex;
+ flex-flow: row nowrap;
+ flex: 1;
+ overflow: hidden;
+ color: #666;
+ white-space: nowrap;
+}
+.tui-search-result-detail .tui-search-message-header .header-content .header-content-count.data-v-90555b56 {
+ width: -webkit-fit-content;
+ width: fit-content;
+ white-space: nowrap;
+}
+.tui-search-result-detail .tui-search-message-header .header-content .header-content-keyword.data-v-90555b56 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.tui-search-result-detail .tui-search-message-header .header-content .header-content-type.data-v-90555b56 {
+ width: 110px;
+ white-space: nowrap;
+}
+.tui-search-result-detail .tui-search-message-header .header-content .normal.data-v-90555b56 {
+ color: #666;
+}
+.tui-search-result-detail .tui-search-message-header .header-content .highlight.data-v-90555b56 {
+ color: #007aff;
+}
+.tui-search-result-detail .tui-search-message-header .header-enter.data-v-90555b56 {
+ margin-left: 10px;
+ width: 70px;
+ color: #666;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+}
+.tui-search-result-detail .tui-search-message-list.data-v-90555b56 {
+ overflow-y: auto;
+}
+.tui-search-result-detail .tui-search-message-list .list-item.data-v-90555b56 {
+ width: 100%;
+ flex: 1;
+ overflow: hidden;
+}
+.tui-search-result-detail .tui-search-message-list .list-group.list-group-image.data-v-90555b56 {
+ display: flex;
+ flex-flow: row wrap;
+}
+.tui-search-result-detail .tui-search-message-list .list-group.list-group-image .list-group-item.data-v-90555b56 {
+ width: 111px;
+ height: 111px;
+}
+.tui-search-result-detail .tui-search-message-list .list-group .list-group-date.data-v-90555b56 {
+ width: 100%;
+ box-sizing: border-box;
+ font-family: "PingFang SC", sans-serif;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 20px;
+ letter-spacing: 0;
+ text-align: left;
+ padding: 10px 10px 2px;
+}
+.tui-search-result-detail .tui-search-message-list .more.data-v-90555b56 {
+ display: flex;
+ flex-direction: row;
+ font-size: 14px;
+ padding: 8px 0;
+ justify-content: center;
+ align-items: center;
+ -webkit-user-select: none;
+ user-select: none;
+ cursor: pointer;
+}
+.tui-search-result-detail .tui-search-message-list .more .more-text.data-v-90555b56 {
+ padding-left: 8px;
+ font-size: 12px;
+ color: #007aff;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.tui-search-result-main.data-v-90555b56 {
+ width: 350px;
+ padding: 10px;
+ overflow-y: auto;
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+}
+.tui-search-result-main .tui-search-result-list-item .header.data-v-90555b56 {
+ font-size: 14px;
+ padding: 4px 0;
+}
+.tui-search-result-main .tui-search-result-list-item .list.data-v-90555b56 {
+ display: flex;
+ flex-direction: column;
+}
+.tui-search-result-main .tui-search-result-list-item .list .list-item.data-v-90555b56 {
+ cursor: pointer;
+}
+.tui-search-result-main .tui-search-result-list-item .list .list-item-selected.data-v-90555b56 {
+ background: #f2f2f2;
+ border-radius: 5px;
+}
+.tui-search-result-main .tui-search-result-list-item .more.data-v-90555b56 {
+ display: flex;
+ flex-direction: row;
+ font-size: 14px;
+ padding-top: 10px;
+ -webkit-user-select: none;
+ user-select: none;
+ cursor: pointer;
+}
+.tui-search-result-main .tui-search-result-list-item .more .more-text.data-v-90555b56 {
+ padding-left: 8px;
+ font-size: 12px;
+ color: #007aff;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.tui-search-result .tui-search-result-in-conversation.data-v-90555b56 {
+ border: none;
+}
+.tui-search-result-h5.data-v-90555b56 {
+ background-color: #f4f4f4;
+}
+.tui-search-result-h5 .tui-search-result-main.data-v-90555b56 {
+ background-color: #f4f4f4;
+}
+.tui-search-result-h5 .tui-search-result-main .tui-search-result-list .tui-search-result-list-item.data-v-90555b56 {
+ background-color: #fff;
+ padding: 0 10px 10px;
+ border-radius: 5px;
+ margin-bottom: 10px;
+}
+.tui-search-result-h5 .tui-search-result-detail.data-v-90555b56 {
+ background-color: #f4f4f4;
+ border: none;
+}
+.tui-search-result-h5 .tui-search-result-detail .list-item.data-v-90555b56 {
+ margin: 0 10px;
+ width: calc(100% - 20px);
+}
+.tui-search-result-h5 .tui-search-result-detail .list-group-date.data-v-90555b56 {
+ padding: 10px;
+}
+.tui-search-result-h5 .tui-search-result-detail .list-group-image .list-group-item .search-result-list-item-h5.data-v-90555b56 {
+ padding: 0;
+}
+.tui-search-result-h5 .tui-search-result-detail .list-group-file .list-group-item.data-v-90555b56 {
+ background-color: #fff;
+ padding: 0 10px;
+ border-bottom: 1px solid #f4f4f4;
+}
+.tui-search-result-h5 .tui-search-result-detail .list-group-file .list-group-item .search-result-list-item-h5.data-v-90555b56 {
+ padding: 0 0 10px;
+}
+.tui-search-result-h5 .tui-search-result-detail .list-group-file .list-group-item.data-v-90555b56:last-child {
+ border-bottom: none;
+}
+.search-result-loading.data-v-90555b56,
+.search-result-default.data-v-90555b56 {
+ width: 100%;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.search-result-loading-h5.data-v-90555b56,
+.search-result-default-h5.data-v-90555b56 {
+ background-color: #f4f4f4;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.js
new file mode 100644
index 0000000..a044085
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.js
@@ -0,0 +1,27 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+const common_assets = require("../../../../../common/assets.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ setup(__props) {
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.p({
+ file: common_vendor.unref(common_assets.SearchDefaultIcon),
+ width: "88px",
+ height: "75px"
+ }),
+ b: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.暂无搜索结果")),
+ c: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "search-result-default-h5")
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ad49c7f2"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.json
new file mode 100644
index 0000000..e4996d2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.wxml
new file mode 100644
index 0000000..7a676e8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.wxml
@@ -0,0 +1 @@
+{{b}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.wxss
new file mode 100644
index 0000000..9200fd6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-default/index.wxss
@@ -0,0 +1,49 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.search-result-default.data-v-ad49c7f2 {
+ width: 100%;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.search-result-default-h5.data-v-ad49c7f2 {
+ background-color: #f4f4f4;
+}
+.search-result-default-main.data-v-ad49c7f2 {
+ display: flex;
+ flex-direction: column;
+ text-align: center;
+ justify-content: center;
+ align-items: center;
+}
+.search-result-default-main .default-text.data-v-ad49c7f2 {
+ font-family: "PingFang SC", sans-serif;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 20px;
+ color: #666;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.js
new file mode 100644
index 0000000..69f6eca
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.js
@@ -0,0 +1,168 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+require("../../../../adapter-vue.js");
+const TUIKit_components_TUISearch_utils = require("../../utils.js");
+const TUIKit_components_TUISearch_type = require("../../type.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+if (!Math) {
+ (MessageAbstractText + MessageAbstractFile + MessageAbstractCustom + MessageAbstractImage + MessageAbstractVideo)();
+}
+const MessageAbstractText = () => "./message-abstract/message-abstract-text.js";
+const MessageAbstractFile = () => "./message-abstract/message-abstract-file.js";
+const MessageAbstractCustom = () => "./message-abstract/message-abstract-custom.js";
+const MessageAbstractImage = () => "./message-abstract/message-abstract-image.js";
+const MessageAbstractVideo = () => "./message-abstract/message-abstract-video.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ listItem: { default: () => ({}) },
+ listItemContent: { default: () => ({}) },
+ type: { default: "allMessage" },
+ displayType: { default: "info" },
+ keywordList: { default: () => [] }
+ },
+ emits: ["showResultDetail", "navigateToChatPosition"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const emits = __emit;
+ const TYPES = common_vendor.ref(common_vendor.qt.TYPES);
+ const avatarForShow = common_vendor.ref("");
+ const nameForShow = common_vendor.ref("");
+ const contentForShow = common_vendor.ref([]);
+ const timeForShow = common_vendor.ref("");
+ const isHovering = common_vendor.ref(false);
+ common_vendor.watchEffect(() => {
+ var _a, _b;
+ avatarForShow.value = TUIKit_components_TUISearch_utils.generateSearchResultAvatar(props.listItem);
+ nameForShow.value = TUIKit_components_TUISearch_utils.generateSearchResultShowName(props.listItem, props == null ? void 0 : props.listItemContent);
+ contentForShow.value = TUIKit_components_TUISearch_utils.generateSearchResultShowContent(
+ props.listItem,
+ props.type,
+ props.keywordList,
+ (props == null ? void 0 : props.displayType) === "info"
+ );
+ timeForShow.value = ((_a = props.listItem) == null ? void 0 : _a.time) ? TUIKit_components_TUISearch_utils.generateSearchResultTime(((_b = props.listItem) == null ? void 0 : _b.time) * 1e3) : "";
+ });
+ const onResultItemClicked = () => {
+ var _a;
+ if (props.type === "contact" || props.type === "group") {
+ TUIKit_components_TUISearch_utils.enterConversation(props.listItem);
+ } else {
+ if (props.displayType === "info" && !((_a = props.listItem) == null ? void 0 : _a.ID)) {
+ emits("showResultDetail", true, props.type, props.listItem);
+ } else {
+ navigateToChatPosition();
+ }
+ }
+ };
+ const setHoverStatus = (status) => {
+ isHovering.value = status;
+ };
+ const navigateToChatPosition = () => {
+ emits("navigateToChatPosition", props.listItem);
+ };
+ const getMessageAbstractType = (message) => {
+ return (message == null ? void 0 : message.type) ? common_vendor.Wt.t(`TUISearch.${TUIKit_components_TUISearch_type.messageTypeAbstractMap[message.type]}`) : common_vendor.Wt.t(`TUISearch.[合并消息]`);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: _ctx.displayType === "info" || _ctx.displayType === "bubble"
+ }, _ctx.displayType === "info" || _ctx.displayType === "bubble" ? common_vendor.e({
+ b: common_vendor.n(_ctx.displayType + "-left-avatar"),
+ c: common_vendor.unref(avatarForShow) || "",
+ d: common_vendor.n(_ctx.displayType + "-left"),
+ e: common_vendor.t(common_vendor.unref(nameForShow)),
+ f: common_vendor.n(_ctx.displayType + "-main-name"),
+ g: _ctx.displayType === "info" || _ctx.listItem.type === common_vendor.unref(TYPES).MSG_TEXT
+ }, _ctx.displayType === "info" || _ctx.listItem.type === common_vendor.unref(TYPES).MSG_TEXT ? {
+ h: common_vendor.p({
+ content: common_vendor.unref(contentForShow),
+ highlightType: _ctx.displayType === "info" ? "font" : "background",
+ displayType: _ctx.displayType
+ })
+ } : _ctx.listItem.type === common_vendor.unref(TYPES).MSG_FILE ? {
+ j: common_vendor.p({
+ contentText: common_vendor.unref(contentForShow),
+ messageContent: _ctx.listItemContent,
+ displayType: _ctx.displayType
+ })
+ } : _ctx.listItem.type === common_vendor.unref(TYPES).MSG_IMAGE ? {} : _ctx.listItem.type === common_vendor.unref(TYPES).MSG_VIDEO ? {} : _ctx.listItem.type === common_vendor.unref(TYPES).MSG_CUSTOM ? {
+ n: common_vendor.p({
+ contentText: common_vendor.unref(contentForShow),
+ message: _ctx.listItem,
+ messageContent: _ctx.listItemContent
+ })
+ } : {
+ o: common_vendor.t(getMessageAbstractType(_ctx.listItem))
+ }, {
+ i: _ctx.listItem.type === common_vendor.unref(TYPES).MSG_FILE,
+ k: _ctx.listItem.type === common_vendor.unref(TYPES).MSG_IMAGE,
+ l: _ctx.listItem.type === common_vendor.unref(TYPES).MSG_VIDEO,
+ m: _ctx.listItem.type === common_vendor.unref(TYPES).MSG_CUSTOM,
+ p: common_vendor.n(_ctx.displayType + "-main-content"),
+ q: common_vendor.n(_ctx.displayType + "-main"),
+ r: common_vendor.t(common_vendor.unref(timeForShow)),
+ s: common_vendor.n(_ctx.displayType + "-right-time"),
+ t: _ctx.displayType === "bubble" && common_vendor.unref(isHovering)
+ }, _ctx.displayType === "bubble" && common_vendor.unref(isHovering) ? {
+ v: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.定位到聊天位置")),
+ w: common_vendor.n(_ctx.displayType + "-right-to"),
+ x: common_vendor.o$1(navigateToChatPosition)
+ } : {}, {
+ y: common_vendor.n(_ctx.displayType + "-right"),
+ z: common_vendor.n(_ctx.displayType)
+ }) : _ctx.displayType === "file" ? common_vendor.e({
+ B: common_vendor.n(_ctx.displayType + "-header-avatar"),
+ C: common_vendor.unref(avatarForShow),
+ D: common_vendor.t(common_vendor.unref(nameForShow)),
+ E: common_vendor.n(_ctx.displayType + "-header-name"),
+ F: common_vendor.unref(isHovering)
+ }, common_vendor.unref(isHovering) ? {
+ G: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.定位到聊天位置")),
+ H: common_vendor.n(_ctx.displayType + "-header-to"),
+ I: common_vendor.o$1(navigateToChatPosition)
+ } : {}, {
+ J: common_vendor.t(common_vendor.unref(timeForShow)),
+ K: common_vendor.n(_ctx.displayType + "-header-time"),
+ L: common_vendor.n(_ctx.displayType + "-header"),
+ M: common_vendor.p({
+ contentText: common_vendor.unref(contentForShow),
+ messageContent: _ctx.listItemContent,
+ displayType: "bubble"
+ }),
+ N: common_vendor.n(_ctx.displayType + "-main-content"),
+ O: common_vendor.n(_ctx.displayType)
+ }) : _ctx.displayType === "image" ? common_vendor.e({
+ Q: _ctx.listItem.type === common_vendor.unref(TYPES).MSG_IMAGE
+ }, _ctx.listItem.type === common_vendor.unref(TYPES).MSG_IMAGE ? {
+ R: common_vendor.p({
+ messageContent: _ctx.listItemContent
+ })
+ } : _ctx.listItem.type === common_vendor.unref(TYPES).MSG_VIDEO ? {
+ T: common_vendor.p({
+ messageContent: _ctx.listItemContent
+ })
+ } : {}, {
+ S: _ctx.listItem.type === common_vendor.unref(TYPES).MSG_VIDEO,
+ U: common_vendor.unref(isHovering)
+ }, common_vendor.unref(isHovering) ? {
+ V: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUISearch.定位到聊天位置"))
+ } : {}, {
+ W: common_vendor.o$1(navigateToChatPosition),
+ X: common_vendor.n(_ctx.displayType)
+ }) : {}, {
+ A: _ctx.displayType === "file",
+ P: _ctx.displayType === "image",
+ Y: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "search-result-list-item-h5"),
+ Z: common_vendor.n("search-result-list-item-" + _ctx.displayType),
+ aa: common_vendor.n(common_vendor.unref(isHovering) && "hover-" + _ctx.displayType),
+ ab: common_vendor.o$1(onResultItemClicked),
+ ac: common_vendor.o$1(($event) => setHoverStatus(true)),
+ ad: common_vendor.o$1(($event) => setHoverStatus(false))
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-64f261e1"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.json
new file mode 100644
index 0000000..0b3dc11
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "message-abstract-text": "./message-abstract/message-abstract-text",
+ "message-abstract-file": "./message-abstract/message-abstract-file",
+ "message-abstract-custom": "./message-abstract/message-abstract-custom",
+ "message-abstract-image": "./message-abstract/message-abstract-image",
+ "message-abstract-video": "./message-abstract/message-abstract-video"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.wxml
new file mode 100644
index 0000000..0fc6445
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.wxml
@@ -0,0 +1 @@
+{{e}} {{o}} {{r}} {{v}} {{D}} {{G}} {{J}} {{V}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.wxss
new file mode 100644
index 0000000..1353ed3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/index.wxss
@@ -0,0 +1,315 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-64f261e1, div.data-v-64f261e1, ul.data-v-64f261e1, ol.data-v-64f261e1, dt.data-v-64f261e1, dd.data-v-64f261e1, li.data-v-64f261e1, dl.data-v-64f261e1, h1.data-v-64f261e1, h2.data-v-64f261e1, h3.data-v-64f261e1, h4.data-v-64f261e1, p.data-v-64f261e1 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-64f261e1, ul.data-v-64f261e1, li.data-v-64f261e1 {
+ list-style: none;
+}
+img.data-v-64f261e1 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-64f261e1 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-64f261e1 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-64f261e1 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-64f261e1:hover {
+ text-decoration: none;
+}
+input.data-v-64f261e1, textarea.data-v-64f261e1 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-64f261e1:focus, input.data-v-64f261e1:active, textarea.data-v-64f261e1:focus, textarea.data-v-64f261e1:active {
+ outline: none;
+}
+.chat-aside.data-v-64f261e1 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.search-result-list-item.data-v-64f261e1 {
+ padding: 8px 10px;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+ cursor: pointer;
+}
+.search-result-list-item-image.data-v-64f261e1 {
+ display: inline-block;
+ width: 100px;
+ height: 100px;
+ max-width: 100px;
+ max-height: 100px;
+ overflow: hidden;
+ box-sizing: content-box;
+ border: 1px solid #f1f1f1;
+ padding: 0;
+ margin: 5px;
+}
+.search-result-list-item-file.data-v-64f261e1 {
+ border: none;
+}
+.search-result-list-item .info.data-v-64f261e1 {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+}
+.search-result-list-item .info-left-avatar.data-v-64f261e1 {
+ width: 36px;
+ height: 36px;
+ border-radius: 5px;
+}
+.search-result-list-item .info-main.data-v-64f261e1 {
+ flex: 1;
+ padding: 0 10px;
+ overflow: hidden;
+}
+.search-result-list-item .info-main-name.data-v-64f261e1, .search-result-list-item .info-main-content.data-v-64f261e1 {
+ flex: 1;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.search-result-list-item .info-main-name.data-v-64f261e1 {
+ color: #333;
+ font-size: 14px;
+ height: 20px;
+}
+.search-result-list-item .info-main-content.data-v-64f261e1 {
+ color: #999;
+ font-size: 12px;
+}
+.search-result-list-item .info-main-content .highlight.data-v-64f261e1 {
+ color: #007aff;
+}
+.search-result-list-item .info-main-content .normal.data-v-64f261e1 {
+ color: #999;
+}
+.search-result-list-item .info-right.data-v-64f261e1 {
+ width: -webkit-fit-content;
+ width: fit-content;
+}
+.search-result-list-item .info-right-time.data-v-64f261e1 {
+ font-weight: 400;
+ font-size: 12px;
+ color: #999;
+ letter-spacing: 0;
+ white-space: nowrap;
+}
+.search-result-list-item .bubble.data-v-64f261e1 {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+}
+.search-result-list-item .bubble-left-avatar.data-v-64f261e1 {
+ width: 36px;
+ height: 36px;
+ border-radius: 5px;
+}
+.search-result-list-item .bubble-main.data-v-64f261e1 {
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ padding: 0 8px;
+}
+.search-result-list-item .bubble-main-name.data-v-64f261e1 {
+ max-width: 100%;
+ width: -webkit-fit-content;
+ width: fit-content;
+ padding-bottom: 4px;
+ font-weight: 400;
+ font-size: 12px;
+ color: #999;
+ letter-spacing: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.search-result-list-item .bubble-main-content.data-v-64f261e1 {
+ max-width: 100%;
+ width: -webkit-fit-content;
+ width: fit-content;
+ box-sizing: border-box;
+ padding: 12px;
+ font-weight: 400;
+ font-size: 14px;
+ color: #000;
+ letter-spacing: 0;
+ word-wrap: break-word;
+ word-break: break-all;
+ overflow: hidden;
+ background: #eff0f1;
+ border-radius: 0 10px 10px;
+}
+.search-result-list-item .bubble-main-content .highlight.data-v-64f261e1 {
+ background-color: #007aff33;
+}
+.search-result-list-item .bubble-main-content .normal.data-v-64f261e1 {
+ color: #1f2329;
+}
+.search-result-list-item .bubble-right.data-v-64f261e1 {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-end;
+}
+.search-result-list-item .bubble-right-time.data-v-64f261e1 {
+ font-weight: 400;
+ font-size: 12px;
+ color: #999;
+ letter-spacing: 0;
+ white-space: nowrap;
+}
+.search-result-list-item .bubble-right-to.data-v-64f261e1 {
+ cursor: pointer;
+ font-weight: 400;
+ font-size: 12px;
+ color: #007aff;
+ letter-spacing: 0;
+ white-space: nowrap;
+}
+.search-result-list-item .file.data-v-64f261e1 {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+.search-result-list-item .file-header.data-v-64f261e1 {
+ flex: 1;
+ padding: 10px 0;
+ overflow: hidden;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+}
+.search-result-list-item .file-header-avatar.data-v-64f261e1 {
+ width: 24px;
+ height: 24px;
+ border-radius: 4px;
+ margin-right: 3px;
+}
+.search-result-list-item .file-header-name.data-v-64f261e1 {
+ flex: 1;
+}
+.search-result-list-item .file-header-name.data-v-64f261e1, .search-result-list-item .file-header-time.data-v-64f261e1, .search-result-list-item .file-header-to.data-v-64f261e1 {
+ color: #666;
+ font-size: 14px;
+ height: 24px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.search-result-list-item .file-header-to.data-v-64f261e1 {
+ cursor: pointer;
+ font-weight: 400;
+ color: #007aff;
+ letter-spacing: 0;
+ white-space: nowrap;
+ padding-right: 3px;
+}
+.search-result-list-item .file-main-content.data-v-64f261e1 {
+ padding: 10px;
+ background-color: #f1f1f1;
+}
+.search-result-list-item .image.data-v-64f261e1 {
+ width: 100px;
+ height: 100px;
+ max-width: 100px;
+ max-height: 100px;
+ overflow: hidden;
+ box-sizing: content-box;
+}
+.search-result-list-item .image .image-container.data-v-64f261e1 {
+ width: 100px;
+ height: 100px;
+ max-width: 100px;
+ max-height: 100px;
+ overflow: hidden;
+ position: relative;
+}
+.search-result-list-item .image .image-container .image-container-hover.data-v-64f261e1 {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ height: 40%;
+ background-color: rgba(0, 0, 0, 0.3);
+}
+.search-result-list-item .image .image-container .image-container-hover .image-container-hover-text.data-v-64f261e1 {
+ width: 100%;
+ height: 100%;
+ font-size: 12px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ color: #fff;
+ cursor: pointer;
+ -webkit-user-select: none;
+ user-select: none;
+}
+.hover-info.data-v-64f261e1 {
+ border-radius: 5px;
+ background-color: #f5f5f5;
+}
+.hover-bubble.data-v-64f261e1 {
+ background-color: #f5f5f5;
+}
+.search-result-list-item-h5.data-v-64f261e1 {
+ padding: 10px 0;
+ border-radius: 0;
+}
+.search-result-list-item-h5 .bubble .bubble-left .bubble-left-avatar.data-v-64f261e1 {
+ width: 48px;
+ height: 48px;
+}
+.search-result-list-item-h5 .bubble .bubble-left .bubble-main .bubble-main-name.data-v-64f261e1 {
+ color: #333;
+ font-family: "PingFang SC", sans-serif;
+ font-size: 14px;
+ font-weight: 400;
+ letter-spacing: 0;
+ text-align: left;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.js
new file mode 100644
index 0000000..1a35806
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.js
@@ -0,0 +1,116 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const TUIKit_constant = require("../../../../../constant.js");
+const TUIKit_utils_typeCheck = require("../../../../../utils/type-check.js");
+const common_assets = require("../../../../../../common/assets.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-abstract-custom",
+ props: {
+ contentText: { default: () => [] },
+ message: { default: () => ({}) },
+ messageContent: { default: () => ({}) }
+ },
+ setup(__props) {
+ var _a, _b;
+ const props = __props;
+ const custom = common_vendor.ref(
+ (_a = props == null ? void 0 : props.message) == null ? void 0 : _a.payload
+ );
+ const extensionJSON = common_vendor.computed(() => {
+ var _a2, _b2;
+ return ((_a2 = custom == null ? void 0 : custom.value) == null ? void 0 : _a2.data) ? TUIKit_utils_typeCheck.JSONToObject(custom.value.data) : (_b2 = custom == null ? void 0 : custom.value) == null ? void 0 : _b2.data;
+ });
+ const businessID = common_vendor.computed(() => {
+ var _a2;
+ return (_a2 = extensionJSON == null ? void 0 : extensionJSON.value) == null ? void 0 : _a2.businessID;
+ });
+ const descriptionForShow = common_vendor.ref(props == null ? void 0 : props.contentText);
+ const defaultMessageContent = common_vendor.ref(((_b = props == null ? void 0 : props.messageContent) == null ? void 0 : _b.custom) || "[自定义消息]");
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(businessID) === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).SERVICE
+ }, common_vendor.unref(businessID) === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).SERVICE ? common_vendor.e({
+ b: common_vendor.t(common_vendor.unref(extensionJSON).title),
+ c: common_vendor.unref(extensionJSON).hyperlinks_text
+ }, common_vendor.unref(extensionJSON).hyperlinks_text ? {
+ d: common_vendor.t(common_vendor.unref(extensionJSON).hyperlinks_text.key),
+ e: common_vendor.unref(extensionJSON).hyperlinks_text.value
+ } : {}, {
+ f: common_vendor.unref(extensionJSON).item && common_vendor.unref(extensionJSON).item.length > 0
+ }, common_vendor.unref(extensionJSON).item && common_vendor.unref(extensionJSON).item.length > 0 ? {
+ g: common_vendor.f(common_vendor.unref(extensionJSON).item, (item, index, i0) => {
+ return common_vendor.e({
+ a: common_vendor.unref(TUIKit_utils_typeCheck.isUrl)(item.value)
+ }, common_vendor.unref(TUIKit_utils_typeCheck.isUrl)(item.value) ? {
+ b: common_vendor.t(item.key),
+ c: item.value
+ } : {
+ d: common_vendor.t(item.key)
+ }, {
+ e: index
+ });
+ })
+ } : {}, {
+ h: common_vendor.f(common_vendor.unref(descriptionForShow), (contentItem, index, i0) => {
+ return {
+ a: common_vendor.t(contentItem.text),
+ b: index,
+ c: common_vendor.n(contentItem && contentItem.isHighlight ? "highlight" : "normal")
+ };
+ })
+ }) : common_vendor.unref(businessID) === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).EVALUATE ? common_vendor.e({
+ j: common_vendor.f(common_vendor.unref(descriptionForShow), (contentItem, index, i0) => {
+ return {
+ a: common_vendor.t(contentItem.text),
+ b: index,
+ c: common_vendor.n(contentItem && contentItem.isHighlight ? "highlight" : "normal")
+ };
+ }),
+ k: common_vendor.unref(extensionJSON).score
+ }, common_vendor.unref(extensionJSON).score ? {
+ l: common_vendor.f(Math.max(common_vendor.unref(extensionJSON).score, 0), (item, index, i0) => {
+ return {
+ a: "88d2ba7b-0-" + i0,
+ b: index
+ };
+ }),
+ m: common_vendor.p({
+ file: common_vendor.unref(common_assets.star)
+ })
+ } : {}, {
+ n: common_vendor.t(common_vendor.unref(extensionJSON).comment)
+ }) : common_vendor.unref(businessID) === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).ORDER ? {
+ p: common_vendor.unref(extensionJSON).imageUrl,
+ q: common_vendor.t(common_vendor.unref(extensionJSON).title),
+ r: common_vendor.f(common_vendor.unref(descriptionForShow), (contentItem, index, i0) => {
+ return {
+ a: common_vendor.t(contentItem.text),
+ b: index,
+ c: common_vendor.n(contentItem && contentItem.isHighlight ? "highlight" : "normal")
+ };
+ }),
+ s: common_vendor.t(common_vendor.unref(extensionJSON).price)
+ } : common_vendor.unref(businessID) === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).LINK ? {
+ v: common_vendor.t(common_vendor.unref(extensionJSON).text),
+ w: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("message.custom.查看详情>>")),
+ x: common_vendor.unref(extensionJSON).link
+ } : {
+ y: common_vendor.t(common_vendor.unref(defaultMessageContent))
+ }, {
+ i: common_vendor.unref(businessID) === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).EVALUATE,
+ o: common_vendor.unref(businessID) === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).ORDER,
+ t: common_vendor.unref(businessID) === common_vendor.unref(TUIKit_constant.CHAT_MSG_CUSTOM_TYPE).LINK,
+ z: common_vendor.o$1(() => {
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-88d2ba7b"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.json
new file mode 100644
index 0000000..4314133
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.wxml
new file mode 100644
index 0000000..cf7a274
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.wxml
@@ -0,0 +1 @@
+{{item.b}} {{item.d}} {{contentItem.a}} {{contentItem.a}} {{n}} {{q}} {{contentItem.a}} {{s}} {{v}} {{w}} {{y}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.wxss
new file mode 100644
index 0000000..9943b8e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-custom.wxss
@@ -0,0 +1,134 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-88d2ba7b, div.data-v-88d2ba7b, ul.data-v-88d2ba7b, ol.data-v-88d2ba7b, dt.data-v-88d2ba7b, dd.data-v-88d2ba7b, li.data-v-88d2ba7b, dl.data-v-88d2ba7b, h1.data-v-88d2ba7b, h2.data-v-88d2ba7b, h3.data-v-88d2ba7b, h4.data-v-88d2ba7b, p.data-v-88d2ba7b {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-88d2ba7b, ul.data-v-88d2ba7b, li.data-v-88d2ba7b {
+ list-style: none;
+}
+img.data-v-88d2ba7b {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-88d2ba7b {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-88d2ba7b {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-88d2ba7b {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-88d2ba7b:hover {
+ text-decoration: none;
+}
+input.data-v-88d2ba7b, textarea.data-v-88d2ba7b {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-88d2ba7b:focus, input.data-v-88d2ba7b:active, textarea.data-v-88d2ba7b:focus, textarea.data-v-88d2ba7b:active {
+ outline: none;
+}
+.chat-aside.data-v-88d2ba7b {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-abstract-custom .service .service-header.data-v-88d2ba7b {
+ font-size: 14px;
+ color: #000;
+}
+.message-abstract-custom .service .service-list .service-list-item.data-v-88d2ba7b {
+ font-size: 14px;
+}
+.message-abstract-custom .evaluate .evaluate-list.data-v-88d2ba7b {
+ padding: 5px 0;
+ display: flex;
+ flex-direction: row;
+}
+.message-abstract-custom .evaluate .evaluate-list .evaluate-item.data-v-88d2ba7b {
+ padding: 0 2px;
+}
+.message-abstract-custom .order.data-v-88d2ba7b {
+ display: flex;
+}
+.message-abstract-custom .order .order-main.data-v-88d2ba7b {
+ padding-left: 5px;
+}
+.message-abstract-custom .order .order-main .order-main-title.data-v-88d2ba7b {
+ font-size: 14px;
+ color: #000;
+}
+.message-abstract-custom .order .order-main .order-main-description.data-v-88d2ba7b {
+ font-family: PingFangSC-Regular, sans-serif;
+ width: 145px;
+ line-height: 17px;
+ font-size: 14px;
+ color: #999;
+ letter-spacing: 0;
+ margin-bottom: 6px;
+ word-break: break-word;
+}
+.message-abstract-custom .order .order-main .order-main-price.data-v-88d2ba7b {
+ font-family: PingFangSC-Regular, sans-serif;
+ line-height: 25px;
+ color: #ff7201;
+}
+.message-abstract-custom .order .order-img.data-v-88d2ba7b {
+ width: 67px;
+ height: 67px;
+}
+.message-abstract-custom .link.data-v-88d2ba7b {
+ font-size: 14px;
+ color: #679ce1;
+}
+.message-abstract-custom .description.data-v-88d2ba7b {
+ font-size: 14px;
+ color: #000;
+}
+.message-abstract-custom .description .highlight.data-v-88d2ba7b {
+ background-color: #007aff33;
+}
+.message-abstract-custom .description .normal.data-v-88d2ba7b {
+ font-size: 14px;
+ color: #000;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.js
new file mode 100644
index 0000000..4bab607
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.js
@@ -0,0 +1,70 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-abstract-file",
+ props: {
+ contentText: { default: () => [] },
+ messageContent: { default: () => ({}) },
+ displayType: { default: "bubble" }
+ },
+ setup(__props) {
+ const props = __props;
+ const contentText = common_vendor.ref(props.contentText);
+ const typeIcon = common_vendor.computed(() => {
+ var _a;
+ const fileUrl = (_a = props == null ? void 0 : props.messageContent) == null ? void 0 : _a.url;
+ const index = fileUrl == null ? void 0 : fileUrl.lastIndexOf(".");
+ const type = fileUrl == null ? void 0 : fileUrl.substring(index + 1);
+ return handleFileIconForShow(type);
+ });
+ const fileSize = common_vendor.computed(() => {
+ var _a;
+ return (_a = props == null ? void 0 : props.messageContent) == null ? void 0 : _a.size;
+ });
+ const handleFileIconForShow = (type) => {
+ const urlBase = "https://web.sdk.qcloud.com/component/TUIKit/assets/file-";
+ const fileTypes = [
+ "image",
+ "pdf",
+ "text",
+ "ppt",
+ "presentation",
+ "sheet",
+ "zip",
+ "word",
+ "video",
+ "unknown"
+ ];
+ let url = "";
+ let iconType = "";
+ fileTypes == null ? void 0 : fileTypes.forEach((typeName) => {
+ if (type == null ? void 0 : type.includes(typeName)) {
+ url = urlBase + typeName + ".svg";
+ iconType = typeName;
+ }
+ });
+ return {
+ iconSrc: url ? url : urlBase + "unknown.svg",
+ iconType: iconType ? iconType : "unknown"
+ };
+ };
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.unref(typeIcon).iconSrc,
+ b: common_vendor.f(common_vendor.unref(contentText), (contentItem, index, i0) => {
+ return {
+ a: common_vendor.t(contentItem.text),
+ b: index,
+ c: common_vendor.n(contentItem && contentItem.isHighlight ? "highlight" : "normal")
+ };
+ }),
+ c: common_vendor.t(common_vendor.unref(fileSize)),
+ d: common_vendor.n(`message-abstract-file-${_ctx.displayType}`)
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e3774db0"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.wxml
new file mode 100644
index 0000000..c5899ab
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.wxml
@@ -0,0 +1 @@
+{{contentItem.a}} {{c}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.wxss
new file mode 100644
index 0000000..930a5ff
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-file.wxss
@@ -0,0 +1,134 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-e3774db0, div.data-v-e3774db0, ul.data-v-e3774db0, ol.data-v-e3774db0, dt.data-v-e3774db0, dd.data-v-e3774db0, li.data-v-e3774db0, dl.data-v-e3774db0, h1.data-v-e3774db0, h2.data-v-e3774db0, h3.data-v-e3774db0, h4.data-v-e3774db0, p.data-v-e3774db0 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-e3774db0, ul.data-v-e3774db0, li.data-v-e3774db0 {
+ list-style: none;
+}
+img.data-v-e3774db0 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-e3774db0 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-e3774db0 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-e3774db0 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-e3774db0:hover {
+ text-decoration: none;
+}
+input.data-v-e3774db0, textarea.data-v-e3774db0 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-e3774db0:focus, input.data-v-e3774db0:active, textarea.data-v-e3774db0:focus, textarea.data-v-e3774db0:active {
+ outline: none;
+}
+.chat-aside.data-v-e3774db0 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-abstract-file.data-v-e3774db0 {
+ display: flex;
+ flex: 1;
+ overflow: hidden;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+}
+.message-abstract-file-left.data-v-e3774db0 {
+ width: 42px;
+ height: 32px;
+}
+.message-abstract-file-left-icon.data-v-e3774db0 {
+ width: 32px;
+ height: 32px;
+ margin-right: 10px;
+ border-radius: 5px;
+}
+.message-abstract-file-main.data-v-e3774db0 {
+ flex: 1;
+ overflow: hidden;
+}
+.message-abstract-file-main-name.data-v-e3774db0 {
+ width: 100%;
+ color: #000;
+ font-size: 14px;
+ height: 20px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.message-abstract-file-main-name .highlight.data-v-e3774db0 {
+ background-color: #007aff33;
+}
+.message-abstract-file-main-name .normal.data-v-e3774db0 {
+ color: #000;
+}
+.message-abstract-file-main-size.data-v-e3774db0 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: #888;
+ font-size: 12px;
+}
+.message-abstract-file-bubble.data-v-e3774db0 {
+ background-color: #f1f1f1;
+}
+.message-abstract-file-bubble .message-abstract-file-main .message-abstract-file-main-name.data-v-e3774db0 {
+ color: #1f2329;
+}
+.message-abstract-file-bubble .message-abstract-file-main .message-abstract-file-main-name .normal.data-v-e3774db0 {
+ color: #1f2329;
+}
+.message-abstract-file-file.data-v-e3774db0 {
+ margin: 8px 10px 5px;
+ padding: 10px;
+ background-color: #f1f1f1;
+ height: 51px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.js
new file mode 100644
index 0000000..e93969a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.js
@@ -0,0 +1,21 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-abstract-image",
+ props: {
+ messageContent: { default: () => ({}) }
+ },
+ setup(__props) {
+ const props = __props;
+ const imageUrl = common_vendor.computed(() => props.messageContent.url || "");
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.unref(imageUrl)
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-9a7df6f1"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.wxml
new file mode 100644
index 0000000..ecae1eb
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.wxss
new file mode 100644
index 0000000..02a488c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-image.wxss
@@ -0,0 +1,90 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-9a7df6f1, div.data-v-9a7df6f1, ul.data-v-9a7df6f1, ol.data-v-9a7df6f1, dt.data-v-9a7df6f1, dd.data-v-9a7df6f1, li.data-v-9a7df6f1, dl.data-v-9a7df6f1, h1.data-v-9a7df6f1, h2.data-v-9a7df6f1, h3.data-v-9a7df6f1, h4.data-v-9a7df6f1, p.data-v-9a7df6f1 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-9a7df6f1, ul.data-v-9a7df6f1, li.data-v-9a7df6f1 {
+ list-style: none;
+}
+img.data-v-9a7df6f1 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-9a7df6f1 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-9a7df6f1 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-9a7df6f1 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-9a7df6f1:hover {
+ text-decoration: none;
+}
+input.data-v-9a7df6f1, textarea.data-v-9a7df6f1 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-9a7df6f1:focus, input.data-v-9a7df6f1:active, textarea.data-v-9a7df6f1:focus, textarea.data-v-9a7df6f1:active {
+ outline: none;
+}
+.chat-aside.data-v-9a7df6f1 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-abstract-image-container.data-v-9a7df6f1 {
+ max-width: 100px;
+ max-height: 100px;
+ width: 100px;
+ height: 100px;
+ overflow: hidden;
+ background-color: #fff;
+}
+.message-abstract-image-container .message-abstract-image.data-v-9a7df6f1 {
+ max-width: 100px;
+ max-height: 100px;
+ width: 100px;
+ height: 100px;
+ object-fit: contain;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.js
new file mode 100644
index 0000000..7e4e5bb
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.js
@@ -0,0 +1,32 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const TUIKit_components_TUIChat_emojiConfig_index = require("../../../../TUIChat/emoji-config/index.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-abstract-text",
+ props: {
+ content: { default: () => [] },
+ highlightType: { default: "font" },
+ displayType: { default: "info" }
+ },
+ setup(__props) {
+ const props = __props;
+ const contentText = common_vendor.ref(props.content);
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.f(common_vendor.unref(contentText), (contentItem, index, i0) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(TUIKit_components_TUIChat_emojiConfig_index.transformTextWithKeysToEmojiNames)(contentItem.text)),
+ b: index,
+ c: common_vendor.n(contentItem && contentItem.isHighlight ? "highlight" : "normal")
+ };
+ }),
+ b: common_vendor.n(`message-abstract-text-${_ctx.highlightType}`),
+ c: common_vendor.n(`message-abstract-text-${_ctx.displayType}`)
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-94825845"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.wxml
new file mode 100644
index 0000000..cb6f04b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.wxml
@@ -0,0 +1 @@
+{{contentItem.a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.wxss
new file mode 100644
index 0000000..20506cf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-text.wxss
@@ -0,0 +1,117 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-94825845, div.data-v-94825845, ul.data-v-94825845, ol.data-v-94825845, dt.data-v-94825845, dd.data-v-94825845, li.data-v-94825845, dl.data-v-94825845, h1.data-v-94825845, h2.data-v-94825845, h3.data-v-94825845, h4.data-v-94825845, p.data-v-94825845 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-94825845, ul.data-v-94825845, li.data-v-94825845 {
+ list-style: none;
+}
+img.data-v-94825845 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-94825845 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-94825845 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-94825845 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-94825845:hover {
+ text-decoration: none;
+}
+input.data-v-94825845, textarea.data-v-94825845 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-94825845:focus, input.data-v-94825845:active, textarea.data-v-94825845:focus, textarea.data-v-94825845:active {
+ outline: none;
+}
+.chat-aside.data-v-94825845 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-abstract-text.data-v-94825845 {
+ justify-content: flex-start;
+}
+.message-abstract-text-font.data-v-94825845 {
+ color: #999;
+}
+.message-abstract-text-font .highlight.data-v-94825845 {
+ color: #007aff;
+}
+.message-abstract-text-font .normal.data-v-94825845 {
+ color: #999;
+}
+.message-abstract-text-background.data-v-94825845 {
+ color: #1f2329;
+}
+.message-abstract-text-background .highlight.data-v-94825845 {
+ background-color: #007aff33;
+}
+.message-abstract-text-background .normal.data-v-94825845 {
+ font-size: 14px;
+}
+.message-abstract-text-info.data-v-94825845 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-size: 12px;
+}
+.message-abstract-text-info .highlight.data-v-94825845 {
+ font-size: 12px;
+}
+.message-abstract-text-info .normal.data-v-94825845 {
+ font-size: 12px;
+}
+.message-abstract-text-bubble.data-v-94825845 {
+ font-size: 14px;
+}
+.message-abstract-text-bubble .highlight.data-v-94825845 {
+ font-size: 14px;
+}
+.message-abstract-text-bubble .normal.data-v-94825845 {
+ font-size: 14px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.js
new file mode 100644
index 0000000..22ec02b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.js
@@ -0,0 +1,31 @@
+"use strict";
+const common_vendor = require("../../../../../../common/vendor.js");
+require("../../../../../adapter-vue.js");
+const common_assets = require("../../../../../../common/assets.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../../common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-abstract-video",
+ props: {
+ messageContent: { default: () => ({}) }
+ },
+ setup(__props) {
+ const props = __props;
+ const videoUrl = common_vendor.computed(() => {
+ return props.messageContent.snapshotUrl || props.messageContent.url;
+ });
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.unref(videoUrl),
+ b: common_vendor.p({
+ file: common_vendor.unref(common_assets.playIcon)
+ })
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-15182b71"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.json
new file mode 100644
index 0000000..4314133
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../../common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.wxml
new file mode 100644
index 0000000..6423f4b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.wxss
new file mode 100644
index 0000000..edf08e3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-item/message-abstract/message-abstract-video.wxss
@@ -0,0 +1,110 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-15182b71, div.data-v-15182b71, ul.data-v-15182b71, ol.data-v-15182b71, dt.data-v-15182b71, dd.data-v-15182b71, li.data-v-15182b71, dl.data-v-15182b71, h1.data-v-15182b71, h2.data-v-15182b71, h3.data-v-15182b71, h4.data-v-15182b71, p.data-v-15182b71 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-15182b71, ul.data-v-15182b71, li.data-v-15182b71 {
+ list-style: none;
+}
+img.data-v-15182b71 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-15182b71 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-15182b71 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-15182b71 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-15182b71:hover {
+ text-decoration: none;
+}
+input.data-v-15182b71, textarea.data-v-15182b71 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-15182b71:focus, input.data-v-15182b71:active, textarea.data-v-15182b71:focus, textarea.data-v-15182b71:active {
+ outline: none;
+}
+.chat-aside.data-v-15182b71 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.message-abstract-video.data-v-15182b71 {
+ max-width: 100px;
+ max-height: 100px;
+ width: 100px;
+ height: 100px;
+ overflow: hidden;
+ background-color: #fff;
+}
+.message-abstract-video-box.data-v-15182b71 {
+ max-width: 100px;
+ max-height: 100px;
+ width: 100px;
+ height: 100px;
+ overflow: hidden;
+ background-color: #fff;
+ position: relative;
+}
+.message-abstract-video-box .video-snapshot.data-v-15182b71 {
+ max-width: 100px;
+ max-height: 100px;
+ width: 100px;
+ height: 100px;
+ object-fit: contain;
+}
+.message-abstract-video-box .video-play.data-v-15182b71 {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ bottom: 0;
+ z-index: 3;
+ width: 35px;
+ height: 35px;
+ margin: auto;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.js
new file mode 100644
index 0000000..a59421d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.js
@@ -0,0 +1,24 @@
+"use strict";
+const common_vendor = require("../../../../../common/vendor.js");
+const TUIKit_utils_env = require("../../../../utils/env.js");
+if (!Math) {
+ Loading();
+}
+const Loading = () => "../../../common/Loading/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ setup(__props) {
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.p({
+ width: "40px",
+ height: "40px"
+ }),
+ b: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "search-result-loading-h5")
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-a295db57"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.json
new file mode 100644
index 0000000..470cb92
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "loading": "../../../common/Loading/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.wxml
new file mode 100644
index 0000000..d57163f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.wxss
new file mode 100644
index 0000000..2cb029f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-result/search-result-loading/index.wxss
@@ -0,0 +1,35 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.search-result-loading.data-v-a295db57 {
+ width: 100%;
+ flex: 1;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.search-result-loading-h5.data-v-a295db57 {
+ background-color: #f4f4f4;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-time-list.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-time-list.js
new file mode 100644
index 0000000..26f11d7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-time-list.js
@@ -0,0 +1,40 @@
+"use strict";
+const oneDay = 24 * 60 * 60;
+const searchMessageTimeList = {
+ all: {
+ key: "all",
+ label: "全部",
+ value: {
+ timePosition: 0,
+ timePeriod: 0
+ }
+ },
+ oneDay: {
+ key: "today",
+ label: "今天",
+ value: {
+ timePosition: 0,
+ timePeriod: oneDay
+ }
+ },
+ threeDay: {
+ key: "threeDays",
+ label: "近三天",
+ value: {
+ timePosition: 0,
+ timePeriod: 3 * oneDay
+ }
+ },
+ sevenDay: {
+ key: "sevenDays",
+ label: "近七天",
+ value: {
+ timePosition: 0,
+ timePeriod: 7 * oneDay
+ }
+ }
+};
+const searchMessageTimeDefault = searchMessageTimeList["all"];
+exports.searchMessageTimeDefault = searchMessageTimeDefault;
+exports.searchMessageTimeList = searchMessageTimeList;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-time-list.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-type-list.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-type-list.js
new file mode 100644
index 0000000..421d291
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/search-type-list.js
@@ -0,0 +1,73 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const allMessageTypeList = [
+ common_vendor.qt.TYPES.MSG_TEXT,
+ common_vendor.qt.TYPES.MSG_FILE,
+ common_vendor.qt.TYPES.MSG_IMAGE,
+ common_vendor.qt.TYPES.MSG_VIDEO,
+ common_vendor.qt.TYPES.MSG_AUDIO,
+ common_vendor.qt.TYPES.MSG_LOCATION,
+ common_vendor.qt.TYPES.MSG_CUSTOM,
+ common_vendor.qt.TYPES.MSG_MERGER
+];
+const searchMessageTypeList = {
+ allMessage: {
+ key: "allMessage",
+ label: "全部",
+ value: allMessageTypeList
+ },
+ textMessage: {
+ key: "textMessage",
+ label: "文本",
+ value: [common_vendor.qt.TYPES.MSG_TEXT]
+ },
+ fileMessage: {
+ key: "fileMessage",
+ label: "文件",
+ value: [common_vendor.qt.TYPES.MSG_FILE]
+ },
+ imageMessage: {
+ key: "imageMessage",
+ label: "图片/视频",
+ value: [common_vendor.qt.TYPES.MSG_IMAGE, common_vendor.qt.TYPES.MSG_VIDEO]
+ },
+ otherMessage: {
+ key: "otherMessage",
+ label: "其他",
+ value: [
+ common_vendor.qt.TYPES.MSG_AUDIO,
+ common_vendor.qt.TYPES.MSG_LOCATION,
+ common_vendor.qt.TYPES.MSG_CUSTOM,
+ common_vendor.qt.TYPES.MSG_MERGER
+ ]
+ }
+};
+Object.keys(searchMessageTypeList).filter(
+ (key) => key !== "all"
+);
+const searchInGlobalDefaultType = searchMessageTypeList["allMessage"];
+const searchInConversationDefaultType = searchMessageTypeList["textMessage"];
+const searchMessageTypeDefault = {
+ global: searchInGlobalDefaultType,
+ conversation: searchInConversationDefaultType
+};
+const globalSearchTypeKeys = ["allMessage", "textMessage", "fileMessage", "otherMessage"];
+const globalSearchTypeList = Object.keys(searchMessageTypeList).filter((key) => globalSearchTypeKeys == null ? void 0 : globalSearchTypeKeys.includes(key)).reduce((obj, key) => {
+ obj[key] = searchMessageTypeList[key];
+ return obj;
+}, {});
+const conversationSearchTypeKeys = [
+ "textMessage",
+ "fileMessage",
+ "imageMessage",
+ "otherMessage"
+];
+const conversationSearchTypeList = Object.keys(searchMessageTypeList).filter((key) => conversationSearchTypeKeys == null ? void 0 : conversationSearchTypeKeys.includes(key)).reduce((obj, key) => {
+ obj[key] = searchMessageTypeList[key];
+ return obj;
+}, {});
+exports.conversationSearchTypeList = conversationSearchTypeList;
+exports.globalSearchTypeList = globalSearchTypeList;
+exports.searchMessageTypeDefault = searchMessageTypeDefault;
+exports.searchMessageTypeList = searchMessageTypeList;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/search-type-list.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/server.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/server.js
new file mode 100644
index 0000000..b499ec6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/server.js
@@ -0,0 +1,62 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const TUIKit_utils_env = require("../../utils/env.js");
+class TUISearchServer {
+ constructor() {
+ common_vendor.R.registerService(common_vendor.E.TUISearch.SERVICE.NAME, this);
+ common_vendor.R.registerExtension(common_vendor.E.TUIChat.EXTENSION.INPUT_MORE.EXT_ID, this);
+ }
+ onCall(method, params) {
+ switch (method) {
+ case common_vendor.E.TUISearch.SERVICE.METHOD.SEARCH_GROUP:
+ return this.searchGroup(params == null ? void 0 : params.groupID);
+ case common_vendor.E.TUISearch.SERVICE.METHOD.SEARCH_USER:
+ return this.searchUser(params == null ? void 0 : params.userID);
+ case common_vendor.E.TUISearch.SERVICE.METHOD.SEARCH_FRIEND:
+ return this.searchFriend(params == null ? void 0 : params.userID);
+ case common_vendor.E.TUISearch.SERVICE.METHOD.SEARCH_GROUP_MEMBER:
+ return this.searchGroupMember(params == null ? void 0 : params.groupID, params == null ? void 0 : params.userID);
+ }
+ }
+ onGetExtension(extensionID) {
+ if (extensionID === common_vendor.E.TUIChat.EXTENSION.INPUT_MORE.EXT_ID) {
+ const list = [];
+ const searchExtension = {
+ weight: 3e3,
+ text: "搜索",
+ icon: "https://web.sdk.qcloud.com/component/TUIKit/assets/message-search.svg",
+ data: {
+ name: "search"
+ },
+ listener: {
+ onClicked: () => {
+ var _a;
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "isShowInConversationSearch", true);
+ TUIKit_utils_env.isUniFrameWork && ((_a = common_vendor.i) == null ? void 0 : _a.navigateTo({
+ url: "/TUIKit/components/TUISearch/index"
+ }));
+ }
+ }
+ };
+ list.push(searchExtension);
+ return list;
+ }
+ }
+ async searchFriend(userID) {
+ return common_vendor.ts.getFriendProfile({ userIDList: [userID] });
+ }
+ async searchUser(userID) {
+ return common_vendor.Zt.getUserProfile({ userIDList: [userID] });
+ }
+ async searchGroup(groupID) {
+ return common_vendor.es.searchGroupByID(groupID);
+ }
+ async searchGroupMember(groupID, userID) {
+ return common_vendor.es.getGroupMemberProfile({
+ groupID,
+ userIDList: [userID]
+ });
+ }
+}
+exports.TUISearchServer = TUISearchServer;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/server.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/type.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/type.js
new file mode 100644
index 0000000..ef6a05d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/type.js
@@ -0,0 +1,15 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const messageTypeAbstractMap = {
+ [common_vendor.qt.TYPES.MSG_TEXT]: "[文本]",
+ [common_vendor.qt.TYPES.MSG_IMAGE]: "[图片]",
+ [common_vendor.qt.TYPES.MSG_AUDIO]: "[语音]",
+ [common_vendor.qt.TYPES.MSG_VIDEO]: "[视频]",
+ [common_vendor.qt.TYPES.MSG_FILE]: "[文件]",
+ [common_vendor.qt.TYPES.MSG_CUSTOM]: "[自定义消息]",
+ [common_vendor.qt.TYPES.MSG_SYSTEM]: "[系统消息]",
+ [common_vendor.qt.TYPES.MSG_MERGER]: "[合并消息]",
+ [common_vendor.qt.TYPES.MSG_LOCATION]: "[位置消息]"
+};
+exports.messageTypeAbstractMap = messageTypeAbstractMap;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/type.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/utils.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/utils.js
new file mode 100644
index 0000000..b06836e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/TUISearch/utils.js
@@ -0,0 +1,235 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const TUIKit_components_TUISearch_searchTypeList = require("./search-type-list.js");
+const TUIKit_components_common_Toast_index = require("../common/Toast/index.js");
+const TUIKit_components_TUISearch_type = require("./type.js");
+const TUIKit_utils_env = require("../../utils/env.js");
+const TUIKit_components_common_Toast_type = require("../common/Toast/type.js");
+const searchCloudMessages = (params) => {
+ return common_vendor.Qt.searchCloudMessages(params).then((imResponse) => {
+ return imResponse;
+ }).catch((error) => {
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUISearch.消息云端搜索失败:") + (error == null ? void 0 : error.message),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR,
+ duration: 3e3
+ });
+ return null;
+ });
+};
+const enterConversation = (item) => {
+ const conversationID = (item == null ? void 0 : item.conversationID) || ((item == null ? void 0 : item.groupID) ? `GROUP${item == null ? void 0 : item.groupID}` : `C2C${item == null ? void 0 : item.userID}`);
+ common_vendor.Xt.switchConversation(conversationID).then(() => {
+ var _a;
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchingStatus", {
+ isSearching: false,
+ searchType: "global"
+ });
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchInputValue", {
+ value: "",
+ searchType: "global"
+ });
+ TUIKit_utils_env.isUniFrameWork && ((_a = common_vendor.i) == null ? void 0 : _a.navigateTo({
+ url: "/TUIKit/components/TUIChat/index"
+ }));
+ }).catch((error) => {
+ common_vendor.index.__f__("warn", "at TUIKit/components/TUISearch/utils.ts:110", "switch conversation failed:", error == null ? void 0 : error.message);
+ TUIKit_components_common_Toast_index.Toast({
+ message: common_vendor.Wt.t("TUISearch.进入会话失败"),
+ type: TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR,
+ duration: 1e3
+ });
+ });
+};
+const generateSearchResultShowName = (result, resultContent) => {
+ var _a, _b, _c;
+ if (!result) {
+ return "";
+ }
+ if (result.ID) {
+ return resultContent == null ? void 0 : resultContent.showName;
+ }
+ if (result.groupID) {
+ return result.name || result.groupID;
+ }
+ if (result.userID) {
+ return result.remark || result.nick || result.userID || "";
+ }
+ if ((_a = result.conversation) == null ? void 0 : _a.conversationID) {
+ if (typeof result.conversation.getShowName === "function") {
+ return result.conversation.getShowName();
+ } else {
+ return ((_c = (_b = common_vendor.Jt.getConversationModel(result.conversation.conversationID)) == null ? void 0 : _b.getShowName) == null ? void 0 : _c.call(_b)) || result.conversation.conversationID;
+ }
+ }
+ return "";
+};
+const generateSearchResultAvatar = (result) => {
+ var _a, _b, _c, _d;
+ if (!result) {
+ return "";
+ }
+ if (result.ID) {
+ return result.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png";
+ }
+ if (result.groupID) {
+ return result.avatar || `https://web.sdk.qcloud.com/im/assets/images/${result == null ? void 0 : result.type}.svg`;
+ }
+ if (result.userID) {
+ return result.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png";
+ }
+ if ((_a = result == null ? void 0 : result.conversation) == null ? void 0 : _a.conversationID) {
+ if (typeof result.conversation.getAvatar === "function") {
+ return (_b = result.conversation) == null ? void 0 : _b.getAvatar();
+ } else {
+ return (_d = (_c = common_vendor.Jt.getConversationModel(result.conversation.conversationID)) == null ? void 0 : _c.getAvatar) == null ? void 0 : _d.call(_c);
+ }
+ }
+ return "";
+};
+const generateSearchResultShowContent = (result, resultType, keywordList, isTypeShow = true) => {
+ var _a, _b, _c, _d;
+ if (result == null ? void 0 : result.groupID) {
+ return [
+ { text: "groupID: ", isHighlight: false },
+ { text: result.groupID, isHighlight: true }
+ ];
+ }
+ if (result == null ? void 0 : result.userID) {
+ return [
+ { text: "userID: ", isHighlight: false },
+ { text: result.userID, isHighlight: true }
+ ];
+ }
+ if ((result == null ? void 0 : result.conversation) || (result == null ? void 0 : result.flow)) {
+ if ((result == null ? void 0 : result.messageCount) === 1 || (result == null ? void 0 : result.flow)) {
+ const message = (result == null ? void 0 : result.flow) ? result : result == null ? void 0 : result.messageList[0];
+ const text = ((_a = message == null ? void 0 : message.payload) == null ? void 0 : _a.text) || ((_b = message == null ? void 0 : message.payload) == null ? void 0 : _b.fileName) || ((_c = message == null ? void 0 : message.payload) == null ? void 0 : _c.description);
+ const abstract = [];
+ if ((message == null ? void 0 : message.type) && isTypeShow && message.type !== common_vendor.qt.TYPES.MSG_TEXT) {
+ abstract.push({
+ text: common_vendor.Wt.t(`TUISearch.${TUIKit_components_TUISearch_type.messageTypeAbstractMap[message.type]}`),
+ isHighlight: false
+ });
+ }
+ abstract.push(...generateMessageContentHighlight(text, keywordList));
+ return abstract;
+ } else {
+ return [
+ {
+ text: `${result == null ? void 0 : result.messageCount}${common_vendor.Wt.t(
+ "TUISearch.条相关"
+ )}${common_vendor.Wt.t(
+ `TUISearch.${resultType === "allMessage" ? "结果" : (_d = TUIKit_components_TUISearch_searchTypeList.searchMessageTypeList[resultType]) == null ? void 0 : _d.label}`
+ )}`,
+ isHighlight: false
+ }
+ ];
+ }
+ }
+ return [];
+};
+const generateMessageContentHighlight = (content, keywordList) => {
+ var _a;
+ if (!content || !keywordList || !keywordList.length) {
+ return [{ text: content || "", isHighlight: false }];
+ }
+ const matches = [];
+ for (let i = 0; i < keywordList.length; i++) {
+ const substring = (_a = keywordList[i]) == null ? void 0 : _a.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
+ const regex = new RegExp(substring, "gi");
+ let match;
+ while ((match = regex.exec(content)) !== null) {
+ const start2 = match.index;
+ const end = match.index + match[0].length - 1;
+ matches.push([start2, end]);
+ }
+ }
+ const mergedRanges = [matches[0]];
+ if (matches.length > 1) {
+ matches.sort((a, b) => a[0] - b[0]);
+ for (let i = 1; i < matches.length; i++) {
+ const currentRange = matches[i];
+ const lastMergedRange = mergedRanges[mergedRanges.length - 1];
+ if (currentRange[0] - 1 <= lastMergedRange[1]) {
+ lastMergedRange[1] = Math.max(lastMergedRange[1], currentRange[1]);
+ } else {
+ mergedRanges.push(currentRange);
+ }
+ }
+ }
+ if (!mergedRanges[0]) {
+ return [{ text: content, isHighlight: false }];
+ }
+ const contentArray = [];
+ let start = 0;
+ for (let i = 0; i < mergedRanges.length; i++) {
+ const str1 = content.substring(start, mergedRanges[i][0]);
+ str1 && contentArray.push({ text: str1, isHighlight: false });
+ const str2 = content.substring(mergedRanges[i][0], mergedRanges[i][1] + 1);
+ str2 && contentArray.push({ text: str2, isHighlight: true });
+ start = mergedRanges[i][1] + 1;
+ }
+ const lastStr = content.substring(start);
+ lastStr && contentArray.push({ text: lastStr, isHighlight: false });
+ return contentArray;
+};
+const generateSearchResultTime = (timestamp) => {
+ const todayZero = (/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0);
+ const thisYear = new Date((/* @__PURE__ */ new Date()).getFullYear(), 0, 1, 0, 0, 0, 0).getTime();
+ const target = new Date(timestamp);
+ const oneDay = 24 * 60 * 60 * 1e3;
+ const oneWeek = 7 * oneDay;
+ const diff = todayZero - target.getTime();
+ function formatNum(num) {
+ return num < 10 ? "0" + num : num.toString();
+ }
+ if (diff <= 0) {
+ return `${formatNum(target.getHours())}:${formatNum(target.getMinutes())}`;
+ } else if (diff <= oneDay) {
+ return `${common_vendor.Wt.t("time.昨天")} ${formatNum(target.getHours())}:${formatNum(
+ target.getMinutes()
+ )}`;
+ } else if (diff <= oneWeek - oneDay) {
+ const weekdays = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
+ const weekday = weekdays[target.getDay()];
+ return `${common_vendor.Wt.t("time." + weekday)} ${formatNum(target.getHours())}:${formatNum(
+ target.getMinutes()
+ )}`;
+ } else if (target.getTime() >= thisYear) {
+ return `${target.getMonth() + 1}/${target.getDate()} ${formatNum(
+ target.getHours()
+ )}:${formatNum(target.getMinutes())}`;
+ } else {
+ return `${target.getFullYear()}/${target.getMonth() + 1}/${target.getDate()} ${formatNum(
+ target.getHours()
+ )}:${formatNum(target.getMinutes())}`;
+ }
+};
+const generateSearchResultYMD = (timestamp) => {
+ const date = new Date(timestamp * 1e3);
+ const year = date.getFullYear();
+ const month = ("0" + (date.getMonth() + 1)).slice(-2);
+ const day = ("0" + date.getDate()).slice(-2);
+ return `${year}-${month}-${day}`;
+};
+const debounce = (func, waitFor) => {
+ let timeout = null;
+ const debounced = (...args) => {
+ if (timeout !== null) {
+ clearTimeout(timeout);
+ timeout = null;
+ }
+ timeout = setTimeout(() => func(...args), waitFor);
+ };
+ return debounced;
+};
+exports.debounce = debounce;
+exports.enterConversation = enterConversation;
+exports.generateSearchResultAvatar = generateSearchResultAvatar;
+exports.generateSearchResultShowContent = generateSearchResultShowContent;
+exports.generateSearchResultShowName = generateSearchResultShowName;
+exports.generateSearchResultTime = generateSearchResultTime;
+exports.generateSearchResultYMD = generateSearchResultYMD;
+exports.searchCloudMessages = searchCloudMessages;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/TUISearch/utils.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.js
new file mode 100644
index 0000000..f38b2c4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.js
@@ -0,0 +1,75 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ url: { default: "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png" },
+ size: { default: "36px" },
+ borderRadius: { default: "5px" },
+ useSkeletonAnimation: { type: Boolean, default: false }
+ },
+ emits: ["onLoad", "onError"],
+ setup(__props, { emit: __emit }) {
+ const defaultAvatarUrl = common_vendor.ref("https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png");
+ const emits = __emit;
+ const props = __props;
+ const {
+ size: avatarSize,
+ url: avatarImageUrl,
+ borderRadius: avatarBorderRadius,
+ useSkeletonAnimation: useAvatarSkeletonAnimation
+ } = common_vendor.toRefs(props);
+ let reloadAvatarTime = 0;
+ const isImgLoaded = common_vendor.ref(false);
+ const loadErrorInUniapp = common_vendor.ref(false);
+ function avatarLoadSuccess(e) {
+ isImgLoaded.value = true;
+ emits("onLoad", e);
+ }
+ function avatarLoadFailed(e) {
+ reloadAvatarTime += 1;
+ if (reloadAvatarTime > 3) {
+ return;
+ }
+ if (TUIKit_utils_env.isUniFrameWork) {
+ loadErrorInUniapp.value = true;
+ } else {
+ e.currentTarget.src = defaultAvatarUrl.value;
+ }
+ emits("onError", e);
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? common_vendor.e({
+ b: !common_vendor.unref(loadErrorInUniapp)
+ }, !common_vendor.unref(loadErrorInUniapp) ? {
+ c: common_vendor.unref(avatarImageUrl) || common_vendor.unref(defaultAvatarUrl),
+ d: common_vendor.o$1(avatarLoadSuccess),
+ e: common_vendor.o$1(avatarLoadFailed)
+ } : {
+ f: common_vendor.unref(defaultAvatarUrl),
+ g: common_vendor.o$1(avatarLoadSuccess),
+ h: common_vendor.o$1(avatarLoadFailed)
+ }) : {
+ i: common_vendor.unref(avatarImageUrl) || common_vendor.unref(defaultAvatarUrl),
+ j: common_vendor.o$1(avatarLoadSuccess),
+ k: common_vendor.o$1(avatarLoadFailed)
+ }, {
+ l: common_vendor.unref(useAvatarSkeletonAnimation) && !common_vendor.unref(isImgLoaded)
+ }, common_vendor.unref(useAvatarSkeletonAnimation) && !common_vendor.unref(isImgLoaded) ? {
+ m: common_vendor.unref(isImgLoaded) ? 1 : "",
+ n: common_vendor.unref(useAvatarSkeletonAnimation) ? 1 : ""
+ } : {}, {
+ o: common_vendor.unref(avatarSize),
+ p: common_vendor.unref(avatarSize),
+ q: common_vendor.unref(avatarBorderRadius)
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c7c42418"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/Avatar/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.wxml
new file mode 100644
index 0000000..94edd4b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.wxss
new file mode 100644
index 0000000..4aebc52
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Avatar/index.wxss
@@ -0,0 +1,63 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-c7c42418:not(not) {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-width: 0;
+}
+.avatar-container.data-v-c7c42418 {
+ position: relative;
+ justify-content: center;
+ align-items: center;
+ overflow: hidden;
+ flex: 0 0 auto;
+}
+.avatar-container .placeholder.data-v-c7c42418 {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: #ececec;
+ transition: opacity 0.3s, background-color 0.1s ease-out;
+}
+.avatar-container .placeholder.skeleton-animation.data-v-c7c42418 {
+ animation: breath-c7c42418 2s linear 0.3s infinite;
+}
+.avatar-container .placeholder.hidden.data-v-c7c42418 {
+ opacity: 0;
+}
+.avatar-container .avatar-image.data-v-c7c42418 {
+ width: 100%;
+ height: 100%;
+}
+@keyframes breath-c7c42418 {
+50% {
+ /* stylelint-disable-next-line scss/no-global-function-names */
+ background-color: lightgray;
+}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.js
new file mode 100644
index 0000000..24fe05f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.js
@@ -0,0 +1,132 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ // Whether to display the bottom pop-up dialog box
+ show: {
+ type: Boolean,
+ default: false
+ },
+ // Whether a mask layer is required, the default is true
+ modal: {
+ type: Boolean,
+ default: true
+ },
+ // Popup box content area height (excluding mask), default is fit-content
+ height: {
+ type: String,
+ default: "fit-content"
+ },
+ // Whether the pop-up dialog box can be closed by clicking outside, the default is true
+ // uniapp only supports closing the pop-up dialog box by clicking the mask
+ closeByClickOutside: {
+ type: Boolean,
+ default: true
+ },
+ // The rounded angle of the top border corners is 0px by default, i.e. right angle by default
+ borderRadius: {
+ type: String,
+ default: "0px"
+ },
+ title: {
+ type: String,
+ default: ""
+ },
+ // Whether to display the top close button, not displayed by default
+ showHeaderCloseButton: {
+ type: Boolean,
+ default: false
+ },
+ // Whether to display the submit button at the bottom, not displayed by default
+ showFooterSubmitButton: {
+ type: Boolean,
+ default: false
+ },
+ // Bottom submit button text, only valid when showFooterSubmitButton is true
+ submitButtonContent: {
+ type: String,
+ default: () => common_vendor.Wt.t("确定")
+ }
+ },
+ emits: ["onOpen", "onClose", "onSubmit"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const emits = __emit;
+ const dialogRef = common_vendor.ref();
+ common_vendor.watch(
+ () => props.show,
+ (newVal, oldVal) => {
+ if (newVal === oldVal) {
+ return;
+ }
+ switch (newVal) {
+ case true:
+ emits("onOpen", dialogRef);
+ common_vendor.nextTick$1(() => {
+ if (TUIKit_utils_env.isH5 && !TUIKit_utils_env.isUniFrameWork) {
+ if (props.closeByClickOutside) {
+ common_vendor.O.listen({
+ domRefs: dialogRef.value,
+ handler: closeBottomPopup
+ });
+ }
+ }
+ });
+ break;
+ case false:
+ emits("onClose", dialogRef);
+ break;
+ }
+ }
+ );
+ const closeBottomPopup = () => {
+ if (TUIKit_utils_env.isUniFrameWork || TUIKit_utils_env.isH5) {
+ emits("onClose", dialogRef);
+ }
+ };
+ const submit = () => {
+ emits("onSubmit");
+ closeBottomPopup();
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.show
+ }, props.show ? common_vendor.e({
+ b: !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) ? common_vendor.e({
+ c: __props.title || __props.showHeaderCloseButton
+ }, __props.title || __props.showHeaderCloseButton ? common_vendor.e({
+ d: __props.title
+ }, __props.title ? {
+ e: common_vendor.t(__props.title)
+ } : {}, {
+ f: __props.showHeaderCloseButton
+ }, __props.showHeaderCloseButton ? {
+ g: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("关闭")),
+ h: common_vendor.o$1(closeBottomPopup)
+ } : {}) : {}, {
+ i: __props.showFooterSubmitButton
+ }, __props.showFooterSubmitButton ? {
+ j: common_vendor.t(__props.submitButtonContent),
+ k: common_vendor.o$1(submit)
+ } : {}, {
+ l: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "bottom-popup-h5-main"),
+ m: props.height,
+ n: props.borderRadius,
+ o: props.borderRadius,
+ p: common_vendor.o$1(() => {
+ }),
+ q: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "bottom-popup-h5"),
+ r: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && props.modal && "bottom-popup-modal"),
+ s: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && "bottom-popup-uni"),
+ t: common_vendor.o$1(closeBottomPopup)
+ }) : {}) : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-6d2e47d7"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/BottomPopup/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.wxml
new file mode 100644
index 0000000..467847e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.wxss
new file mode 100644
index 0000000..e6ddf1b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/BottomPopup/index.wxss
@@ -0,0 +1,133 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-6d2e47d7, div.data-v-6d2e47d7, ul.data-v-6d2e47d7, ol.data-v-6d2e47d7, dt.data-v-6d2e47d7, dd.data-v-6d2e47d7, li.data-v-6d2e47d7, dl.data-v-6d2e47d7, h1.data-v-6d2e47d7, h2.data-v-6d2e47d7, h3.data-v-6d2e47d7, h4.data-v-6d2e47d7, p.data-v-6d2e47d7 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-6d2e47d7, ul.data-v-6d2e47d7, li.data-v-6d2e47d7 {
+ list-style: none;
+}
+img.data-v-6d2e47d7 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-6d2e47d7 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-6d2e47d7 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-6d2e47d7 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-6d2e47d7:hover {
+ text-decoration: none;
+}
+input.data-v-6d2e47d7, textarea.data-v-6d2e47d7 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-6d2e47d7:focus, input.data-v-6d2e47d7:active, textarea.data-v-6d2e47d7:focus, textarea.data-v-6d2e47d7:active {
+ outline: none;
+}
+.chat-aside.data-v-6d2e47d7 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.bottom-popup-h5.data-v-6d2e47d7 {
+ width: 100%;
+ height: 100%;
+ position: fixed;
+ left: 0;
+ top: 0;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-end;
+ align-items: stretch;
+ margin: 0;
+ padding: 0;
+ z-index: 10;
+ border-radius: 5px 5px 0 0;
+}
+.bottom-popup-h5-main.data-v-6d2e47d7 {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: stretch;
+ height: -webkit-fit-content;
+ height: fit-content;
+ background-color: #fff;
+}
+.bottom-popup-h5-main .header.data-v-6d2e47d7 {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ padding: 20px;
+ font-size: 16px;
+}
+.bottom-popup-h5-main .header .header-close.data-v-6d2e47d7 {
+ font-family: PingFangSC-Regular;
+ font-weight: 400;
+ color: #006eff;
+ font-size: 18px;
+}
+.bottom-popup-h5-main .footer.data-v-6d2e47d7 {
+ padding: 20px;
+}
+.bottom-popup-h5-main .footer .footer-submit.data-v-6d2e47d7 {
+ color: #fff;
+ padding: 12px 0;
+ width: 100%;
+ background: #006eff;
+ text-align: center;
+ border-radius: 5px;
+ font-size: 16px;
+}
+.bottom-popup-uni.data-v-6d2e47d7 {
+ padding-bottom: var(--window-bottom);
+ width: 100vw;
+ height: 100vh;
+}
+.bottom-popup-modal.data-v-6d2e47d7 {
+ background: rgba(0, 0, 0, 0.5);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.js
new file mode 100644
index 0000000..8d6c848
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.js
@@ -0,0 +1,218 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ (Icon + DateTable)();
+}
+const DateTable = () => "./date-table.js";
+const Icon = () => "../Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "date-picker-panel",
+ props: {
+ type: {
+ type: String,
+ default: "range"
+ // "single"/"range"
+ },
+ // Unique attribute when type is single
+ date: {
+ type: common_vendor.dayjs_minExports.Dayjs,
+ default: () => common_vendor.dayjs()
+ },
+ // Unique attribute when type is range
+ startDate: {
+ type: common_vendor.dayjs_minExports.Dayjs,
+ default: null
+ },
+ endDate: {
+ type: common_vendor.dayjs_minExports.Dayjs,
+ default: null
+ },
+ rangeType: {
+ type: String,
+ default: ""
+ // "left"/"right"
+ },
+ currentOtherPanelValue: {
+ type: common_vendor.dayjs_minExports.Dayjs,
+ default: null
+ }
+ },
+ emits: ["pick", "change"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const emit = __emit;
+ const n = (className) => {
+ return className ? [
+ "tui-date-picker-panel-" + className,
+ !TUIKit_utils_env.isPC && "tui-date-picker-panel-h5-" + className
+ ] : ["tui-date-picker-panel", !TUIKit_utils_env.isPC && "tui-date-picker-panel-h5"];
+ };
+ const currentPanelDate = common_vendor.ref();
+ const year = common_vendor.computed(() => {
+ var _a;
+ return (_a = currentPanelDate.value) == null ? void 0 : _a.get("year");
+ });
+ const month = common_vendor.computed(() => {
+ var _a;
+ return (_a = currentPanelDate.value) == null ? void 0 : _a.format("MMMM");
+ });
+ const canYearMore = common_vendor.computed(() => {
+ var _a, _b, _c;
+ const prevYearNumber = ((_a = props.currentOtherPanelValue) == null ? void 0 : _a.year()) - 1;
+ const prevYear = (_b = props.currentOtherPanelValue) == null ? void 0 : _b.year(prevYearNumber);
+ return props.rangeType === "right" || ((_c = currentPanelDate.value) == null ? void 0 : _c.isBefore(prevYear, "year"));
+ });
+ const canMonthMore = common_vendor.computed(() => {
+ var _a, _b, _c;
+ const prevMonthNumber = ((_a = props.currentOtherPanelValue) == null ? void 0 : _a.month()) - 1;
+ const prevMonth = (_b = props.currentOtherPanelValue) == null ? void 0 : _b.month(prevMonthNumber);
+ return props.rangeType === "right" || ((_c = currentPanelDate.value) == null ? void 0 : _c.isBefore(prevMonth, "month"));
+ });
+ const canYearLess = common_vendor.computed(() => {
+ var _a, _b, _c;
+ const nextYearNumber = ((_a = props.currentOtherPanelValue) == null ? void 0 : _a.year()) + 1;
+ const nextYear = (_b = props.currentOtherPanelValue) == null ? void 0 : _b.year(nextYearNumber);
+ return props.rangeType === "left" || ((_c = currentPanelDate.value) == null ? void 0 : _c.isAfter(nextYear, "year"));
+ });
+ const canMonthLess = common_vendor.computed(() => {
+ var _a, _b, _c;
+ const nextMonthNumber = ((_a = props.currentOtherPanelValue) == null ? void 0 : _a.month()) + 1;
+ const nextMonth = (_b = props.currentOtherPanelValue) == null ? void 0 : _b.month(nextMonthNumber);
+ return props.rangeType === "left" || ((_c = currentPanelDate.value) == null ? void 0 : _c.isAfter(nextMonth, "month"));
+ });
+ const handleSingleDate = () => {
+ var _a;
+ if (props.date && ((_a = common_vendor.dayjs(props.date)) == null ? void 0 : _a.isValid())) {
+ return {
+ date: props == null ? void 0 : props.date
+ };
+ }
+ return {
+ date: common_vendor.dayjs()
+ };
+ };
+ const handleRangeDate = () => {
+ var _a;
+ switch (props.rangeType) {
+ case "left":
+ if (props.startDate && common_vendor.dayjs.isDayjs(props.startDate)) {
+ return {
+ date: props == null ? void 0 : props.startDate
+ };
+ } else {
+ return {
+ date: common_vendor.dayjs()
+ };
+ }
+ case "right":
+ if (props.endDate && common_vendor.dayjs.isDayjs(props.endDate) && ((_a = props == null ? void 0 : props.endDate) == null ? void 0 : _a.isAfter(props.startDate, "month"))) {
+ return {
+ date: props == null ? void 0 : props.endDate
+ };
+ } else {
+ const _month = (props.startDate || common_vendor.dayjs()).month();
+ return {
+ date: (props.startDate || common_vendor.dayjs()).month(_month + 1)
+ };
+ }
+ default:
+ return {
+ date: common_vendor.dayjs()
+ };
+ }
+ };
+ function handlePick(cell) {
+ emit("pick", cell);
+ }
+ function change(type, num) {
+ currentPanelDate.value = common_vendor.dayjs(currentPanelDate.value.toDate()).add(
+ num,
+ type
+ );
+ emit("change", currentPanelDate.value);
+ }
+ common_vendor.onBeforeMount(() => {
+ switch (props.type) {
+ case "single":
+ currentPanelDate.value = handleSingleDate().date;
+ emit("change", currentPanelDate.value);
+ break;
+ case "range":
+ currentPanelDate.value = handleRangeDate().date;
+ emit("change", currentPanelDate.value);
+ break;
+ }
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(canYearLess)
+ }, common_vendor.unref(canYearLess) ? {
+ b: common_vendor.p({
+ file: common_vendor.unref(common_assets.dLeftArrowIcon),
+ width: "12px",
+ height: "12px"
+ }),
+ c: common_vendor.n(n("icon")),
+ d: common_vendor.o$1(($event) => change("year", -1))
+ } : {}, {
+ e: common_vendor.unref(canMonthLess)
+ }, common_vendor.unref(canMonthLess) ? {
+ f: common_vendor.p({
+ file: common_vendor.unref(common_assets.leftArrowIcon),
+ width: "10px",
+ height: "10px"
+ }),
+ g: common_vendor.n(n("icon")),
+ h: common_vendor.o$1(($event) => change("month", -1))
+ } : {}, {
+ i: common_vendor.n(n("body-header-prev")),
+ j: common_vendor.t(common_vendor.unref(year)),
+ k: common_vendor.n(n("body-header-label-item")),
+ l: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`time.${common_vendor.unref(month)}`)),
+ m: common_vendor.n(n("body-header-label-item")),
+ n: common_vendor.n(n("body-header-label")),
+ o: common_vendor.unref(canMonthMore)
+ }, common_vendor.unref(canMonthMore) ? {
+ p: common_vendor.p({
+ file: common_vendor.unref(common_assets.rightArrowIcon),
+ width: "10px",
+ height: "10px"
+ }),
+ q: common_vendor.n(n("icon")),
+ r: common_vendor.o$1(($event) => change("month", 1))
+ } : {}, {
+ s: common_vendor.unref(canYearMore)
+ }, common_vendor.unref(canYearMore) ? {
+ t: common_vendor.p({
+ file: common_vendor.unref(common_assets.dRightArrowIcon),
+ width: "12px",
+ height: "12px"
+ }),
+ v: common_vendor.n(n("icon")),
+ w: common_vendor.o$1(($event) => change("year", 1))
+ } : {}, {
+ x: common_vendor.n(n("body-header-next")),
+ y: common_vendor.n(n("body-header")),
+ z: common_vendor.o$1(handlePick),
+ A: common_vendor.p({
+ type: props.type,
+ date: props.date,
+ startDate: props.startDate,
+ endDate: props.endDate,
+ currentPanelDate: common_vendor.unref(currentPanelDate)
+ }),
+ B: common_vendor.n(n("body-content")),
+ C: common_vendor.n(n("body")),
+ D: common_vendor.n(n("")),
+ E: common_vendor.o$1(() => {
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-389108a1"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.json
new file mode 100644
index 0000000..18f71ea
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "date-table": "./date-table",
+ "icon": "../Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.wxml
new file mode 100644
index 0000000..25930ef
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.wxml
@@ -0,0 +1 @@
+{{j}} {{l}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.wxss
new file mode 100644
index 0000000..b2c6df4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.wxss
@@ -0,0 +1,75 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-date-picker-panel.data-v-389108a1 {
+ width: 200px;
+ margin: 5px;
+}
+.tui-date-picker-panel-body.data-v-389108a1 {
+ width: 200px;
+ display: flex;
+ flex-direction: column;
+}
+.tui-date-picker-panel-body-header.data-v-389108a1 {
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ height: 30px;
+ padding: 0 5px;
+ box-sizing: border-box;
+}
+.tui-date-picker-panel-body-header-prev.data-v-389108a1 {
+ display: flex;
+ flex-direction: row;
+ cursor: pointer;
+ width: 24px;
+}
+.tui-date-picker-panel-body-header-label.data-v-389108a1 {
+ flex: 1;
+ display: flex;
+ flex-direction: row;
+ text-align: center;
+ align-items: center;
+ justify-content: center;
+ -webkit-user-select: none;
+ user-select: none;
+ color: #666;
+}
+.tui-date-picker-panel-body-header-label-item.data-v-389108a1 {
+ padding: 0 5px;
+ color: #666;
+}
+.tui-date-picker-panel-body-header-next.data-v-389108a1 {
+ display: flex;
+ flex-direction: row;
+ cursor: pointer;
+ width: 24px;
+}
+.tui-date-picker-panel-icon.data-v-389108a1 {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 12px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.js
new file mode 100644
index 0000000..124f560
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.js
@@ -0,0 +1,147 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "date-table",
+ props: {
+ type: {
+ type: String,
+ default: "range"
+ // "single"/"range"
+ },
+ currentPanelDate: {
+ type: common_vendor.dayjs_minExports.Dayjs,
+ default: () => common_vendor.dayjs()
+ },
+ // Unique attribute when type is single
+ date: {
+ type: common_vendor.dayjs_minExports.Dayjs,
+ default: null
+ },
+ // Unique attribute when type is range
+ startDate: {
+ type: common_vendor.dayjs_minExports.Dayjs,
+ default: null
+ },
+ endDate: {
+ type: common_vendor.dayjs_minExports.Dayjs,
+ default: null
+ }
+ },
+ emits: ["pick"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const emit = __emit;
+ const instance = common_vendor.getCurrentInstance();
+ const tableRows = common_vendor.ref([[], [], [], [], [], []]);
+ const currentPanelDateObject = common_vendor.ref(
+ common_vendor.dayjs(props.currentPanelDate || null)
+ );
+ const dateObject = common_vendor.ref(common_vendor.dayjs(props.date || null));
+ const startDateObject = common_vendor.ref(common_vendor.dayjs(props.startDate || null));
+ const endDateObject = common_vendor.ref(common_vendor.dayjs(props.endDate || null));
+ const WEEKS_CONSTANT = common_vendor.computed(() => {
+ return common_vendor.dayjs.weekdaysShort();
+ });
+ const WEEKS = common_vendor.computed(
+ () => WEEKS_CONSTANT.value.map((w) => w.substring(1))
+ );
+ const startDateOnTable = common_vendor.computed(() => {
+ var _a;
+ const startDayOfMonth = (_a = currentPanelDateObject.value) == null ? void 0 : _a.startOf("month");
+ return startDayOfMonth == null ? void 0 : startDayOfMonth.subtract((startDayOfMonth == null ? void 0 : startDayOfMonth.day()) || 7, "day");
+ });
+ const rows = common_vendor.computed(() => {
+ var _a, _b, _c, _d, _e;
+ const rows_ = tableRows.value;
+ const cols = WEEKS.value.length;
+ const startOfMonth = (_a = currentPanelDateObject.value) == null ? void 0 : _a.startOf("month");
+ const startOfMonthDay = (startOfMonth == null ? void 0 : startOfMonth.day()) || 7;
+ const dateCountOfMonth = startOfMonth == null ? void 0 : startOfMonth.daysInMonth();
+ let count = 1;
+ for (let row = 0; row < tableRows.value.length; row++) {
+ for (let col = 0; col < cols; col++) {
+ const cellDate = (_b = startDateOnTable.value) == null ? void 0 : _b.add(count, "day");
+ const text = cellDate == null ? void 0 : cellDate.date();
+ const isSelected = props.type === "single" && (cellDate == null ? void 0 : cellDate.format("YYYY-MM-DD")) === ((_c = dateObject.value) == null ? void 0 : _c.format("YYYY-MM-DD"));
+ const isSelectedStart = props.type === "range" && (cellDate == null ? void 0 : cellDate.format("YYYY-MM-DD")) === ((_d = startDateObject.value) == null ? void 0 : _d.format("YYYY-MM-DD"));
+ const isSelectedEnd = props.type === "range" && (cellDate == null ? void 0 : cellDate.format("YYYY-MM-DD")) === ((_e = endDateObject.value) == null ? void 0 : _e.format("YYYY-MM-DD"));
+ const isInRange = (cellDate == null ? void 0 : cellDate.isSameOrBefore(endDateObject.value, "day")) && (cellDate == null ? void 0 : cellDate.isSameOrAfter(startDateObject.value, "day"));
+ let type = "normal";
+ if (count < startOfMonthDay) {
+ type = "prev-month";
+ } else if (count - startOfMonthDay >= dateCountOfMonth) {
+ type = "next-month";
+ }
+ rows_[row][col] = {
+ type,
+ date: cellDate,
+ text,
+ isSelected: isSelected || isSelectedStart || isSelectedEnd,
+ isSelectedStart,
+ isSelectedEnd,
+ isInRange
+ };
+ count++;
+ }
+ }
+ return rows_;
+ });
+ const handlePick = (cell) => {
+ if ((cell == null ? void 0 : cell.type) !== "normal") {
+ return;
+ }
+ emit("pick", cell);
+ };
+ common_vendor.watch(
+ () => [props.currentPanelDate, props.date, props.startDate, props.endDate],
+ () => {
+ currentPanelDateObject.value = common_vendor.dayjs(props.currentPanelDate || null);
+ dateObject.value = common_vendor.dayjs(props.date || null);
+ startDateObject.value = common_vendor.dayjs(props.startDate || null);
+ endDateObject.value = common_vendor.dayjs(props.endDate || null);
+ common_vendor.nextTick$1(() => {
+ var _a;
+ (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$forceUpdate();
+ });
+ },
+ {
+ deep: true,
+ immediate: true
+ }
+ );
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.f(common_vendor.unref(WEEKS), (item, k0, i0) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`time.${item}`)),
+ b: item,
+ c: item + ""
+ };
+ }),
+ b: common_vendor.f(common_vendor.unref(rows), (row, rowKey, i0) => {
+ return {
+ a: common_vendor.f(row, (col, colKey, i1) => {
+ return {
+ a: common_vendor.t(col.text),
+ b: common_vendor.n(col.isSelected && "selected"),
+ c: common_vendor.n(col.isSelectedStart && "selected-start"),
+ d: common_vendor.n(col.isSelectedEnd && "selected-end"),
+ e: common_vendor.n(col.isInRange && "range"),
+ f: common_vendor.o$1(($event) => handlePick(col), colKey),
+ g: colKey,
+ h: common_vendor.n(col.type)
+ };
+ }),
+ b: rowKey
+ };
+ }),
+ c: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-date-table-h5")
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-0072a759"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/DatePicker/date-table.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.wxml
new file mode 100644
index 0000000..0ba3ce3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.wxml
@@ -0,0 +1 @@
+{{item.a}} {{col.a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.wxss
new file mode 100644
index 0000000..2f98399
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-table.wxss
@@ -0,0 +1,128 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+/* stylelint-disable selector-class-pattern */
+.tui-date-table.data-v-0072a759 {
+ border-spacing: 0;
+ -webkit-border-horizontal-spacing: 0;
+ -webkit-border-vertical-spacing: 0;
+ font-size: 12px;
+ -webkit-user-select: none;
+ user-select: none;
+ table-layout: fixed;
+ width: 100%;
+ box-sizing: border-box;
+}
+.tui-date-table.data-v-0072a759::after, .tui-date-table.data-v-0072a759::before {
+ box-sizing: border-box;
+}
+.tui-date-table-body.data-v-0072a759 {
+ width: 100%;
+ background-color: #fff;
+}
+.tui-date-table-body-weeks.data-v-0072a759, .tui-date-table-body-days.data-v-0072a759 {
+ box-sizing: border-box;
+ min-width: 0;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-around;
+ overflow: hidden;
+}
+.tui-date-table-body-weeks.data-v-0072a759 {
+ width: 100%;
+}
+.tui-date-table-body-weeks-item.data-v-0072a759 {
+ color: #666;
+ font-size: 12px;
+ font-weight: 400px;
+}
+.tui-date-table-body-days.data-v-0072a759 {
+ color: #000;
+}
+.tui-date-table-body-days-item-cell.data-v-0072a759 {
+ text-align: center;
+ padding: 2px;
+ margin: 2px 0;
+}
+.tui-date-table-body-days-item-cell-text.data-v-0072a759 {
+ display: inline-flex;
+ justify-content: center;
+ align-items: center;
+ width: 24px;
+ height: 24px;
+ border-radius: 50%;
+ -webkit-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ box-sizing: border-box;
+}
+.tui-date-table-body-days-item .selected.data-v-0072a759 {
+ border-radius: 12px;
+}
+.tui-date-table-body-days-item .selected .tui-date-table-body-days-item-cell-text.data-v-0072a759 {
+ box-sizing: border-box;
+ color: #007aff;
+ border: 1px solid #007aff;
+ background-color: #fff;
+}
+.tui-date-table-body-days-item .range.data-v-0072a759 {
+ background-color: #007aff33;
+}
+.tui-date-table-body-days-item .selected-start.data-v-0072a759 {
+ border-radius: 12px 0 0 12px;
+}
+.tui-date-table-body-days-item .selected-end.data-v-0072a759 {
+ border-radius: 0 12px 12px 0;
+}
+.tui-date-table-body-days-item .selected-start.selected-end.data-v-0072a759 {
+ border-radius: 12px;
+}
+.tui-date-table-body-days .prev-month.data-v-0072a759,
+.tui-date-table-body-days .next-month.data-v-0072a759 {
+ color: #666;
+ background-color: #fff;
+}
+.tui-date-table-body-days .prev-month .range.data-v-0072a759,
+.tui-date-table-body-days .next-month .range.data-v-0072a759 {
+ color: #666;
+ background-color: #fff;
+}
+.tui-date-table-body-days .prev-month .selected .tui-date-table-body-days-item-cell-text.data-v-0072a759,
+.tui-date-table-body-days .next-month .selected .tui-date-table-body-days-item-cell-text.data-v-0072a759 {
+ box-sizing: border-box;
+ color: #666;
+ border: none;
+}
+.tui-date-table-h5.data-v-0072a759 {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tui-date-table-h5 .tui-date-table-body-days-item-cell-text.data-v-0072a759 {
+ cursor: none !important;
+}
+td.data-v-0072a759,
+._td.data-v-0072a759,
+.tui-date-table-body-days-item.data-v-0072a759 {
+ flex: 1;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.js
new file mode 100644
index 0000000..9022c46
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.js
@@ -0,0 +1,198 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ DatePickerPanel();
+}
+const DatePickerPanel = () => "./date-picker-panel.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ type: {
+ type: String,
+ default: "range"
+ // "single" / "range"
+ },
+ rangeTableType: {
+ type: String,
+ default: "one"
+ // "one"/ "two"
+ },
+ startPlaceholder: {
+ type: String,
+ default: () => common_vendor.Wt.t("开始时间")
+ },
+ endPlaceholder: {
+ type: String,
+ default: () => common_vendor.Wt.t("开始时间")
+ },
+ popupPosition: {
+ type: String,
+ default: "bottom"
+ // "top" / "bottom"
+ },
+ // Default single-select date
+ defaultSingleDate: {
+ type: common_vendor.dayjs_minExports.Dayjs,
+ default: null,
+ required: false
+ }
+ },
+ emits: ["pick", "change"],
+ setup(__props, { emit: __emit }) {
+ common_vendor.dayjs.extend(common_vendor.localeData);
+ common_vendor.dayjs.extend(common_vendor.isSameOrAfter);
+ common_vendor.dayjs.extend(common_vendor.isSameOrBefore);
+ common_vendor.dayjs.locale("zh-cn");
+ const emit = __emit;
+ const props = __props;
+ const isDatePanelShow = common_vendor.ref(false);
+ const dateValue = common_vendor.ref(props.type === "single" ? props == null ? void 0 : props.defaultSingleDate : null);
+ const startValue = common_vendor.ref(props.type === "single" ? props == null ? void 0 : props.defaultSingleDate : null);
+ const endValue = common_vendor.ref(props.type === "single" ? props == null ? void 0 : props.defaultSingleDate : null);
+ const startFormatDate = common_vendor.computed(() => {
+ var _a;
+ return (_a = startValue == null ? void 0 : startValue.value) == null ? void 0 : _a.format("YYYY/MM/DD");
+ });
+ const endFormatDate = common_vendor.computed(() => {
+ var _a;
+ return (_a = endValue == null ? void 0 : endValue.value) == null ? void 0 : _a.format("YYYY/MM/DD");
+ });
+ const startPlaceholderVal = props.startPlaceholder;
+ const endPlaceholderVal = props.endPlaceholder;
+ const leftCurrentPanelValue = common_vendor.ref();
+ const rightCurrentPanelValue = common_vendor.ref();
+ const setDatePanelDisplay = (show) => {
+ isDatePanelShow.value = show;
+ };
+ const n = (classNameList) => {
+ const resultClassList = [];
+ classNameList.forEach((className) => {
+ if (className) {
+ resultClassList.push("tui-date-picker-" + className);
+ !TUIKit_utils_env.isPC && resultClassList.push("tui-date-picker-h5-" + className);
+ } else {
+ resultClassList.push("tui-date-picker");
+ !TUIKit_utils_env.isPC && resultClassList.push("tui-date-picker-h5");
+ }
+ });
+ return resultClassList;
+ };
+ const handlePick = (cell) => {
+ var _a, _b, _c;
+ switch (props.type) {
+ case "single":
+ startValue.value = cell.date;
+ endValue.value = cell.date;
+ dateValue.value = cell.date;
+ emit("change", cell);
+ emit("pick", dateValue.value);
+ setTimeout(() => {
+ setDatePanelDisplay(false);
+ }, 300);
+ break;
+ case "range":
+ if (!(startValue == null ? void 0 : startValue.value)) {
+ startValue.value = cell.date;
+ } else if (!(endValue == null ? void 0 : endValue.value)) {
+ if ((_a = startValue == null ? void 0 : startValue.value) == null ? void 0 : _a.isSameOrBefore(cell.date, "day")) {
+ endValue.value = cell.date;
+ } else {
+ endValue.value = startValue.value;
+ startValue.value = cell.date;
+ }
+ emit("pick", {
+ startDate: (_b = startValue == null ? void 0 : startValue.value) == null ? void 0 : _b.startOf("date"),
+ endDate: (_c = endValue == null ? void 0 : endValue.value) == null ? void 0 : _c.endOf("date")
+ });
+ setTimeout(() => {
+ setDatePanelDisplay(false);
+ }, 200);
+ } else {
+ startValue.value = cell.date;
+ endValue.value = null;
+ }
+ emit("change", {
+ startDate: startValue.value,
+ endDate: endValue.value,
+ leftCurrentPanel: leftCurrentPanelValue.value,
+ rightCurrentPanel: leftCurrentPanelValue.value
+ });
+ break;
+ }
+ };
+ const handleLeftPanelChange = (value) => {
+ leftCurrentPanelValue.value = value;
+ emit("change", {
+ startDate: startValue.value,
+ endDate: endValue.value,
+ leftCurrentPanel: leftCurrentPanelValue.value,
+ rightCurrentPanel: leftCurrentPanelValue.value
+ });
+ };
+ const handleRightPanelChange = (value) => {
+ rightCurrentPanelValue.value = value;
+ emit("change", {
+ startDate: startValue.value,
+ endDate: endValue.value,
+ leftCurrentPanel: leftCurrentPanelValue.value,
+ rightCurrentPanel: leftCurrentPanelValue.value
+ });
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(startPlaceholderVal),
+ b: common_vendor.n(n(["input-start"])),
+ c: common_vendor.unref(TUIKit_utils_env.isUniFrameWork),
+ d: common_vendor.unref(startFormatDate),
+ e: common_vendor.o$1(($event) => common_vendor.isRef(startFormatDate) ? startFormatDate.value = $event.detail.value : null),
+ f: __props.type !== "single"
+ }, __props.type !== "single" ? {} : {}, {
+ g: __props.type !== "single"
+ }, __props.type !== "single" ? {
+ h: common_vendor.unref(endPlaceholderVal),
+ i: common_vendor.n(n(["input-end"])),
+ j: common_vendor.unref(TUIKit_utils_env.isUniFrameWork),
+ k: common_vendor.unref(endFormatDate),
+ l: common_vendor.o$1(($event) => common_vendor.isRef(endFormatDate) ? endFormatDate.value = $event.detail.value : null)
+ } : {}, {
+ m: common_vendor.n(n(["input"])),
+ n: common_vendor.n(common_vendor.unref(isDatePanelShow) && n(["input-active"])),
+ o: common_vendor.o$1(($event) => setDatePanelDisplay(!common_vendor.unref(isDatePanelShow))),
+ p: common_vendor.unref(isDatePanelShow)
+ }, common_vendor.unref(isDatePanelShow) ? common_vendor.e({
+ q: common_vendor.o$1(handlePick),
+ r: common_vendor.o$1(handleLeftPanelChange),
+ s: common_vendor.p({
+ type: props.type,
+ rangeType: "left",
+ date: common_vendor.unref(dateValue),
+ startDate: common_vendor.unref(startValue),
+ endDate: common_vendor.unref(endValue),
+ currentOtherPanelValue: common_vendor.unref(rightCurrentPanelValue)
+ }),
+ t: props.type === "range" && common_vendor.unref(TUIKit_utils_env.isPC) && __props.rangeTableType === "two"
+ }, props.type === "range" && common_vendor.unref(TUIKit_utils_env.isPC) && __props.rangeTableType === "two" ? {
+ v: common_vendor.o$1(handlePick),
+ w: common_vendor.o$1(handleRightPanelChange),
+ x: common_vendor.p({
+ type: props.type,
+ rangeType: "right",
+ date: common_vendor.unref(dateValue),
+ startDate: common_vendor.unref(startValue),
+ endDate: common_vendor.unref(endValue),
+ currentOtherPanelValue: common_vendor.unref(leftCurrentPanelValue)
+ })
+ } : {}, {
+ y: common_vendor.n(n(["dialog-container", "dialog-container-" + __props.rangeTableType, "dialog-container-" + __props.popupPosition])),
+ z: common_vendor.n(n(["dialog"]))
+ }) : {}, {
+ A: common_vendor.n(n([""]))
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-eb57fa2c"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/DatePicker/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.json
new file mode 100644
index 0000000..3b80355
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "date-picker-panel": "./date-picker-panel"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.wxml
new file mode 100644
index 0000000..fb66255
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.wxml
@@ -0,0 +1 @@
+-
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.wxss
new file mode 100644
index 0000000..0b8c040
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.wxss
@@ -0,0 +1,75 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-date-picker-input.data-v-eb57fa2c {
+ min-width: 160px;
+ display: flex;
+ flex-direction: row;
+ color: #666;
+ border-radius: 5px;
+ font-size: 12px;
+}
+.tui-date-picker-input-start.data-v-eb57fa2c, .tui-date-picker-input-end.data-v-eb57fa2c {
+ flex: 1;
+ color: #666;
+ height: 17px;
+ border: none;
+ width: 67px;
+ background-color: transparent;
+ font-size: 12px;
+ text-align: center;
+}
+.tui-date-picker-input-start.data-v-eb57fa2c:focus, .tui-date-picker-input-end.data-v-eb57fa2c:focus {
+ border: none;
+ outline: none;
+}
+.tui-date-picker-input-start.data-v-eb57fa2c::-webkit-input-placeholder, .tui-date-picker-input-end.data-v-eb57fa2c::-webkit-input-placeholder {
+ text-align: center;
+}
+.tui-date-picker-input-start.data-v-eb57fa2c::placeholder, .tui-date-picker-input-end.data-v-eb57fa2c::placeholder {
+ text-align: center;
+}
+.tui-date-picker-dialog.data-v-eb57fa2c {
+ position: relative;
+}
+.tui-date-picker-dialog-container.data-v-eb57fa2c {
+ position: absolute;
+ display: flex;
+ flex-direction: row;
+ padding: 10px;
+ left: 5px;
+ background-color: #fff;
+ box-shadow: rgba(0, 0, 0, 0.16) 0 3px 6px, rgba(0, 0, 0, 0.23) 0 3px 6px;
+ z-index: 1000;
+}
+.tui-date-picker-dialog-container-bottom.data-v-eb57fa2c {
+ left: 5px;
+}
+.tui-date-picker-dialog-container-top.data-v-eb57fa2c {
+ bottom: 30px;
+}
+.tui-date-picker-dialog-container-one.data-v-eb57fa2c {
+ left: -5px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.js
new file mode 100644
index 0000000..b99d701
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.js
@@ -0,0 +1,94 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ show: {
+ type: Boolean,
+ default: false
+ },
+ isHeaderShow: {
+ type: Boolean,
+ default: true
+ },
+ isFooterShow: {
+ type: Boolean,
+ default: true
+ },
+ background: {
+ type: Boolean,
+ default: true
+ },
+ title: {
+ type: String,
+ default: ""
+ },
+ center: {
+ type: Boolean,
+ default: false
+ }
+ },
+ emits: ["update:show", "submit"],
+ setup(__props, { emit: __emit }) {
+ const clickType = {
+ OUTSIDE: "outside",
+ INSIDE: "inside"
+ };
+ const props = __props;
+ const showDialog = common_vendor.ref(false);
+ const isHeaderShowDialog = common_vendor.ref(true);
+ const isFooterShowDialog = common_vendor.ref(true);
+ const backgroundDialog = common_vendor.ref(true);
+ const showTitle = common_vendor.ref("");
+ common_vendor.watchEffect(() => {
+ showDialog.value = props.show;
+ showTitle.value = props.title;
+ isHeaderShowDialog.value = props.isHeaderShow;
+ isFooterShowDialog.value = props.isFooterShow;
+ backgroundDialog.value = props.background;
+ });
+ const emit = __emit;
+ const toggleView = (type) => {
+ if (type === clickType.OUTSIDE) {
+ close();
+ }
+ };
+ const close = () => {
+ showDialog.value = !showDialog.value;
+ emit("update:show", showDialog.value);
+ };
+ const submit = () => {
+ emit("submit");
+ close();
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(showDialog)
+ }, common_vendor.unref(showDialog) ? common_vendor.e({
+ b: common_vendor.unref(isHeaderShowDialog)
+ }, common_vendor.unref(isHeaderShowDialog) ? {
+ c: common_vendor.t(common_vendor.unref(showTitle)),
+ d: common_vendor.o$1(close)
+ } : {}, {
+ e: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && common_vendor.unref(TUIKit_utils_env.isH5) ? "dialog-main-content-uniapp" : ""),
+ f: common_vendor.unref(isFooterShowDialog)
+ }, common_vendor.unref(isFooterShowDialog) ? {
+ g: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.取消")),
+ h: common_vendor.o$1(close),
+ i: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.确定")),
+ j: common_vendor.o$1(submit)
+ } : {}, {
+ k: common_vendor.n(!common_vendor.unref(backgroundDialog) ? "dialog-main-back" : ""),
+ l: common_vendor.o$1(($event) => toggleView(clickType.INSIDE)),
+ m: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) ? "dialog-h5" : ""),
+ n: common_vendor.n(__props.center ? "center" : ""),
+ o: common_vendor.o$1(($event) => toggleView(clickType.OUTSIDE))
+ }) : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-2c2f9c5b"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/Dialog/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.wxml
new file mode 100644
index 0000000..608f9a3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.wxml
@@ -0,0 +1 @@
+{{c}} {{g}} {{i}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.wxss
new file mode 100644
index 0000000..7cee3cc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Dialog/index.wxss
@@ -0,0 +1,210 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-2c2f9c5b, div.data-v-2c2f9c5b, ul.data-v-2c2f9c5b, ol.data-v-2c2f9c5b, dt.data-v-2c2f9c5b, dd.data-v-2c2f9c5b, li.data-v-2c2f9c5b, dl.data-v-2c2f9c5b, h1.data-v-2c2f9c5b, h2.data-v-2c2f9c5b, h3.data-v-2c2f9c5b, h4.data-v-2c2f9c5b, p.data-v-2c2f9c5b {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-2c2f9c5b, ul.data-v-2c2f9c5b, li.data-v-2c2f9c5b {
+ list-style: none;
+}
+img.data-v-2c2f9c5b {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-2c2f9c5b {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-2c2f9c5b {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-2c2f9c5b {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-2c2f9c5b:hover {
+ text-decoration: none;
+}
+input.data-v-2c2f9c5b, textarea.data-v-2c2f9c5b {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-2c2f9c5b:focus, input.data-v-2c2f9c5b:active, textarea.data-v-2c2f9c5b:focus, textarea.data-v-2c2f9c5b:active {
+ outline: none;
+}
+.chat-aside.data-v-2c2f9c5b {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.dialog.data-v-2c2f9c5b {
+ background: rgba(0, 0, 0, 0.6);
+}
+.dialog-main.data-v-2c2f9c5b {
+ background: #FFF;
+}
+.dialog-main-header.data-v-2c2f9c5b {
+ font-weight: 500;
+ color: #333;
+}
+.dialog-main-title.data-v-2c2f9c5b {
+ font-family: PingFangSC-Medium;
+ font-weight: 500;
+ color: #333;
+}
+.dialog-main-back.data-v-2c2f9c5b {
+ background: none;
+}
+.dialog-main-content.data-v-2c2f9c5b {
+ font-weight: 400;
+ color: #333;
+}
+.btn.data-v-2c2f9c5b {
+ font-weight: 400;
+ color: #FFF;
+ letter-spacing: 0;
+}
+.btn-cancel.data-v-2c2f9c5b {
+ border: 1px solid #ddd;
+ color: #666;
+}
+.btn-default.data-v-2c2f9c5b {
+ background: #006EFF;
+ border: 1px solid #006EFF;
+}
+.dialog.data-v-2c2f9c5b {
+ position: fixed;
+ width: 100%;
+ height: 100%;
+ left: 0;
+ top: 0;
+ z-index: 6;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.dialog-main.data-v-2c2f9c5b {
+ min-width: 368px;
+ border-radius: 10px;
+ padding: 20px 30px;
+}
+.dialog-main-header.data-v-2c2f9c5b {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 16px;
+ line-height: 30px;
+}
+.dialog-main-title.data-v-2c2f9c5b {
+ font-size: 16px;
+ line-height: 30px;
+}
+.dialog-main-content.data-v-2c2f9c5b {
+ font-size: 14px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-bottom: 20px;
+}
+.dialog-main-footer.data-v-2c2f9c5b {
+ display: flex;
+ justify-content: flex-end;
+}
+.btn.data-v-2c2f9c5b {
+ padding: 8px 20px;
+ margin: 0 6px;
+ border-radius: 4px;
+ border: none;
+ font-size: 14px;
+ text-align: center;
+ line-height: 20px;
+}
+.btn.data-v-2c2f9c5b:disabled {
+ opacity: 0.3;
+}
+.btn.data-v-2c2f9c5b:last-child {
+ margin-right: 0;
+}
+.dialog-h5.data-v-2c2f9c5b {
+ height: 100%;
+ top: 0;
+ align-items: inherit;
+}
+.dialog-h5 .dialog-main.data-v-2c2f9c5b {
+ border-radius: 0;
+ padding: 0;
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+ width: 100%;
+ min-height: 80px;
+ min-width: 120px;
+}
+.dialog-h5 .dialog-main-content.data-v-2c2f9c5b {
+ flex: 1;
+ min-width: 0;
+ min-height: 0;
+ overflow: hidden;
+ text-align: center;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-bottom: 0;
+}
+.dialog-h5 .dialog-main-content-uniapp.data-v-2c2f9c5b {
+ padding: 40px 0;
+}
+.dialog-h5 .dialog-main-footer.data-v-2c2f9c5b {
+ border-top: 1px solid #DDD;
+}
+.dialog-h5 .dialog-main-footer .btn.data-v-2c2f9c5b {
+ flex: 1;
+ margin: 0;
+ background: none;
+ border-right: 1px solid #DDD;
+}
+.dialog-h5 .dialog-main-footer .btn-default.data-v-2c2f9c5b {
+ color: #FF584C;
+ border: none;
+}
+.center.data-v-2c2f9c5b {
+ align-items: center;
+ padding: 20px;
+ box-sizing: border-box;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.js
new file mode 100644
index 0000000..79a569c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.js
@@ -0,0 +1,75 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+if (!Math) {
+ Overlay();
+}
+const Overlay = () => "../Overlay/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ visible: { type: Boolean, default: true },
+ popDirection: { default: "bottom" },
+ useMask: { type: Boolean, default: true },
+ isFullScreen: { type: Boolean, default: true },
+ overlayColor: {},
+ drawerStyle: { default: () => ({}) }
+ },
+ emits: ["onOverlayClick"],
+ setup(__props, { expose: __expose, emit: __emit }) {
+ var _a;
+ const emits = __emit;
+ const props = __props;
+ const drawerDomRef = common_vendor.ref();
+ const overlayDomInstanceRef = common_vendor.ref();
+ const isDrawerShow = common_vendor.ref(false);
+ const styles = common_vendor.ref(props.drawerStyle[props.popDirection] || {});
+ common_vendor.watch(() => props.visible, (visible) => {
+ if (visible) {
+ isDrawerShow.value = true;
+ } else {
+ setTimeout(() => {
+ isDrawerShow.value = false;
+ }, 150);
+ }
+ }, {
+ immediate: true
+ });
+ function onOverlayClick(e) {
+ emits("onOverlayClick", e);
+ }
+ __expose({
+ drawerDomRef,
+ overlayDomRef: (_a = overlayDomInstanceRef.value) == null ? void 0 : _a.overlayDomRef
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isDrawerShow)
+ }, common_vendor.unref(isDrawerShow) ? {
+ b: props.popDirection === "bottom" ? 1 : "",
+ c: props.popDirection === "right" ? 1 : "",
+ d: _ctx.visible && props.popDirection === "bottom" ? 1 : "",
+ e: _ctx.visible && props.popDirection === "right" ? 1 : "",
+ f: common_vendor.unref(styles).minHeight,
+ g: common_vendor.unref(styles).maxHeight,
+ h: common_vendor.unref(styles).borderRadius,
+ i: common_vendor.unref(styles).boxShadow,
+ j: common_vendor.unref(styles).width
+ } : {}, {
+ k: common_vendor.sr(overlayDomInstanceRef, "c011f16d-0", {
+ "k": "overlayDomInstanceRef"
+ }),
+ l: common_vendor.o$1(onOverlayClick),
+ m: common_vendor.p({
+ visible: props.visible,
+ useMask: props.useMask,
+ maskColor: props.overlayColor,
+ isFullScreen: props.isFullScreen
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c011f16d"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/Drawer/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.json
new file mode 100644
index 0000000..f120c55
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "overlay": "../Overlay/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.wxml
new file mode 100644
index 0000000..db52226
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.wxss
new file mode 100644
index 0000000..79c029e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Drawer/index.wxss
@@ -0,0 +1,79 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-c011f16d:not(not) {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ min-width: 0;
+}
+.drawer.data-v-c011f16d {
+ position: absolute;
+ z-index: 1;
+ background-color: #fff;
+ overflow: hidden;
+ transition: transform 0.15s ease-out;
+}
+.drawer .drawer-container.data-v-c011f16d {
+ background-color: #fff;
+ height: 100%;
+ width: 100%;
+}
+.origin-bottom.data-v-c011f16d {
+ bottom: 0;
+ left: 0;
+ right: 0;
+ transform: translateY(100%);
+ animation: slide-from-bottom-c011f16d 0.15s ease-out;
+}
+.origin-right.data-v-c011f16d {
+ top: 0;
+ bottom: 0;
+ right: 0;
+ transform: translateX(100%);
+ animation: slide-from-right-c011f16d 0.15s ease-out;
+}
+.slide-bottom.data-v-c011f16d {
+ transform: translateY(0);
+}
+.slide-right.data-v-c011f16d {
+ transform: translateX(0);
+}
+@keyframes slide-from-bottom-c011f16d {
+0% {
+ transform: translateY(100%);
+}
+100% {
+ transform: translateY(0);
+}
+}
+@keyframes slide-from-right-c011f16d {
+0% {
+ transform: translateX(100%);
+}
+100% {
+ transform: translateX(0);
+}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.js
new file mode 100644
index 0000000..4dd6a88
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.js
@@ -0,0 +1,77 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ isFetching: { type: Boolean, default: false },
+ isTerminateObserve: { type: Boolean, default: false }
+ },
+ emits: ["onExposed"],
+ setup(__props, { emit: __emit }) {
+ var _a;
+ const emits = __emit;
+ const props = __props;
+ let observer = null;
+ const selfDomRef = common_vendor.ref();
+ const thisInstance = ((_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.proxy) || common_vendor.getCurrentInstance();
+ common_vendor.onMounted(() => {
+ if (props.isTerminateObserve) {
+ return;
+ }
+ if (!TUIKit_utils_env.isUniFrameWork) {
+ observer = new IntersectionObserver(([entry]) => {
+ if (entry.isIntersecting) {
+ emits("onExposed");
+ }
+ }, {
+ threshold: 1
+ });
+ if (selfDomRef.value) {
+ observer.observe(selfDomRef.value);
+ }
+ } else {
+ observer = common_vendor.index.createIntersectionObserver(thisInstance).relativeToViewport();
+ observer.observe(".fetch-more-block", () => {
+ emits("onExposed");
+ });
+ }
+ });
+ common_vendor.onUnmounted(() => {
+ if (observer) {
+ observer.disconnect();
+ observer = null;
+ }
+ });
+ common_vendor.watch(() => props.isTerminateObserve, (isTerminateObserve) => {
+ if (!observer) {
+ return;
+ }
+ if (isTerminateObserve) {
+ observer.disconnect();
+ } else if (selfDomRef.value) {
+ observer.disconnect();
+ if (!TUIKit_utils_env.isUniFrameWork) {
+ observer.observe(selfDomRef.value);
+ } else {
+ observer.observe(".fetch-more-block", () => {
+ emits("onExposed");
+ });
+ }
+ }
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.isFetching
+ }, props.isFetching ? {
+ b: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.正在加载"))
+ } : {
+ c: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("TUIChat.加载结束"))
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ab2918f1"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/FetchMore/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.wxml
new file mode 100644
index 0000000..5f7baf5
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.wxml
@@ -0,0 +1 @@
+{{b}} {{c}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.wxss
new file mode 100644
index 0000000..7fb21bc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/FetchMore/index.wxss
@@ -0,0 +1,28 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.fetch-more-block.data-v-ab2918f1 {
+ color: #999;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.js
new file mode 100644
index 0000000..fefb24d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.js
@@ -0,0 +1,57 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+require("../../adapter-vue.js");
+const TUIKit_utils_env = require("../../utils/env.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "Icon",
+ props: {
+ file: { default: "" },
+ size: {},
+ width: { default: "20px" },
+ height: { default: "20px" },
+ hotAreaSize: {}
+ },
+ emits: ["onClick"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const iconHotAreaSize = common_vendor.computed(() => {
+ if (!props.hotAreaSize) {
+ return void 0;
+ }
+ if (isNaN(Number(props.hotAreaSize))) {
+ return String(props.hotAreaSize);
+ }
+ return `${props.hotAreaSize}px`;
+ });
+ const iconWidth = common_vendor.computed(() => {
+ return props.size ? props.size : props.width;
+ });
+ const iconHeight = common_vendor.computed(() => {
+ return props.size ? props.size : props.height;
+ });
+ const handleImgClick = (e) => {
+ emits("onClick", e);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(TUIKit_utils_env.isApp)
+ }, common_vendor.unref(TUIKit_utils_env.isApp) ? {
+ b: props.file,
+ c: common_vendor.unref(iconWidth),
+ d: common_vendor.unref(iconHeight)
+ } : {
+ e: props.file,
+ f: common_vendor.unref(iconWidth),
+ g: common_vendor.unref(iconHeight)
+ }, {
+ h: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "common-icon-container-mobile"),
+ i: common_vendor.unref(iconHotAreaSize),
+ j: common_vendor.o$1(handleImgClick)
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-6d890098"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/components/common/Icon.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.wxml
new file mode 100644
index 0000000..8225eb7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.wxss
new file mode 100644
index 0000000..9437033
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Icon.wxss
@@ -0,0 +1,35 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.common-icon-container.data-v-6d890098 {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+ -webkit-tap-highlight-color: transparent;
+}
+.common-icon-container-mobile.data-v-6d890098 {
+ cursor: none;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.js
new file mode 100644
index 0000000..83a2a21
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.js
@@ -0,0 +1,32 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ width: {
+ type: String,
+ default: "30px"
+ },
+ height: {
+ type: String,
+ default: "30px"
+ },
+ color: {
+ type: String,
+ default: "#D9D9D9"
+ }
+ },
+ setup(__props) {
+ const props = __props;
+ return (_ctx, _cache) => {
+ return {
+ a: props.width,
+ b: props.height,
+ c: `2px solid ${props.color}`
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-b303d4e1"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/Loading/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.wxml
new file mode 100644
index 0000000..02749fe
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.wxss
new file mode 100644
index 0000000..ee30e88
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Loading/index.wxss
@@ -0,0 +1,41 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-loading.data-v-b303d4e1 {
+ width: 30px;
+ height: 30px;
+ border: 2px solid #d9d9d9;
+ border-top-color: transparent;
+ border-radius: 100%;
+ animation: circle-b303d4e1 infinite 0.75s linear;
+}
+@keyframes circle-b303d4e1 {
+0% {
+ transform: rotate(0);
+}
+100% {
+ transform: rotate(360deg);
+}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.js
new file mode 100644
index 0000000..893ef02
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.js
@@ -0,0 +1,36 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ show: {
+ type: Boolean,
+ default: () => false
+ }
+ },
+ emits: ["update:show"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const showMask = common_vendor.ref(false);
+ common_vendor.watchEffect(() => {
+ showMask.value = props.show;
+ });
+ const emit = __emit;
+ const toggleView = () => {
+ showMask.value = !showMask.value;
+ emit("update:show", showMask.value);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(showMask)
+ }, common_vendor.unref(showMask) ? {
+ b: common_vendor.o$1(($event) => !common_vendor.unref(TUIKit_utils_env.isWeChat) && toggleView)
+ } : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e3dc88b0"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/MaskLayer/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.wxml
new file mode 100644
index 0000000..ee4be10
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.wxss
new file mode 100644
index 0000000..5aec9ef
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/MaskLayer/index.wxss
@@ -0,0 +1,90 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-e3dc88b0, div.data-v-e3dc88b0, ul.data-v-e3dc88b0, ol.data-v-e3dc88b0, dt.data-v-e3dc88b0, dd.data-v-e3dc88b0, li.data-v-e3dc88b0, dl.data-v-e3dc88b0, h1.data-v-e3dc88b0, h2.data-v-e3dc88b0, h3.data-v-e3dc88b0, h4.data-v-e3dc88b0, p.data-v-e3dc88b0 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-e3dc88b0, ul.data-v-e3dc88b0, li.data-v-e3dc88b0 {
+ list-style: none;
+}
+img.data-v-e3dc88b0 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-e3dc88b0 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-e3dc88b0 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-e3dc88b0 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-e3dc88b0:hover {
+ text-decoration: none;
+}
+input.data-v-e3dc88b0, textarea.data-v-e3dc88b0 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-e3dc88b0:focus, input.data-v-e3dc88b0:active, textarea.data-v-e3dc88b0:focus, textarea.data-v-e3dc88b0:active {
+ outline: none;
+}
+.chat-aside.data-v-e3dc88b0 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.mask.data-v-e3dc88b0 {
+ position: fixed;
+ width: 100vw;
+ height: 100vh;
+ left: 0;
+ top: 0;
+ z-index: 99;
+ background: rgba(0, 0, 0, 0.5);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.mask main.data-v-e3dc88b0 {
+ position: relative;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.js
new file mode 100644
index 0000000..5fd17e3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.js
@@ -0,0 +1,58 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ visible: { type: Boolean, default: true },
+ zIndex: { default: 9999 },
+ useMask: { type: Boolean, default: true },
+ maskColor: { default: "rgba(0, 0, 0, 0.6)" },
+ isFullScreen: { type: Boolean, default: true },
+ width: { default: "auto" },
+ height: { default: "auto" }
+ },
+ emits: ["onOverlayClick"],
+ setup(__props, { expose: __expose, emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const overlayDomRef = common_vendor.ref();
+ const isOverlayShow = common_vendor.ref(props.visible);
+ common_vendor.watch(() => props.visible, (visible) => {
+ if (visible) {
+ isOverlayShow.value = true;
+ } else {
+ setTimeout(() => {
+ isOverlayShow.value = false;
+ }, 150);
+ }
+ }, {
+ immediate: true
+ });
+ function onOverlayClick() {
+ emits("onOverlayClick");
+ }
+ __expose({
+ overlayDomRef
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isOverlayShow)
+ }, common_vendor.unref(isOverlayShow) ? common_vendor.e({
+ b: props.useMask
+ }, props.useMask ? {
+ c: props.visible ? 1 : "",
+ d: props.maskColor,
+ e: common_vendor.o$1(onOverlayClick),
+ f: common_vendor.o$1(onOverlayClick)
+ } : {}, {
+ g: props.isFullScreen ? 1 : "",
+ h: props.isFullScreen ? "fixed" : "absolute",
+ i: props.zIndex
+ }) : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-fdff2bf0"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/Overlay/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.wxml
new file mode 100644
index 0000000..4b41e28
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.wxss
new file mode 100644
index 0000000..2270b6f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Overlay/index.wxss
@@ -0,0 +1,66 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.overlay-container.data-v-fdff2bf0 {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 9999;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.overlay-container .overlay-mask.data-v-fdff2bf0 {
+ z-index: -1;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0, 0, 0, 0.6);
+ opacity: 0;
+ transition: opacity 0.15s linear;
+ animation: fade-in-fdff2bf0 0.15s linear;
+}
+.overlay-container .full-screen.data-v-fdff2bf0 {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.overlay-mask.fade-in.data-v-fdff2bf0 {
+ opacity: 1;
+}
+@keyframes fade-in-fdff2bf0 {
+0% {
+ opacity: 0;
+}
+100% {
+ opacity: 1;
+}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.js
new file mode 100644
index 0000000..3925bfd
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.js
@@ -0,0 +1,27 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ content: { default: () => ({}) },
+ messageItem: { default: () => ({}) }
+ },
+ setup(__props) {
+ const props = __props;
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.messageItem.status === "unSend" && props.messageItem.progress < 1
+ }, props.messageItem.status === "unSend" && props.messageItem.progress < 1 ? common_vendor.e({
+ b: !common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, !common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? {
+ c: props.messageItem.progress
+ } : {
+ d: Math.round(props.messageItem.progress * 100)
+ }) : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-99d7e968"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/ProgressMessage/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.wxml
new file mode 100644
index 0000000..b6519d1
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.wxss
new file mode 100644
index 0000000..9887fd8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/ProgressMessage/index.wxss
@@ -0,0 +1,64 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.progress-message.data-v-99d7e968 {
+ overflow: hidden;
+}
+.progress-message .progress-container.data-v-99d7e968 {
+ position: absolute;
+ box-sizing: border-box;
+ width: 100%;
+ height: 100%;
+ padding: 0 15%;
+ left: 0;
+ top: 0;
+ background: rgba(0, 0, 0, 0.5);
+ display: flex;
+ align-items: center;
+}
+.progress-message .progress-container .progress-common.data-v-99d7e968, .progress-message .progress-container .progress.data-v-99d7e968 {
+ -webkit-appearance: none;
+ appearance: none;
+ width: 100%;
+ height: 0.5rem;
+}
+.progress-message .progress-container .progress.data-v-99d7e968 {
+ color: #006eff;
+ border-radius: 0.25rem;
+ background: #fff;
+}
+.progress-message .progress-container .progress.data-v-99d7e968::-webkit-progress-value {
+ background-color: #006eff;
+ border-radius: 0.25rem;
+}
+.progress-message .progress-container .progress.data-v-99d7e968::-webkit-progress-bar {
+ border-radius: 0.25rem;
+ background: #fff;
+}
+.progress-message .progress-container .progress.data-v-99d7e968::-moz-progress-bar {
+ color: #006eff;
+ background: #006eff;
+ border-radius: 0.25rem;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.js
new file mode 100644
index 0000000..de6e960
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.js
@@ -0,0 +1,36 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const common_assets = require("../../../../common/assets.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ isSelected: { type: Boolean }
+ },
+ emits: ["onChange"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ function toggleSelect() {
+ emits("onChange", !props.isSelected);
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !props.isSelected
+ }, !props.isSelected ? {} : {
+ b: common_vendor.p({
+ file: common_vendor.unref(common_assets.radioIcon),
+ size: "20px"
+ })
+ }, {
+ c: common_vendor.o$1(toggleSelect)
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-169aff8a"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/RadioSelect/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.json
new file mode 100644
index 0000000..86c55e0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.wxml
new file mode 100644
index 0000000..2ab5c65
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.wxss
new file mode 100644
index 0000000..45034be
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/RadioSelect/index.wxss
@@ -0,0 +1,44 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.data-v-169aff8a:not(not) {
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ box-sizing: border-box;
+}
+.radio-select.data-v-169aff8a {
+ flex: 1;
+ flex-direction: column;
+ cursor: pointer;
+ -webkit-tap-highlight-color: transparent;
+ justify-content: center;
+}
+.radio-select .radio-no-select.data-v-169aff8a {
+ height: 20px;
+ width: 20px;
+ border-radius: 50%;
+ border: 2px solid #ddd;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.js
new file mode 100644
index 0000000..4ad72db
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.js
@@ -0,0 +1,76 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ (Transfer + Dialog)();
+}
+const Dialog = () => "../Dialog/index.js";
+const Transfer = () => "../Transfer/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ isRadio: {
+ type: Boolean,
+ default: false
+ },
+ isNeedSearch: {
+ type: Boolean,
+ default: false
+ },
+ title: {
+ type: String,
+ default: ""
+ },
+ userList: {
+ type: Array,
+ default: () => []
+ },
+ total: {
+ type: Number,
+ default: 0
+ }
+ },
+ emits: ["complete", "search", "getMore"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const reset = () => {
+ emits("complete", []);
+ };
+ const submit = (dataList) => {
+ emits("complete", dataList);
+ };
+ const handleSearchUser = (userID) => {
+ emits("search", userID);
+ };
+ const handleGetMore = () => {
+ emits("getMore");
+ };
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.o$1(handleGetMore),
+ b: common_vendor.o$1(handleSearchUser),
+ c: common_vendor.o$1(submit),
+ d: common_vendor.o$1(reset),
+ e: common_vendor.p({
+ isSearch: props.isNeedSearch,
+ title: props.title,
+ list: props.userList,
+ isH5: !common_vendor.unref(TUIKit_utils_env.isPC),
+ isRadio: props.isRadio,
+ total: props.total
+ }),
+ f: common_vendor.o$1(reset),
+ g: common_vendor.p({
+ show: true,
+ isH5: !common_vendor.unref(TUIKit_utils_env.isPC),
+ isHeaderShow: false,
+ isFooterShow: false,
+ background: false
+ })
+ };
+ };
+ }
+});
+wx.createComponent(_sfc_main);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/SelectUser/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.json
new file mode 100644
index 0000000..c965f73
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "dialog": "../Dialog/index",
+ "transfer": "../Transfer/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.wxml
new file mode 100644
index 0000000..09c9247
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SelectUser/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.js
new file mode 100644
index 0000000..5e2b30d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.js
@@ -0,0 +1,34 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ open: {
+ type: Boolean,
+ default: false
+ }
+ },
+ emits: ["change"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const isSliderOpen = common_vendor.ref(false);
+ const emits = __emit;
+ common_vendor.watchEffect(() => {
+ isSliderOpen.value = props.open;
+ });
+ const toggleSlider = () => {
+ isSliderOpen.value = !isSliderOpen.value;
+ emits("change", isSliderOpen.value);
+ };
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.n(common_vendor.unref(isSliderOpen) && "slider-open"),
+ b: common_vendor.o$1(toggleSlider)
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-a7f8ad37"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/Slider/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.wxml
new file mode 100644
index 0000000..5052ce7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.wxss
new file mode 100644
index 0000000..44023f6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Slider/index.wxss
@@ -0,0 +1,97 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-a7f8ad37, div.data-v-a7f8ad37, ul.data-v-a7f8ad37, ol.data-v-a7f8ad37, dt.data-v-a7f8ad37, dd.data-v-a7f8ad37, li.data-v-a7f8ad37, dl.data-v-a7f8ad37, h1.data-v-a7f8ad37, h2.data-v-a7f8ad37, h3.data-v-a7f8ad37, h4.data-v-a7f8ad37, p.data-v-a7f8ad37 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-a7f8ad37, ul.data-v-a7f8ad37, li.data-v-a7f8ad37 {
+ list-style: none;
+}
+img.data-v-a7f8ad37 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-a7f8ad37 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-a7f8ad37 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-a7f8ad37 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-a7f8ad37:hover {
+ text-decoration: none;
+}
+input.data-v-a7f8ad37, textarea.data-v-a7f8ad37 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-a7f8ad37:focus, input.data-v-a7f8ad37:active, textarea.data-v-a7f8ad37:focus, textarea.data-v-a7f8ad37:active {
+ outline: none;
+}
+.chat-aside.data-v-a7f8ad37 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.slider-box.data-v-a7f8ad37 {
+ display: flex;
+ align-items: center;
+ width: 40px;
+ height: 20px;
+ border-radius: 10px;
+ background: #e1e1e3;
+}
+.slider-open.data-v-a7f8ad37 {
+ background: #006eff !important;
+ justify-content: flex-end;
+}
+.slider-block.data-v-a7f8ad37 {
+ display: inline-block;
+ width: 16px;
+ height: 16px;
+ border-radius: 8px;
+ margin: 0 2px;
+ background: #fff;
+ border: 0 solid rgba(0, 0, 0, 0.85);
+ box-shadow: 0 2px 4px 0 #d1d1d1;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.js
new file mode 100644
index 0000000..e37ef76
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.js
@@ -0,0 +1,21 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ value: {
+ type: Boolean,
+ default: false
+ }
+ },
+ setup(__props) {
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.n(__props.value ? "tui-switch-checked" : "tui-switch-no-checked")
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-49c188d8"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/SwitchBar/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.wxml
new file mode 100644
index 0000000..6b2dd8d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.wxss
new file mode 100644
index 0000000..8c5887e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/SwitchBar/index.wxss
@@ -0,0 +1,79 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.tui-switch.data-v-49c188d8 {
+ margin: 2px 5px;
+ width: 48px;
+ height: 30px;
+ position: relative;
+ border: 1px solid transparent;
+ box-shadow: #dfdfdf 0 0 0 0 inset;
+ border-radius: 20px;
+ background-clip: content-box;
+ display: inline-block;
+ appearance: none;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ -webkit-user-select: none;
+ user-select: none;
+ outline: none;
+}
+.tui-switch.data-v-49c188d8::before {
+ content: "";
+ position: absolute;
+ width: 24px;
+ height: 24px;
+ background-color: #fff;
+ border-radius: 50%;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ transition: 0.3s;
+}
+.tui-switch-checked.data-v-49c188d8 {
+ background-color: #007aff;
+ transition: 0.6s;
+}
+.tui-switch-checked.data-v-49c188d8::before {
+ transition: 0.3s;
+ left: 20px;
+}
+.tui-switch-checked.data-v-49c188d8:active::before {
+ width: 28px;
+ left: 16px;
+ transition: 0.3s;
+}
+.tui-switch-no-checked.data-v-49c188d8 {
+ background-color: #dcdfe6;
+ transition: 0.6s;
+}
+.tui-switch-no-checked.data-v-49c188d8::before {
+ left: 2px;
+ transition: 0.3s;
+}
+.tui-switch-no-checked.data-v-49c188d8:active::before {
+ width: 28px;
+ transition: 0.3s;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Toast/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Toast/index.js
new file mode 100644
index 0000000..7f2548c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Toast/index.js
@@ -0,0 +1,29 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_components_common_Toast_type = require("./type.js");
+const Toast = (options) => {
+ common_vendor.i.showToast({
+ title: options.message || "Toast",
+ duration: options.duration || 1500,
+ icon: handleIconType(options.type)
+ });
+};
+const handleIconType = (type) => {
+ if (!type) {
+ return "none";
+ }
+ switch (type) {
+ case TUIKit_components_common_Toast_type.TOAST_TYPE.ERROR:
+ return "none";
+ case TUIKit_components_common_Toast_type.TOAST_TYPE.WARNING:
+ return "none";
+ case TUIKit_components_common_Toast_type.TOAST_TYPE.SUCCESS:
+ return "success";
+ case TUIKit_components_common_Toast_type.TOAST_TYPE.NORMAL:
+ return "none";
+ default:
+ return "none";
+ }
+};
+exports.Toast = Toast;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/Toast/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Toast/type.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Toast/type.js
new file mode 100644
index 0000000..da02fa0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Toast/type.js
@@ -0,0 +1,9 @@
+"use strict";
+const TOAST_TYPE = {
+ SUCCESS: "success",
+ WARNING: "warning",
+ ERROR: "error",
+ NORMAL: "normal"
+};
+exports.TOAST_TYPE = TOAST_TYPE;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/Toast/type.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.js
new file mode 100644
index 0000000..eb915ba
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.js
@@ -0,0 +1,256 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ list: {
+ type: Array,
+ default: () => []
+ },
+ selectedList: {
+ type: Array,
+ default: () => []
+ },
+ isSearch: {
+ type: Boolean,
+ default: true
+ },
+ isRadio: {
+ type: Boolean,
+ default: false
+ },
+ isCustomItem: {
+ type: Boolean,
+ default: false
+ },
+ title: {
+ type: String,
+ default: ""
+ },
+ type: {
+ type: String,
+ default: ""
+ },
+ resultShow: {
+ type: Boolean,
+ default: true
+ },
+ total: {
+ type: Number,
+ default: 0
+ },
+ isHiddenBackIcon: {
+ type: Boolean,
+ default: false
+ }
+ },
+ emits: ["search", "submit", "cancel", "getMore"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const transferList = common_vendor.ref([]);
+ const transferTotal = common_vendor.ref(0);
+ const transferSelectedList = common_vendor.ref([]);
+ const isTransferSearch = common_vendor.ref(true);
+ const isTransferCustomItem = common_vendor.ref(false);
+ const transferTitle = common_vendor.ref("");
+ const searchValue = common_vendor.ref("");
+ common_vendor.watchEffect(() => {
+ if (props.isCustomItem) {
+ for (let index = 0; index < props.list.length; index++) {
+ if (props.list[index].conversationID.indexOf("@TIM#SYSTEM") > -1) {
+ props.list.splice(index, 1);
+ }
+ transferList.value = props.list;
+ }
+ } else {
+ transferList.value = props.list;
+ }
+ transferTotal.value = props.total ? props.total : props.list.length;
+ transferSelectedList.value = props.selectedList && props.selectedList.length > 0 ? props.selectedList : transferSelectedList.value;
+ isTransferSearch.value = props.isSearch;
+ isTransferCustomItem.value = props.isCustomItem;
+ transferTitle.value = props.title;
+ });
+ const emit = __emit;
+ const optional = common_vendor.computed(
+ () => transferList.value.filter((item) => !item.isDisabled)
+ );
+ const handleInput = (e) => {
+ searchValue.value = e.target.value || e.detail.value;
+ emit("search", searchValue.value);
+ };
+ const selected = (item) => {
+ if (item.isDisabled) {
+ return;
+ }
+ let list = transferSelectedList.value;
+ const index = list.indexOf(item);
+ if (index > -1) {
+ return transferSelectedList.value.splice(index, 1);
+ }
+ if (props.isRadio) {
+ list = [];
+ }
+ list.push(item);
+ transferSelectedList.value = list;
+ };
+ const selectedAll = () => {
+ if (transferSelectedList.value.length === optional.value.length) {
+ transferSelectedList.value = [];
+ } else {
+ transferSelectedList.value = [...optional.value];
+ }
+ };
+ const submit = () => {
+ emit("submit", transferSelectedList.value);
+ searchValue.value = "";
+ };
+ const cancel = () => {
+ emit("cancel");
+ searchValue.value = "";
+ };
+ const getMore = () => {
+ emit("getMore");
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(TUIKit_utils_env.isPC)
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) ? common_vendor.e({
+ b: !props.isHiddenBackIcon
+ }, !props.isHiddenBackIcon ? {
+ c: common_vendor.p({
+ file: common_vendor.unref(common_assets.backIcon),
+ width: "18px",
+ height: "18px"
+ }),
+ d: common_vendor.o$1(cancel)
+ } : {}, {
+ e: common_vendor.t(common_vendor.unref(transferTitle))
+ }) : {}, {
+ f: common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(isTransferSearch)
+ }, common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(isTransferSearch) ? {
+ g: common_vendor.unref(searchValue),
+ h: common_vendor.unref(common_vendor.Wt).t("component.请输入userID"),
+ i: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "left-uniapp-input" : ""),
+ j: common_vendor.o$1(handleInput)
+ } : {}, {
+ k: !common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(isTransferSearch)
+ }, !common_vendor.unref(TUIKit_utils_env.isPC) && common_vendor.unref(isTransferSearch) ? {
+ l: common_vendor.unref(common_vendor.Wt).t("component.请输入userID"),
+ m: common_vendor.unref(searchValue),
+ n: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? "left-uniapp-input" : ""),
+ o: common_vendor.o$1(handleInput),
+ p: common_vendor.o$1(handleInput)
+ } : {}, {
+ q: common_vendor.unref(optional).length > 1 && !__props.isRadio
+ }, common_vendor.unref(optional).length > 1 && !__props.isRadio ? common_vendor.e({
+ r: common_vendor.unref(transferSelectedList).length === common_vendor.unref(optional).length
+ }, common_vendor.unref(transferSelectedList).length === common_vendor.unref(optional).length ? {
+ s: common_vendor.p({
+ file: common_vendor.unref(common_assets.selectedIcon),
+ width: "18px",
+ height: "18px"
+ })
+ } : {}, {
+ t: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.全选")),
+ v: common_vendor.o$1(selectedAll)
+ }) : {}, {
+ w: common_vendor.f(common_vendor.unref(transferList), (item, k0, i0) => {
+ return common_vendor.e({
+ a: common_vendor.unref(transferSelectedList).indexOf(item) > -1
+ }, common_vendor.unref(transferSelectedList).indexOf(item) > -1 ? {
+ b: common_vendor.n(item.isDisabled && "disabled"),
+ c: "01b74c91-2-" + i0,
+ d: common_vendor.p({
+ file: common_vendor.unref(common_assets.selectedIcon),
+ width: "18px",
+ height: "18px"
+ })
+ } : {
+ e: common_vendor.n(item.isDisabled && "disabled")
+ }, !common_vendor.unref(isTransferCustomItem) ? common_vendor.e({
+ f: item.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
+ g: common_vendor.t(item.nick || item.userID),
+ h: item.isDisabled
+ }, item.isDisabled ? {
+ i: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.已在群中"))
+ } : {}) : {
+ j: "left-" + i0,
+ k: common_vendor.r("left", {
+ data: item
+ }, i0)
+ }, {
+ l: item.userID,
+ m: common_vendor.o$1(($event) => selected(item), item.userID)
+ });
+ }),
+ x: !common_vendor.unref(isTransferCustomItem),
+ y: common_vendor.unref(transferTotal) > common_vendor.unref(transferList).length
+ }, common_vendor.unref(transferTotal) > common_vendor.unref(transferList).length ? {
+ z: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.查看更多")),
+ A: common_vendor.o$1(getMore)
+ } : {}, {
+ B: common_vendor.unref(TUIKit_utils_env.isPC)
+ }, common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ C: common_vendor.t(common_vendor.unref(transferTitle))
+ } : {}, {
+ D: __props.resultShow
+ }, __props.resultShow ? common_vendor.e({
+ E: common_vendor.unref(transferSelectedList).length > 0 && common_vendor.unref(TUIKit_utils_env.isPC)
+ }, common_vendor.unref(transferSelectedList).length > 0 && common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ F: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.已选中")),
+ G: common_vendor.t(common_vendor.unref(transferSelectedList).length),
+ H: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.人"))
+ } : {}, {
+ I: common_vendor.f(common_vendor.unref(transferSelectedList), (item, index, i0) => {
+ return common_vendor.e(!common_vendor.unref(isTransferCustomItem) ? common_vendor.e({
+ a: item.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
+ b: common_vendor.unref(TUIKit_utils_env.isPC)
+ }, common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ c: common_vendor.t(item.nick || item.userID)
+ } : {}) : {
+ d: "right-" + i0,
+ e: common_vendor.r("right", {
+ data: item
+ }, i0)
+ }, common_vendor.unref(TUIKit_utils_env.isPC) ? {
+ f: "01b74c91-3-" + i0,
+ g: common_vendor.p({
+ file: common_vendor.unref(common_assets.cancelIcon),
+ width: "18px",
+ height: "18px"
+ }),
+ h: common_vendor.o$1(($event) => selected(item), index)
+ } : {}, {
+ i: index
+ });
+ }),
+ J: !common_vendor.unref(isTransferCustomItem),
+ K: common_vendor.unref(TUIKit_utils_env.isPC)
+ }) : {}, {
+ L: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.取消")),
+ M: common_vendor.o$1(cancel),
+ N: common_vendor.unref(transferSelectedList).length > 0
+ }, common_vendor.unref(transferSelectedList).length > 0 ? {
+ O: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.完成")),
+ P: common_vendor.o$1(submit)
+ } : {
+ Q: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("component.完成")),
+ R: common_vendor.o$1(submit)
+ }, {
+ S: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) ? "transfer-h5" : ""),
+ T: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isWeChat) ? "transfer-h5-wechat" : "")
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-01b74c91"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/Transfer/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.json
new file mode 100644
index 0000000..86c55e0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.wxml
new file mode 100644
index 0000000..0028b1f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.wxml
@@ -0,0 +1 @@
+{{t}} {{item.g}} ({{item.i}}) {{z}} {{F}}{{G}}{{H}} {{item.c}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.wxss
new file mode 100644
index 0000000..839884e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/common/Transfer/index.wxss
@@ -0,0 +1,333 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+body.data-v-01b74c91, div.data-v-01b74c91, ul.data-v-01b74c91, ol.data-v-01b74c91, dt.data-v-01b74c91, dd.data-v-01b74c91, li.data-v-01b74c91, dl.data-v-01b74c91, h1.data-v-01b74c91, h2.data-v-01b74c91, h3.data-v-01b74c91, h4.data-v-01b74c91, p.data-v-01b74c91 {
+ margin: 0;
+ padding: 0;
+ font-style: normal;
+ /* font:12px/22px"\5B8B\4F53",Arial,Helvetica,sans-serif; */
+}
+ol.data-v-01b74c91, ul.data-v-01b74c91, li.data-v-01b74c91 {
+ list-style: none;
+}
+img.data-v-01b74c91 {
+ border: 0;
+ vertical-align: middle;
+ pointer-events: none;
+}
+body.data-v-01b74c91 {
+ color: #000;
+ background: #FFF;
+}
+.clear.data-v-01b74c91 {
+ clear: both;
+ height: 1px;
+ width: 100%;
+ overflow: hidden;
+ margin-top: -1px;
+}
+a.data-v-01b74c91 {
+ color: #000;
+ text-decoration: none;
+ cursor: pointer;
+}
+a.data-v-01b74c91:hover {
+ text-decoration: none;
+}
+input.data-v-01b74c91, textarea.data-v-01b74c91 {
+ -webkit-user-select: auto;
+ user-select: auto;
+}
+input.data-v-01b74c91:focus, input.data-v-01b74c91:active, textarea.data-v-01b74c91:focus, textarea.data-v-01b74c91:active {
+ outline: none;
+}
+.chat-aside.data-v-01b74c91 {
+ position: absolute;
+ top: 50px;
+ right: 0;
+ box-sizing: border-box;
+ width: 360px !important;
+ border-radius: 8px 0 0 8px;
+ z-index: 9999;
+ max-height: calc(100% - 50px);
+}
+.main.data-v-01b74c91 {
+ background: #FFF;
+ border: 1px solid #E0E0E0;
+ box-shadow: 0 -4px 12px 0 rgba(0, 0, 0, 0.06);
+}
+.main .left.data-v-01b74c91 {
+ border-right: 1px solid #E8E8E9;
+}
+.main .transfer-header.data-v-01b74c91 {
+ font-weight: 500;
+ color: #000;
+ letter-spacing: 0;
+}
+.main .transfer-header input.data-v-01b74c91 {
+ background: #FFF;
+ border: 1px solid #DEE0E3;
+ font-weight: 500;
+ color: #8F959E;
+ letter-spacing: 0;
+}
+.main .transfer-list .transfer-text.data-v-01b74c91 {
+ font-weight: 500;
+ color: #8F959E;
+ letter-spacing: 0;
+}
+.main .transfer-list-item .disabled.data-v-01b74c91 {
+ background: #eee;
+}
+.btn.data-v-01b74c91 {
+ background: #3370FF;
+ border: 0 solid #2F80ED;
+ font-weight: 400;
+ color: #FFF;
+}
+.btn-cancel.data-v-01b74c91 {
+ background: #FFF;
+ border: 1px solid #DDD;
+ color: #828282;
+}
+.btn-no.data-v-01b74c91 {
+ background: #e8e8e9;
+ border: 1px solid #DDD;
+ font-weight: 400;
+ color: #FFF;
+}
+.transfer-h5-header.data-v-01b74c91 {
+ background: #FFF;
+}
+.transfer-h5-header .title.data-v-01b74c91 {
+ font-family: PingFangSC-Medium;
+ font-weight: 500;
+ color: #000;
+ letter-spacing: 0;
+}
+.avatar.data-v-01b74c91 {
+ width: 36px;
+ height: 36px;
+ border-radius: 5px;
+ font-size: 12px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.main.data-v-01b74c91 {
+ box-sizing: border-box;
+ width: 620px;
+ height: 394px;
+ display: flex;
+ border-radius: 8px;
+ padding: 20px 0;
+}
+.main .transfer-header.data-v-01b74c91 {
+ font-size: 14px;
+ line-height: 14px;
+ padding-bottom: 20px;
+}
+.main .transfer-header input.data-v-01b74c91 {
+ box-sizing: border-box;
+ width: 100%;
+ border-radius: 30px;
+ font-size: 10px;
+ line-height: 14px;
+ padding: 9px 12px;
+}
+.main .transfer-list.data-v-01b74c91 {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+.main .transfer-list .transfer-text.data-v-01b74c91 {
+ font-size: 10px;
+ line-height: 14px;
+}
+.main .transfer-list-item.data-v-01b74c91 {
+ padding: 6px 0;
+ display: flex;
+ align-items: center;
+ font-size: 14px;
+ text-align: left;
+}
+.main .transfer-list-item-content.data-v-01b74c91 {
+ flex: 1;
+ display: flex;
+ align-items: center;
+}
+.main .transfer-list-item .avatar.data-v-01b74c91 {
+ margin: 0 5px 0 8px;
+ border-radius: 50%;
+}
+.main .transfer-list-item .name.data-v-01b74c91 {
+ width: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ flex: 1;
+}
+.main .right.data-v-01b74c91 {
+ padding: 0 20px;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+.main .right .transfer-right-footer.data-v-01b74c91 {
+ align-self: flex-end;
+}
+.main .right .transfer-right-footer .btn-cancel.data-v-01b74c91 {
+ margin-right: 12px;
+}
+.main .right .transfer-list.data-v-01b74c91 {
+ padding-right: 20px;
+ overflow-y: auto;
+}
+.main .left.data-v-01b74c91 {
+ flex: 1;
+ overflow-y: hidden;
+ display: flex;
+ flex-direction: column;
+}
+.main .left .transfer-header.data-v-01b74c91 {
+ padding: 0 20px;
+}
+.main .left .transfer-left-main.data-v-01b74c91 {
+ flex: 1;
+ overflow-y: auto;
+ padding: 0 13px;
+}
+.btn.data-v-01b74c91 {
+ padding: 4px 28px;
+ font-size: 12px;
+ line-height: 24px;
+ border-radius: 4px;
+}
+.btn-no.data-v-01b74c91 {
+ padding: 4px 28px;
+ font-size: 12px;
+ line-height: 24px;
+ border-radius: 4px;
+}
+.space-between.data-v-01b74c91 {
+ justify-content: space-between;
+}
+.select-all.data-v-01b74c91 {
+ padding-left: 8px;
+ font-size: 14px;
+}
+.more.data-v-01b74c91 {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+ font-size: 14px;
+}
+.transfer-h5.data-v-01b74c91 {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+}
+.transfer-h5-wechat.data-v-01b74c91 {
+ width: 100vw;
+ height: 100vh;
+}
+.transfer-h5-header.data-v-01b74c91 {
+ position: relative;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 18px;
+ padding: 16px 18px;
+}
+.transfer-h5-header .space.data-v-01b74c91, .transfer-h5-header .icon.data-v-01b74c91 {
+ width: 18px;
+ height: 18px;
+}
+.transfer-h5 .main.data-v-01b74c91 {
+ flex: 1;
+ flex-direction: column;
+ width: auto;
+ height: auto;
+ border-radius: 0;
+ border: none;
+ box-shadow: none;
+ max-height: calc(100% - 50px);
+ padding: 0;
+}
+.transfer-h5 .main .avatar.data-v-01b74c91 {
+ border-radius: 5px;
+}
+.transfer-h5 .main .left.data-v-01b74c91 {
+ padding: 0;
+ flex: 1;
+ border: none;
+ display: flex;
+ flex-direction: column;
+}
+.transfer-h5 .main .left .transfer-header.data-v-01b74c91 {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ padding: 0 18px;
+}
+.transfer-h5 .main .left .transfer-header input.data-v-01b74c91 {
+ border-radius: 5px;
+ font-size: 14px;
+}
+.transfer-h5 .main .left-uniapp-input.data-v-01b74c91 {
+ height: 36px;
+}
+.transfer-h5 .main .right.data-v-01b74c91 {
+ flex: 0;
+ flex-direction: row;
+ align-items: center;
+ box-shadow: inset 0 1px 0 0 #EEE;
+ padding: 8px 18px;
+}
+.transfer-h5 .main .right .transfer-list.data-v-01b74c91 {
+ flex-direction: row;
+ width: 0;
+}
+.transfer-h5 .main .right .transfer-list-item-content.data-v-01b74c91 {
+ flex: none;
+}
+.transfer-h5 .main .right .transfer-right-footer.data-v-01b74c91 {
+ padding: 6px 0;
+ display: flex;
+ align-items: center;
+}
+.transfer-h5 .main .right .transfer-right-footer .btn.data-v-01b74c91 {
+ font-size: 14px;
+}
+.icon-unselected.data-v-01b74c91 {
+ width: 18px;
+ height: 18px;
+ background: #FFF;
+ border: 1px solid #DDD;
+ border-radius: 11px;
+ box-sizing: border-box;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/components/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/components/index.js
new file mode 100644
index 0000000..d1ef9f2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/components/index.js
@@ -0,0 +1,744 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+require("../adapter-vue.js");
+const TUIKit_utils_env = require("../utils/env.js");
+const TUIKit_components_TUIChat_config = require("./TUIChat/config.js");
+const TUIKit_components_TUIChat_entryChatOnly = require("./TUIChat/entry-chat-only.js");
+const TUIKit_components_TUIChat_utils_utils = require("./TUIChat/utils/utils.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("./TUIChat/offlinePushInfoManager/index.js");
+const stores_counter = require("../../stores/counter.js");
+const components_request = require("../../components/request.js");
+const components_generateMsgId = require("../../components/generateMsgId.js");
+const TUIKit_components_TUIChat_server = require("./TUIChat/server.js");
+const TUIKit_components_TUIConversation_server = require("./TUIConversation/server.js");
+const TUIKit_components_TUISearch_searchTypeList = require("./TUISearch/search-type-list.js");
+const TUIKit_components_TUISearch_searchTimeList = require("./TUISearch/search-time-list.js");
+const TUIKit_components_TUISearch_server = require("./TUISearch/server.js");
+const TUIKit_components_TUIContact_server = require("./TUIContact/server.js");
+const TUIKit_components_TUIGroup_server = require("./TUIGroup/server.js");
+require("./TUIConversation/entry.js");
+if (!Math) {
+ (ChatHeader + Forward + MessageList + MultipleSelectPanel + MessageInputToolbar + MessageInput)();
+}
+const ChatHeader = () => "./TUIChat/chat-header/index.js";
+const MessageList = () => "./TUIChat/message-list/index.js";
+const MessageInput = () => "./TUIChat/message-input/index.js";
+const MultipleSelectPanel = () => "./TUIChat/mulitple-select-panel/index.js";
+const Forward = () => "./TUIChat/forward/index.js";
+const MessageInputToolbar = () => "./TUIChat/message-input-toolbar/index.js";
+const _sfc_main$4 = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ emits: ["closeChat"],
+ setup(__props, { emit: __emit }) {
+ const counter = stores_counter.useCounterStore();
+ let myitem = common_vendor.ref();
+ let youritem = common_vendor.ref();
+ common_vendor.ref();
+ common_vendor.onLoad((options) => {
+ TUIKit_components_TUIChat_entryChatOnly.initChat(options);
+ myitem.value = JSON.parse(options.myitem);
+ common_vendor.index.__f__("log", "at TUIKit/components/TUIChat/index.vue:152", myitem.value);
+ youritem.value = JSON.parse(options.youritem);
+ common_vendor.index.__f__("log", "at TUIKit/components/TUIChat/index.vue:154", youritem.value);
+ counter.$patch({ youritem: youritem.value });
+ setTimeout(() => {
+ sendCustomMessage(myitem.value, youritem.value);
+ }, 1e3);
+ });
+ common_vendor.onUnload(() => {
+ TUIKit_components_TUIChat_entryChatOnly.logout(false).then(() => {
+ }).catch(() => {
+ });
+ });
+ const emits = __emit;
+ const groupID = common_vendor.ref(void 0);
+ const isGroup = common_vendor.ref(false);
+ const isNotInGroup = common_vendor.ref(false);
+ const notInGroupReason = common_vendor.ref();
+ const currentConversationID = common_vendor.ref();
+ const isMultipleSelectMode = common_vendor.ref(false);
+ const inputToolbarDisplayType = common_vendor.ref("none");
+ const messageInputRef = common_vendor.ref();
+ const messageListRef = common_vendor.ref();
+ const headerExtensionList = common_vendor.ref([]);
+ const featureConfig = TUIKit_components_TUIChat_config.ChatConfig.getFeatureConfig();
+ common_vendor.onMounted(() => {
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdate
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CONV, {
+ currentConversation: onCurrentConversationUpdate
+ });
+ reset();
+ });
+ let currentConversation = common_vendor.ref();
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversation: (conversation) => {
+ currentConversation.value = conversation;
+ }
+ });
+ function sendCustomMessage(myitem2, youritem2) {
+ components_request.request({
+ url: "pk/createPkRecord",
+ method: "POST",
+ data: {
+ pkIdA: youritem2.id,
+ pkIdB: myitem2.id,
+ userIdA: youritem2.senderId,
+ userIdB: myitem2.senderId,
+ pkTime: youritem2.pkTime,
+ pkNumber: youritem2.pkNumber,
+ anchorIdA: youritem2.anchorId,
+ anchorIdB: myitem2.anchorId,
+ anchorIconA: youritem2.anchorIcon,
+ anchorIconB: myitem2.anchorIcon,
+ piIdA: youritem2.id,
+ piIdB: myitem2.id
+ },
+ userInfo: true
+ }).then((res) => {
+ var _a, _b, _c, _d, _e;
+ if (res.code === 200) {
+ common_vendor.index.__f__("log", "at TUIKit/components/TUIChat/index.vue:230", "发送成功", res.data);
+ const keyid = components_generateMsgId.generateMsgId();
+ const payload = {
+ data: JSON.stringify({
+ businessID: "pk",
+ keyid,
+ myitem: counter.myitem.id,
+ pkIdA: youritem2.id,
+ pkIdB: myitem2.id,
+ userIdA: youritem2.senderId,
+ userIdB: myitem2.senderId,
+ pkTime: youritem2.pkTime,
+ pkNumber: youritem2.pkNumber,
+ id: res.data.id,
+ link: "https://vv-1317974657.cos.ap-shanghai.myqcloud.com/util/pk.png",
+ btnDisplay: true
+ }),
+ description: "邀请参加PK",
+ extension: "邀请参加PK"
+ };
+ const options = {
+ to: ((_b = (_a = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _a.groupProfile) == null ? void 0 : _b.groupID) || ((_d = (_c = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _c.userProfile) == null ? void 0 : _d.userID),
+ conversationType: (_e = currentConversation == null ? void 0 : currentConversation.value) == null ? void 0 : _e.type,
+ payload,
+ needReadReceipt: TUIKit_components_TUIChat_utils_utils.isEnabledMessageReadReceiptGlobal()
+ };
+ const offlinePushInfoCreateParams = {
+ conversation: currentConversation.value,
+ payload: options.payload,
+ messageType: common_vendor.qt.TYPES.MSG_CUSTOM
+ };
+ const sendMessageOptions = {
+ offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.create(offlinePushInfoCreateParams)
+ };
+ common_vendor.Qt.sendCustomMessage(options, sendMessageOptions).then((res2) => {
+ components_request.request({
+ url: "chat/add",
+ method: "POST",
+ data: {
+ messageInfo: JSON.stringify(res2.data.message),
+ keyId: keyid
+ },
+ userInfo: true
+ });
+ });
+ myitem2.value = null;
+ youritem2.value = null;
+ currentConversation.value = null;
+ } else {
+ common_vendor.index.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 3e3
+ });
+ }
+ });
+ }
+ const isInputToolbarShow = common_vendor.computed(() => {
+ return TUIKit_utils_env.isUniFrameWork ? inputToolbarDisplayType.value !== "none" : true;
+ });
+ const leaveGroupReasonText = common_vendor.computed(() => {
+ let text = "";
+ switch (notInGroupReason.value) {
+ case 4:
+ text = common_vendor.Wt.t("TUIChat.您已被管理员移出群聊");
+ break;
+ case 5:
+ text = common_vendor.Wt.t("TUIChat.该群聊已被解散");
+ break;
+ case 8:
+ text = common_vendor.Wt.t("TUIChat.您已退出该群聊");
+ break;
+ default:
+ text = common_vendor.Wt.t("TUIChat.您已退出该群聊");
+ break;
+ }
+ return text;
+ });
+ const reset = () => {
+ common_vendor.Xt.switchConversation("");
+ };
+ const closeChat = (conversationID) => {
+ emits("closeChat", conversationID);
+ reset();
+ };
+ const insertEmoji = (emojiObj) => {
+ var _a;
+ (_a = messageInputRef.value) == null ? void 0 : _a.insertEmoji(emojiObj);
+ };
+ const handleEditor = (message, type) => {
+ var _a, _b, _c;
+ if (!message || !type)
+ return;
+ switch (type) {
+ case "reference":
+ break;
+ case "reply":
+ break;
+ case "reedit":
+ if ((_a = message == null ? void 0 : message.payload) == null ? void 0 : _a.text) {
+ (_c = messageInputRef == null ? void 0 : messageInputRef.value) == null ? void 0 : _c.reEdit((_b = message == null ? void 0 : message.payload) == null ? void 0 : _b.text);
+ }
+ break;
+ }
+ };
+ const handleGroup = () => {
+ headerExtensionList.value[0].listener.onClicked({ groupID: groupID.value });
+ };
+ function changeToolbarDisplayType(type) {
+ inputToolbarDisplayType.value = inputToolbarDisplayType.value === type ? "none" : type;
+ if (inputToolbarDisplayType.value !== "none" && TUIKit_utils_env.isUniFrameWork) {
+ common_vendor.index.$emit("scroll-to-bottom");
+ }
+ }
+ function scrollToLatestMessage() {
+ var _a;
+ (_a = messageListRef.value) == null ? void 0 : _a.scrollToLatestMessage();
+ }
+ function toggleMultipleSelectMode(visible) {
+ isMultipleSelectMode.value = visible === void 0 ? !isMultipleSelectMode.value : visible;
+ }
+ function mergeForwardMessage() {
+ var _a;
+ (_a = messageListRef.value) == null ? void 0 : _a.mergeForwardMessage();
+ }
+ function oneByOneForwardMessage() {
+ var _a;
+ (_a = messageListRef.value) == null ? void 0 : _a.oneByOneForwardMessage();
+ }
+ function updateUIUserNotInGroup(conversation) {
+ if ((conversation == null ? void 0 : conversation.operationType) > 0) {
+ headerExtensionList.value = [];
+ isNotInGroup.value = true;
+ notInGroupReason.value = conversation == null ? void 0 : conversation.operationType;
+ } else {
+ isNotInGroup.value = false;
+ notInGroupReason.value = void 0;
+ }
+ }
+ function onCurrentConversationUpdate(conversation) {
+ updateUIUserNotInGroup(conversation);
+ if (!conversation) {
+ return;
+ }
+ if (currentConversationID.value === (conversation == null ? void 0 : conversation.conversationID)) {
+ return;
+ }
+ isGroup.value = false;
+ let conversationType = common_vendor.qt.TYPES.CONV_C2C;
+ const conversationID = conversation.conversationID;
+ if (conversationID.startsWith(common_vendor.qt.TYPES.CONV_GROUP)) {
+ conversationType = common_vendor.qt.TYPES.CONV_GROUP;
+ isGroup.value = true;
+ groupID.value = conversationID.replace(common_vendor.qt.TYPES.CONV_GROUP, "");
+ }
+ headerExtensionList.value = [];
+ isMultipleSelectMode.value = false;
+ TUIKit_components_TUIChat_config.ChatConfig.setChatType(conversationType);
+ common_vendor.R.notifyEvent(
+ common_vendor.E.TUIChat.EVENT.CHAT_STATE_CHANGED,
+ common_vendor.E.TUIChat.EVENT_SUB_KEY.CHAT_OPENED,
+ { groupID: groupID.value }
+ );
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUICustomerServicePlugin.SERVICE.NAME,
+ method: common_vendor.E.TUICustomerServicePlugin.SERVICE.METHOD.ACTIVE_CONVERSATION,
+ params: { conversationID }
+ });
+ if (TUIKit_components_TUIChat_config.ChatConfig.getChatType() === common_vendor.E.TUIChat.TYPE.ROOM) {
+ if (TUIKit_components_TUIChat_config.ChatConfig.getFeatureConfig(common_vendor.E.TUIChat.FEATURE.InputVoice) === true) {
+ TUIKit_components_TUIChat_config.ChatConfig.setTheme("light");
+ currentConversationID.value = "";
+ return;
+ }
+ }
+ if (TUIKit_components_TUIChat_config.ChatConfig.getChatType() === common_vendor.E.TUIChat.TYPE.GROUP) {
+ headerExtensionList.value = common_vendor.R.getExtensionList(
+ common_vendor.E.TUIChat.EXTENSION.CHAT_HEADER.EXT_ID
+ );
+ }
+ common_vendor.Jt.update(common_vendor.o.CUSTOM, "activeConversation", conversationID);
+ currentConversationID.value = conversationID;
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: !common_vendor.unref(currentConversationID)
+ }, !common_vendor.unref(currentConversationID) ? {
+ b: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-chat-h5-default")
+ } : {}, {
+ c: common_vendor.unref(currentConversationID)
+ }, common_vendor.unref(currentConversationID) ? common_vendor.e({
+ d: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-chat-H5-header"),
+ e: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && "tui-chat-uniapp-header"),
+ f: common_vendor.o$1(closeChat),
+ g: common_vendor.o$1(handleGroup),
+ h: common_vendor.p({
+ isGroup: common_vendor.unref(isGroup),
+ headerExtensionList: common_vendor.unref(headerExtensionList)
+ }),
+ i: common_vendor.o$1(toggleMultipleSelectMode),
+ j: common_vendor.sr(messageListRef, "04dfedea-2", {
+ "k": "messageListRef"
+ }),
+ k: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-chat-h5-message-list"),
+ l: common_vendor.o$1(handleEditor),
+ m: common_vendor.o$1(() => changeToolbarDisplayType("none")),
+ n: common_vendor.o$1(toggleMultipleSelectMode),
+ o: common_vendor.p({
+ isGroup: common_vendor.unref(isGroup),
+ groupID: common_vendor.unref(groupID),
+ isNotInGroup: common_vendor.unref(isNotInGroup),
+ isMultipleSelectMode: common_vendor.unref(isMultipleSelectMode)
+ }),
+ p: common_vendor.unref(isNotInGroup)
+ }, common_vendor.unref(isNotInGroup) ? {
+ q: common_vendor.t(common_vendor.unref(leaveGroupReasonText)),
+ r: common_vendor.unref(TUIKit_utils_env.isMobile) ? 1 : ""
+ } : common_vendor.unref(isMultipleSelectMode) ? {
+ t: common_vendor.o$1(oneByOneForwardMessage),
+ v: common_vendor.o$1(mergeForwardMessage),
+ w: common_vendor.o$1(toggleMultipleSelectMode)
+ } : common_vendor.e({
+ x: common_vendor.unref(isInputToolbarShow)
+ }, common_vendor.unref(isInputToolbarShow) ? {
+ y: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-chat-h5-message-input-toolbar"),
+ z: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && "tui-chat-uni-message-input-toolbar"),
+ A: common_vendor.o$1(insertEmoji),
+ B: common_vendor.o$1(changeToolbarDisplayType),
+ C: common_vendor.o$1(scrollToLatestMessage),
+ D: common_vendor.p({
+ displayType: common_vendor.unref(inputToolbarDisplayType)
+ })
+ } : {}, {
+ E: common_vendor.sr(messageInputRef, "04dfedea-5", {
+ "k": "messageInputRef"
+ }),
+ F: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-chat-h5-message-input"),
+ G: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && "tui-chat-uni-message-input"),
+ H: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isWeChat) && "tui-chat-wx-message-input"),
+ I: common_vendor.o$1(changeToolbarDisplayType),
+ J: common_vendor.p({
+ enableAt: common_vendor.unref(featureConfig).InputMention,
+ isMuted: false,
+ muteText: common_vendor.unref(common_vendor.Wt).t("TUIChat.您已被管理员禁言"),
+ placeholder: common_vendor.unref(common_vendor.Wt).t("TUIChat.请输入消息"),
+ inputToolbarDisplayType: common_vendor.unref(inputToolbarDisplayType)
+ })
+ }), {
+ s: common_vendor.unref(isMultipleSelectMode),
+ K: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-chat-h5")
+ }) : {}, {
+ L: !common_vendor.unref(isNotInGroup) && !common_vendor.unref(TUIKit_utils_env.isApp) && common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && common_vendor.unref(isGroup) && common_vendor.unref(headerExtensionList).length > 0
+ }, !common_vendor.unref(isNotInGroup) && !common_vendor.unref(TUIKit_utils_env.isApp) && common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && common_vendor.unref(isGroup) && common_vendor.unref(headerExtensionList).length > 0 ? {
+ M: common_vendor.t(common_vendor.unref(headerExtensionList)[0].text),
+ N: common_vendor.o$1(handleGroup)
+ } : {}, {
+ O: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-chat-h5")
+ });
+ };
+ }
+});
+const MiniProgramPage$4 = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main$4, [["__scopeId", "data-v-04dfedea"]]);
+new TUIKit_components_TUIChat_server.TUIChatServer();
+new TUIKit_components_TUIConversation_server.TUIConversationServer();
+if (!Math) {
+ (SearchInput + SearchResult + SearchContainer)();
+}
+const SearchInput = () => "./TUISearch/search-input/index.js";
+const SearchContainer = () => "./TUISearch/search-container/index.js";
+const SearchResult = () => "./TUISearch/search-result/index.js";
+const _sfc_main$3 = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ searchType: { default: () => {
+ return TUIKit_utils_env.isUniFrameWork ? "conversation" : "global";
+ } }
+ },
+ setup(__props) {
+ const props = __props;
+ const globalSearchRef = common_vendor.ref();
+ const currentConversationID = common_vendor.ref("");
+ const searchingStatus = common_vendor.ref(false);
+ const isShowInConversationSearch = common_vendor.ref(TUIKit_utils_env.isUniFrameWork);
+ const isFullScreen = common_vendor.computed(
+ () => !TUIKit_utils_env.isPC && (props.searchType === "global" && searchingStatus.value || props.searchType === "conversation" && isShowInConversationSearch.value)
+ );
+ const initSearchValue = (searchType) => {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchInputValue", {
+ value: "",
+ searchType
+ });
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchMessageType", {
+ value: TUIKit_components_TUISearch_searchTypeList.searchMessageTypeDefault[searchType],
+ searchType
+ });
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchMessageTime", {
+ value: TUIKit_components_TUISearch_searchTimeList.searchMessageTimeDefault,
+ searchType
+ });
+ };
+ function onCurrentConversationIDUpdate(conversationID) {
+ if (!TUIKit_utils_env.isUniFrameWork && currentConversationID.value !== conversationID) {
+ closeInConversationSearch();
+ }
+ currentConversationID.value = conversationID;
+ }
+ function onCurrentSearchingStatusChange(value) {
+ var _a, _b, _c, _d;
+ if ((value == null ? void 0 : value.searchType) === props.searchType) {
+ searchingStatus.value = value == null ? void 0 : value.isSearching;
+ if ((value == null ? void 0 : value.searchType) === "global" && globalSearchRef.value) {
+ if (TUIKit_utils_env.isPC && value.isSearching) {
+ common_vendor.O.listen({
+ domRefs: globalSearchRef.value,
+ handler: closeGlobalSearch
+ });
+ }
+ }
+ if ((value == null ? void 0 : value.searchType) === "global" && TUIKit_utils_env.isUniFrameWork) {
+ value.isSearching ? (_b = (_a = common_vendor.i) == null ? void 0 : _a.hideTabBar()) == null ? void 0 : _b.catch(() => {
+ }) : (_d = (_c = common_vendor.i) == null ? void 0 : _c.showTabBar()) == null ? void 0 : _d.catch(() => {
+ });
+ }
+ }
+ }
+ function onIsShowInConversationSearchChange(value) {
+ isShowInConversationSearch.value = value ? true : false;
+ isShowInConversationSearch.value && initSearchValue(props.searchType);
+ }
+ common_vendor.onMounted(() => {
+ ["global", "conversation"].forEach((type) => {
+ initSearchValue(type);
+ });
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ currentConversationID: onCurrentConversationIDUpdate
+ });
+ common_vendor.Jt.watch(common_vendor.o.SEARCH, {
+ currentSearchingStatus: onCurrentSearchingStatusChange,
+ isShowInConversationSearch: onIsShowInConversationSearchChange
+ });
+ });
+ common_vendor.onUnmounted(() => {
+ common_vendor.Jt.unwatch(common_vendor.o.CONV, {
+ currentConversationID: onCurrentConversationIDUpdate
+ });
+ common_vendor.Jt.unwatch(common_vendor.o.SEARCH, {
+ currentSearchingStatus: onCurrentSearchingStatusChange,
+ isShowInConversationSearch: onIsShowInConversationSearchChange
+ });
+ });
+ function closeGlobalSearch() {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "currentSearchingStatus", {
+ isSearching: false,
+ searchType: props.searchType
+ });
+ }
+ function closeInConversationSearch() {
+ common_vendor.Jt.update(common_vendor.o.SEARCH, "isShowInConversationSearch", false);
+ }
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: _ctx.searchType === "global" || (_ctx.searchType === "conversation" || !_ctx.searchType && common_vendor.unref(TUIKit_utils_env.isUniFrameWork)) && common_vendor.unref(isShowInConversationSearch)
+ }, _ctx.searchType === "global" || (_ctx.searchType === "conversation" || !_ctx.searchType && common_vendor.unref(TUIKit_utils_env.isUniFrameWork)) && common_vendor.unref(isShowInConversationSearch) ? common_vendor.e({
+ b: _ctx.searchType === "global"
+ }, _ctx.searchType === "global" ? common_vendor.e({
+ c: common_vendor.p({
+ searchType: _ctx.searchType
+ }),
+ d: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-search-h5-global-header"),
+ e: common_vendor.unref(searchingStatus)
+ }, common_vendor.unref(searchingStatus) ? {
+ f: common_vendor.p({
+ searchType: _ctx.searchType
+ }),
+ g: common_vendor.p({
+ popupPosition: "bottom",
+ searchType: _ctx.searchType
+ })
+ } : {}, {
+ h: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-search-h5-global")
+ }) : _ctx.searchType === "conversation" && common_vendor.unref(isShowInConversationSearch) || common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? {
+ j: common_vendor.p({
+ searchType: _ctx.searchType ? _ctx.searchType : "conversation"
+ }),
+ k: common_vendor.p({
+ searchType: _ctx.searchType ? _ctx.searchType : "conversation"
+ }),
+ l: common_vendor.o$1(closeInConversationSearch),
+ m: common_vendor.p({
+ popupPosition: "aside",
+ searchType: _ctx.searchType ? _ctx.searchType : "conversation"
+ }),
+ n: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-search-h5-conversation")
+ } : {}, {
+ i: _ctx.searchType === "conversation" && common_vendor.unref(isShowInConversationSearch) || common_vendor.unref(TUIKit_utils_env.isUniFrameWork),
+ o: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-search-h5"),
+ p: common_vendor.n(`tui-search-main-${_ctx.searchType ? _ctx.searchType : "conversation"}`),
+ q: common_vendor.n(common_vendor.unref(isFullScreen) && "tui-search-h5-full-screen")
+ }) : {});
+ };
+ }
+});
+const MiniProgramPage$3 = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main$3, [["__scopeId", "data-v-fdde69b1"]]);
+new TUIKit_components_TUISearch_server.TUISearchServer();
+if (!Math) {
+ (SelectFriend + ContactSearch + ContactList + ContactInfo)();
+}
+const SelectFriend = () => "./TUIContact/select-friend/index.js";
+const ContactSearch = () => "./TUIContact/contact-search/index.js";
+const ContactList = () => "./TUIContact/contact-list/index.js";
+const ContactInfo = () => "./TUIContact/contact-info/index.js";
+const _sfc_main$2 = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ props: {
+ // web/h5 single page application display format, uniapp please ignore
+ displayType: {
+ type: String,
+ default: "contactList",
+ // "contactList" / "selectFriend"
+ require: false
+ }
+ },
+ emits: ["switchConversation"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const props = __props;
+ const displayTypeRef = common_vendor.ref(props.displayType || "contactList");
+ const isShowSelectFriend = common_vendor.ref(false);
+ const isShowContactList = common_vendor.ref(true);
+ const isShowContactInfo = common_vendor.ref(true);
+ common_vendor.watchEffect(() => {
+ isShowContactList.value = (props == null ? void 0 : props.displayType) !== "selectFriend";
+ });
+ common_vendor.Jt.watch(common_vendor.o.CUSTOM, {
+ isShowSelectFriendComponent: (data) => {
+ var _a, _b, _c;
+ if (!TUIKit_utils_env.isUniFrameWork && (props == null ? void 0 : props.displayType) === "selectFriend") {
+ isShowSelectFriend.value = data;
+ isShowContactList.value = false;
+ return;
+ }
+ if (data) {
+ isShowSelectFriend.value = true;
+ if (TUIKit_utils_env.isUniFrameWork) {
+ displayTypeRef.value = "selectFriend";
+ (_a = common_vendor.i) == null ? void 0 : _a.hideTabBar();
+ }
+ } else {
+ isShowSelectFriend.value = false;
+ if (TUIKit_utils_env.isUniFrameWork) {
+ displayTypeRef.value = props.displayType;
+ (_c = (_b = common_vendor.i) == null ? void 0 : _b.showTabBar()) == null ? void 0 : _c.catch(() => {
+ });
+ }
+ }
+ },
+ currentContactInfo: (contactInfo) => {
+ var _a;
+ isShowContactInfo.value = TUIKit_utils_env.isPC || contactInfo && typeof contactInfo === "object" && ((_a = Object.keys(contactInfo)) == null ? void 0 : _a.length) > 0;
+ }
+ });
+ const switchConversation = (data) => {
+ var _a;
+ TUIKit_utils_env.isUniFrameWork && ((_a = common_vendor.i) == null ? void 0 : _a.navigateTo({
+ url: "/TUIKit/components/TUIChat/index"
+ }));
+ emits("switchConversation", data);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isShowSelectFriend)
+ }, common_vendor.unref(isShowSelectFriend) ? {} : common_vendor.unref(isShowContactList) ? common_vendor.e({
+ c: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-h5-left-list"),
+ d: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-h5-left"),
+ e: common_vendor.unref(isShowContactInfo)
+ }, common_vendor.unref(isShowContactInfo) ? {
+ f: common_vendor.o$1(switchConversation),
+ g: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-h5-right")
+ } : {}, {
+ h: common_vendor.n(!common_vendor.unref(TUIKit_utils_env.isPC) && "tui-contact-h5")
+ }) : {}, {
+ b: common_vendor.unref(isShowContactList)
+ });
+ };
+ }
+});
+const MiniProgramPage$2 = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main$2, [["__scopeId", "data-v-32d81a7d"]]);
+TUIKit_components_TUIContact_server.TUIContactServer.getInstance();
+if (!Math) {
+ (CreateGroup + ManageGroup + SelectMember)();
+}
+const CreateGroup = () => "./TUIGroup/create-group/index.js";
+const ManageGroup = () => "./TUIGroup/manage-group/index.js";
+const SelectMember = () => "./TUIGroup/select-member/index.js";
+const _sfc_main$1 = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ setup(__props) {
+ const isShowCreateGroup = common_vendor.ref(false);
+ const isShowManageGroup = common_vendor.ref(false);
+ const isShowSelectMember = common_vendor.ref(false);
+ common_vendor.Jt.watch(common_vendor.o.GRP, {
+ isShowCreateComponent: (data) => {
+ if (data) {
+ isShowCreateGroup.value = true;
+ } else {
+ isShowCreateGroup.value = false;
+ }
+ },
+ isShowManageComponent: (data) => {
+ if (data) {
+ isShowManageGroup.value = true;
+ } else {
+ isShowManageGroup.value = false;
+ }
+ },
+ isShowSelectComponent: (data) => {
+ if (data) {
+ isShowSelectMember.value = true;
+ } else {
+ isShowSelectMember.value = false;
+ }
+ }
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isShowCreateGroup)
+ }, common_vendor.unref(isShowCreateGroup) ? {} : {}, {
+ b: common_vendor.unref(isShowManageGroup)
+ }, common_vendor.unref(isShowManageGroup) ? {} : {}, {
+ c: common_vendor.unref(isShowSelectMember)
+ }, common_vendor.unref(isShowSelectMember) ? {} : {}, {
+ d: common_vendor.n((common_vendor.unref(isShowCreateGroup) || common_vendor.unref(isShowManageGroup) || common_vendor.unref(isShowSelectMember)) && "tui-group")
+ });
+ };
+ }
+});
+const MiniProgramPage$1 = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main$1, [["__scopeId", "data-v-61238656"]]);
+TUIKit_components_TUIGroup_server.TUIGroupServer.getInstance();
+if (!Math) {
+ (TUISearch + ConversationHeader + ConversationNetwork + ConversationList + tabBar)();
+}
+const TUISearch = () => "./TUISearch/index.js";
+const ConversationList = () => "./TUIConversation/conversation-list/index.js";
+const ConversationHeader = () => "./TUIConversation/conversation-header/index.js";
+const ConversationNetwork = () => "./TUIConversation/conversation-network/index.js";
+const tabBar = () => "../../components/tabBar/tabBar.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "index",
+ emits: ["handleSwitchConversation"],
+ setup(__props, { emit: __emit }) {
+ const emits = __emit;
+ const totalUnreadCount = common_vendor.ref(0);
+ const headerRef = common_vendor.ref();
+ const conversationListDomRef = common_vendor.ref();
+ const touchX = common_vendor.ref(0);
+ const touchY = common_vendor.ref(0);
+ const isShowConversationHeader = common_vendor.ref(true);
+ common_vendor.Jt.watch(common_vendor.o.CONV, {
+ totalUnreadCount: (count) => {
+ totalUnreadCount.value = count;
+ }
+ });
+ common_vendor.Jt.watch(common_vendor.o.CUSTOM, {
+ isShowConversationHeader: (showStatus) => {
+ isShowConversationHeader.value = showStatus !== false;
+ }
+ });
+ const handleSwitchConversation = (conversationID) => {
+ var _a;
+ (_a = common_vendor.i) == null ? void 0 : _a.navigateTo({
+ url: "/TUIKit/components/TUIChat/index"
+ });
+ emits("handleSwitchConversation", conversationID);
+ };
+ const closeChildren = () => {
+ var _a, _b;
+ (_a = headerRef == null ? void 0 : headerRef.value) == null ? void 0 : _a.closeChildren();
+ (_b = conversationListDomRef == null ? void 0 : conversationListDomRef.value) == null ? void 0 : _b.closeChildren();
+ };
+ const handleClickConv = () => {
+ closeChildren();
+ };
+ common_vendor.onHide(closeChildren);
+ const handleTouchStart = (e) => {
+ touchX.value = e.changedTouches[0].clientX;
+ touchY.value = e.changedTouches[0].clientY;
+ };
+ const handleTouchEnd = (e) => {
+ const x = e.changedTouches[0].clientX;
+ const y = e.changedTouches[0].clientY;
+ let turn = "";
+ if (x - touchX.value > 50 && Math.abs(y - touchY.value) < 50) {
+ turn = "right";
+ } else if (x - touchX.value < -50 && Math.abs(y - touchY.value) < 50) {
+ turn = "left";
+ }
+ if (y - touchY.value > 50 && Math.abs(x - touchX.value) < 50) {
+ turn = "down";
+ } else if (y - touchY.value < -50 && Math.abs(x - touchX.value) < 50) {
+ turn = "up";
+ }
+ if (turn === "down" || turn === "up") {
+ closeChildren();
+ }
+ };
+ const getPassingRef = (ref2) => {
+ ref2.value = conversationListDomRef.value;
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.p({
+ searchType: "global"
+ }),
+ b: common_vendor.unref(isShowConversationHeader)
+ }, common_vendor.unref(isShowConversationHeader) ? {
+ c: common_vendor.sr(headerRef, "40b33296-1", {
+ "k": "headerRef"
+ })
+ } : {}, {
+ d: common_vendor.sr(conversationListDomRef, "40b33296-3", {
+ "k": "conversationListDomRef"
+ }),
+ e: common_vendor.o$1(handleSwitchConversation),
+ f: common_vendor.o$1(getPassingRef),
+ g: common_vendor.o$1(handleClickConv),
+ h: common_vendor.o$1(handleTouchStart),
+ i: common_vendor.o$1(handleTouchEnd),
+ j: common_vendor.p({
+ tabIndex: 3
+ })
+ });
+ };
+ }
+});
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-40b33296"]]);
+exports.MiniProgramPage = MiniProgramPage;
+exports.MiniProgramPage$1 = MiniProgramPage$4;
+exports.MiniProgramPage$2 = MiniProgramPage$2;
+exports.MiniProgramPage$3 = MiniProgramPage$1;
+exports.MiniProgramPage$4 = MiniProgramPage$3;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/components/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/constant.js b/unpackage/dist/dev/mp-weixin/TUIKit/constant.js
new file mode 100644
index 0000000..1109cca
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/constant.js
@@ -0,0 +1,47 @@
+"use strict";
+const CONV_OPERATION = {
+ DELETE: "delete",
+ ISPINNED: "ispinned",
+ DISPINNED: "dispinned",
+ MUTE: "mute",
+ NOTMUTE: "notmute"
+};
+const CONV_CREATE_TYPE = {
+ TYPEC2C: "isC2C",
+ TYPEGROUP: "isGroup",
+ JOINGROUP: "joinGroup"
+};
+const CHAT_MSG_CUSTOM_TYPE = {
+ SERVICE: "consultion",
+ EVALUATE: "evaluation",
+ LINK: "text_link",
+ PK: "pk",
+ CALL: 1,
+ ORDER: "order"
+};
+const EMOJI_TYPE = {
+ BASIC: "basic",
+ BIG: "big",
+ CUSTOM: "CUSTOM"
+};
+const CONTACT_INFO_LABEL_POSITION = {
+ LEFT: "left",
+ TOP: "top"
+};
+const CONTACT_INFO_MORE_EDIT_TYPE = {
+ INPUT: "input",
+ TEXTAREA: "textarea",
+ SWITCH: "switch"
+};
+const CONTACT_INFO_BUTTON_TYPE = {
+ SUBMIT: "submit",
+ CANCEL: "cancel"
+};
+exports.CHAT_MSG_CUSTOM_TYPE = CHAT_MSG_CUSTOM_TYPE;
+exports.CONTACT_INFO_BUTTON_TYPE = CONTACT_INFO_BUTTON_TYPE;
+exports.CONTACT_INFO_LABEL_POSITION = CONTACT_INFO_LABEL_POSITION;
+exports.CONTACT_INFO_MORE_EDIT_TYPE = CONTACT_INFO_MORE_EDIT_TYPE;
+exports.CONV_CREATE_TYPE = CONV_CREATE_TYPE;
+exports.CONV_OPERATION = CONV_OPERATION;
+exports.EMOJI_TYPE = EMOJI_TYPE;
+//# sourceMappingURL=../../.sourcemap/mp-weixin/TUIKit/constant.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/debug/GenerateTestUserSig.js b/unpackage/dist/dev/mp-weixin/TUIKit/debug/GenerateTestUserSig.js
new file mode 100644
index 0000000..23cbe7b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/debug/GenerateTestUserSig.js
@@ -0,0 +1,3 @@
+"use strict";
+require("./lib-generate-test-usersig-es.min.js");
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/debug/GenerateTestUserSig.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/debug/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/debug/index.js
new file mode 100644
index 0000000..1304f04
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/debug/index.js
@@ -0,0 +1,3 @@
+"use strict";
+require("./lib-generate-test-usersig-es.min.js");
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/debug/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/debug/lib-generate-test-usersig-es.min.js b/unpackage/dist/dev/mp-weixin/TUIKit/debug/lib-generate-test-usersig-es.min.js
new file mode 100644
index 0000000..c023740
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/debug/lib-generate-test-usersig-es.min.js
@@ -0,0 +1,4167 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+var e = "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, t = [], r = [], n = "undefined" != typeof Uint8Array ? Uint8Array : Array, i = false;
+function o() {
+ i = true;
+ for (var e2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", n2 = 0, o2 = e2.length; n2 < o2; ++n2)
+ t[n2] = e2[n2], r[e2.charCodeAt(n2)] = n2;
+ r["-".charCodeAt(0)] = 62, r["_".charCodeAt(0)] = 63;
+}
+function a(e2, r2, n2) {
+ for (var i2, o2, a2 = [], s2 = r2; s2 < n2; s2 += 3)
+ i2 = (e2[s2] << 16) + (e2[s2 + 1] << 8) + e2[s2 + 2], a2.push(t[(o2 = i2) >> 18 & 63] + t[o2 >> 12 & 63] + t[o2 >> 6 & 63] + t[63 & o2]);
+ return a2.join("");
+}
+function s(e2) {
+ var r2;
+ i || o();
+ for (var n2 = e2.length, s2 = n2 % 3, h2 = "", l2 = [], f2 = 0, c2 = n2 - s2; f2 < c2; f2 += 16383)
+ l2.push(a(e2, f2, f2 + 16383 > c2 ? c2 : f2 + 16383));
+ return 1 === s2 ? (r2 = e2[n2 - 1], h2 += t[r2 >> 2], h2 += t[r2 << 4 & 63], h2 += "==") : 2 === s2 && (r2 = (e2[n2 - 2] << 8) + e2[n2 - 1], h2 += t[r2 >> 10], h2 += t[r2 >> 4 & 63], h2 += t[r2 << 2 & 63], h2 += "="), l2.push(h2), l2.join("");
+}
+function h(e2, t2, r2, n2, i2) {
+ var o2, a2, s2 = 8 * i2 - n2 - 1, h2 = (1 << s2) - 1, l2 = h2 >> 1, f2 = -7, c2 = r2 ? i2 - 1 : 0, u2 = r2 ? -1 : 1, d2 = e2[t2 + c2];
+ for (c2 += u2, o2 = d2 & (1 << -f2) - 1, d2 >>= -f2, f2 += s2; f2 > 0; o2 = 256 * o2 + e2[t2 + c2], c2 += u2, f2 -= 8)
+ ;
+ for (a2 = o2 & (1 << -f2) - 1, o2 >>= -f2, f2 += n2; f2 > 0; a2 = 256 * a2 + e2[t2 + c2], c2 += u2, f2 -= 8)
+ ;
+ if (0 === o2)
+ o2 = 1 - l2;
+ else {
+ if (o2 === h2)
+ return a2 ? NaN : 1 / 0 * (d2 ? -1 : 1);
+ a2 += Math.pow(2, n2), o2 -= l2;
+ }
+ return (d2 ? -1 : 1) * a2 * Math.pow(2, o2 - n2);
+}
+function l(e2, t2, r2, n2, i2, o2) {
+ var a2, s2, h2, l2 = 8 * o2 - i2 - 1, f2 = (1 << l2) - 1, c2 = f2 >> 1, u2 = 23 === i2 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, d2 = n2 ? 0 : o2 - 1, p2 = n2 ? 1 : -1, _2 = t2 < 0 || 0 === t2 && 1 / t2 < 0 ? 1 : 0;
+ for (t2 = Math.abs(t2), isNaN(t2) || t2 === 1 / 0 ? (s2 = isNaN(t2) ? 1 : 0, a2 = f2) : (a2 = Math.floor(Math.log(t2) / Math.LN2), t2 * (h2 = Math.pow(2, -a2)) < 1 && (a2--, h2 *= 2), (t2 += a2 + c2 >= 1 ? u2 / h2 : u2 * Math.pow(2, 1 - c2)) * h2 >= 2 && (a2++, h2 /= 2), a2 + c2 >= f2 ? (s2 = 0, a2 = f2) : a2 + c2 >= 1 ? (s2 = (t2 * h2 - 1) * Math.pow(2, i2), a2 += c2) : (s2 = t2 * Math.pow(2, c2 - 1) * Math.pow(2, i2), a2 = 0)); i2 >= 8; e2[r2 + d2] = 255 & s2, d2 += p2, s2 /= 256, i2 -= 8)
+ ;
+ for (a2 = a2 << i2 | s2, l2 += i2; l2 > 0; e2[r2 + d2] = 255 & a2, d2 += p2, a2 /= 256, l2 -= 8)
+ ;
+ e2[r2 + d2 - p2] |= 128 * _2;
+}
+var f = {}.toString, c = Array.isArray || function(e2) {
+ return "[object Array]" == f.call(e2);
+};
+function u() {
+ return p.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
+}
+function d(e2, t2) {
+ if (u() < t2)
+ throw new RangeError("Invalid typed array length");
+ return p.TYPED_ARRAY_SUPPORT ? (e2 = new Uint8Array(t2)).__proto__ = p.prototype : (null === e2 && (e2 = new p(t2)), e2.length = t2), e2;
+}
+function p(e2, t2, r2) {
+ if (!(p.TYPED_ARRAY_SUPPORT || this instanceof p))
+ return new p(e2, t2, r2);
+ if ("number" == typeof e2) {
+ if ("string" == typeof t2)
+ throw new Error("If encoding is specified then the first argument must be a string");
+ return v(this, e2);
+ }
+ return _(this, e2, t2, r2);
+}
+function _(e2, t2, r2, n2) {
+ if ("number" == typeof t2)
+ throw new TypeError('"value" argument must not be a number');
+ return "undefined" != typeof ArrayBuffer && t2 instanceof ArrayBuffer ? function(e3, t3, r3, n3) {
+ if (t3.byteLength, r3 < 0 || t3.byteLength < r3)
+ throw new RangeError("'offset' is out of bounds");
+ if (t3.byteLength < r3 + (n3 || 0))
+ throw new RangeError("'length' is out of bounds");
+ t3 = void 0 === r3 && void 0 === n3 ? new Uint8Array(t3) : void 0 === n3 ? new Uint8Array(t3, r3) : new Uint8Array(t3, r3, n3);
+ p.TYPED_ARRAY_SUPPORT ? (e3 = t3).__proto__ = p.prototype : e3 = w(e3, t3);
+ return e3;
+ }(e2, t2, r2, n2) : "string" == typeof t2 ? function(e3, t3, r3) {
+ "string" == typeof r3 && "" !== r3 || (r3 = "utf8");
+ if (!p.isEncoding(r3))
+ throw new TypeError('"encoding" must be a valid string encoding');
+ var n3 = 0 | m(t3, r3), i2 = (e3 = d(e3, n3)).write(t3, r3);
+ i2 !== n3 && (e3 = e3.slice(0, i2));
+ return e3;
+ }(e2, t2, r2) : function(e3, t3) {
+ if (y(t3)) {
+ var r3 = 0 | b(t3.length);
+ return 0 === (e3 = d(e3, r3)).length ? e3 : (t3.copy(e3, 0, 0, r3), e3);
+ }
+ if (t3) {
+ if ("undefined" != typeof ArrayBuffer && t3.buffer instanceof ArrayBuffer || "length" in t3)
+ return "number" != typeof t3.length || (n3 = t3.length) != n3 ? d(e3, 0) : w(e3, t3);
+ if ("Buffer" === t3.type && c(t3.data))
+ return w(e3, t3.data);
+ }
+ var n3;
+ throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.");
+ }(e2, t2);
+}
+function g(e2) {
+ if ("number" != typeof e2)
+ throw new TypeError('"size" argument must be a number');
+ if (e2 < 0)
+ throw new RangeError('"size" argument must not be negative');
+}
+function v(e2, t2) {
+ if (g(t2), e2 = d(e2, t2 < 0 ? 0 : 0 | b(t2)), !p.TYPED_ARRAY_SUPPORT)
+ for (var r2 = 0; r2 < t2; ++r2)
+ e2[r2] = 0;
+ return e2;
+}
+function w(e2, t2) {
+ var r2 = t2.length < 0 ? 0 : 0 | b(t2.length);
+ e2 = d(e2, r2);
+ for (var n2 = 0; n2 < r2; n2 += 1)
+ e2[n2] = 255 & t2[n2];
+ return e2;
+}
+function b(e2) {
+ if (e2 >= u())
+ throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + u().toString(16) + " bytes");
+ return 0 | e2;
+}
+function y(e2) {
+ return !(null == e2 || !e2._isBuffer);
+}
+function m(e2, t2) {
+ if (y(e2))
+ return e2.length;
+ if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e2) || e2 instanceof ArrayBuffer))
+ return e2.byteLength;
+ "string" != typeof e2 && (e2 = "" + e2);
+ var r2 = e2.length;
+ if (0 === r2)
+ return 0;
+ for (var n2 = false; ; )
+ switch (t2) {
+ case "ascii":
+ case "latin1":
+ case "binary":
+ return r2;
+ case "utf8":
+ case "utf-8":
+ case void 0:
+ return q(e2).length;
+ case "ucs2":
+ case "ucs-2":
+ case "utf16le":
+ case "utf-16le":
+ return 2 * r2;
+ case "hex":
+ return r2 >>> 1;
+ case "base64":
+ return V(e2).length;
+ default:
+ if (n2)
+ return q(e2).length;
+ t2 = ("" + t2).toLowerCase(), n2 = true;
+ }
+}
+function k(e2, t2, r2) {
+ var n2 = false;
+ if ((void 0 === t2 || t2 < 0) && (t2 = 0), t2 > this.length)
+ return "";
+ if ((void 0 === r2 || r2 > this.length) && (r2 = this.length), r2 <= 0)
+ return "";
+ if ((r2 >>>= 0) <= (t2 >>>= 0))
+ return "";
+ for (e2 || (e2 = "utf8"); ; )
+ switch (e2) {
+ case "hex":
+ return O(this, t2, r2);
+ case "utf8":
+ case "utf-8":
+ return C(this, t2, r2);
+ case "ascii":
+ return I(this, t2, r2);
+ case "latin1":
+ case "binary":
+ return P(this, t2, r2);
+ case "base64":
+ return M(this, t2, r2);
+ case "ucs2":
+ case "ucs-2":
+ case "utf16le":
+ case "utf-16le":
+ return U(this, t2, r2);
+ default:
+ if (n2)
+ throw new TypeError("Unknown encoding: " + e2);
+ e2 = (e2 + "").toLowerCase(), n2 = true;
+ }
+}
+function E(e2, t2, r2) {
+ var n2 = e2[t2];
+ e2[t2] = e2[r2], e2[r2] = n2;
+}
+function S(e2, t2, r2, n2, i2) {
+ if (0 === e2.length)
+ return -1;
+ if ("string" == typeof r2 ? (n2 = r2, r2 = 0) : r2 > 2147483647 ? r2 = 2147483647 : r2 < -2147483648 && (r2 = -2147483648), r2 = +r2, isNaN(r2) && (r2 = i2 ? 0 : e2.length - 1), r2 < 0 && (r2 = e2.length + r2), r2 >= e2.length) {
+ if (i2)
+ return -1;
+ r2 = e2.length - 1;
+ } else if (r2 < 0) {
+ if (!i2)
+ return -1;
+ r2 = 0;
+ }
+ if ("string" == typeof t2 && (t2 = p.from(t2, n2)), y(t2))
+ return 0 === t2.length ? -1 : x(e2, t2, r2, n2, i2);
+ if ("number" == typeof t2)
+ return t2 &= 255, p.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? i2 ? Uint8Array.prototype.indexOf.call(e2, t2, r2) : Uint8Array.prototype.lastIndexOf.call(e2, t2, r2) : x(e2, [t2], r2, n2, i2);
+ throw new TypeError("val must be string, number or Buffer");
+}
+function x(e2, t2, r2, n2, i2) {
+ var o2, a2 = 1, s2 = e2.length, h2 = t2.length;
+ if (void 0 !== n2 && ("ucs2" === (n2 = String(n2).toLowerCase()) || "ucs-2" === n2 || "utf16le" === n2 || "utf-16le" === n2)) {
+ if (e2.length < 2 || t2.length < 2)
+ return -1;
+ a2 = 2, s2 /= 2, h2 /= 2, r2 /= 2;
+ }
+ function l2(e3, t3) {
+ return 1 === a2 ? e3[t3] : e3.readUInt16BE(t3 * a2);
+ }
+ if (i2) {
+ var f2 = -1;
+ for (o2 = r2; o2 < s2; o2++)
+ if (l2(e2, o2) === l2(t2, -1 === f2 ? 0 : o2 - f2)) {
+ if (-1 === f2 && (f2 = o2), o2 - f2 + 1 === h2)
+ return f2 * a2;
+ } else
+ -1 !== f2 && (o2 -= o2 - f2), f2 = -1;
+ } else
+ for (r2 + h2 > s2 && (r2 = s2 - h2), o2 = r2; o2 >= 0; o2--) {
+ for (var c2 = true, u2 = 0; u2 < h2; u2++)
+ if (l2(e2, o2 + u2) !== l2(t2, u2)) {
+ c2 = false;
+ break;
+ }
+ if (c2)
+ return o2;
+ }
+ return -1;
+}
+function R(e2, t2, r2, n2) {
+ r2 = Number(r2) || 0;
+ var i2 = e2.length - r2;
+ n2 ? (n2 = Number(n2)) > i2 && (n2 = i2) : n2 = i2;
+ var o2 = t2.length;
+ if (o2 % 2 != 0)
+ throw new TypeError("Invalid hex string");
+ n2 > o2 / 2 && (n2 = o2 / 2);
+ for (var a2 = 0; a2 < n2; ++a2) {
+ var s2 = parseInt(t2.substr(2 * a2, 2), 16);
+ if (isNaN(s2))
+ return a2;
+ e2[r2 + a2] = s2;
+ }
+ return a2;
+}
+function A(e2, t2, r2, n2) {
+ return G(q(t2, e2.length - r2), e2, r2, n2);
+}
+function B(e2, t2, r2, n2) {
+ return G(function(e3) {
+ for (var t3 = [], r3 = 0; r3 < e3.length; ++r3)
+ t3.push(255 & e3.charCodeAt(r3));
+ return t3;
+ }(t2), e2, r2, n2);
+}
+function z(e2, t2, r2, n2) {
+ return B(e2, t2, r2, n2);
+}
+function L(e2, t2, r2, n2) {
+ return G(V(t2), e2, r2, n2);
+}
+function T(e2, t2, r2, n2) {
+ return G(function(e3, t3) {
+ for (var r3, n3, i2, o2 = [], a2 = 0; a2 < e3.length && !((t3 -= 2) < 0); ++a2)
+ r3 = e3.charCodeAt(a2), n3 = r3 >> 8, i2 = r3 % 256, o2.push(i2), o2.push(n3);
+ return o2;
+ }(t2, e2.length - r2), e2, r2, n2);
+}
+function M(e2, t2, r2) {
+ return 0 === t2 && r2 === e2.length ? s(e2) : s(e2.slice(t2, r2));
+}
+function C(e2, t2, r2) {
+ r2 = Math.min(e2.length, r2);
+ for (var n2 = [], i2 = t2; i2 < r2; ) {
+ var o2, a2, s2, h2, l2 = e2[i2], f2 = null, c2 = l2 > 239 ? 4 : l2 > 223 ? 3 : l2 > 191 ? 2 : 1;
+ if (i2 + c2 <= r2)
+ switch (c2) {
+ case 1:
+ l2 < 128 && (f2 = l2);
+ break;
+ case 2:
+ 128 == (192 & (o2 = e2[i2 + 1])) && (h2 = (31 & l2) << 6 | 63 & o2) > 127 && (f2 = h2);
+ break;
+ case 3:
+ o2 = e2[i2 + 1], a2 = e2[i2 + 2], 128 == (192 & o2) && 128 == (192 & a2) && (h2 = (15 & l2) << 12 | (63 & o2) << 6 | 63 & a2) > 2047 && (h2 < 55296 || h2 > 57343) && (f2 = h2);
+ break;
+ case 4:
+ o2 = e2[i2 + 1], a2 = e2[i2 + 2], s2 = e2[i2 + 3], 128 == (192 & o2) && 128 == (192 & a2) && 128 == (192 & s2) && (h2 = (15 & l2) << 18 | (63 & o2) << 12 | (63 & a2) << 6 | 63 & s2) > 65535 && h2 < 1114112 && (f2 = h2);
+ }
+ null === f2 ? (f2 = 65533, c2 = 1) : f2 > 65535 && (f2 -= 65536, n2.push(f2 >>> 10 & 1023 | 55296), f2 = 56320 | 1023 & f2), n2.push(f2), i2 += c2;
+ }
+ return function(e3) {
+ var t3 = e3.length;
+ if (t3 <= D)
+ return String.fromCharCode.apply(String, e3);
+ var r3 = "", n3 = 0;
+ for (; n3 < t3; )
+ r3 += String.fromCharCode.apply(String, e3.slice(n3, n3 += D));
+ return r3;
+ }(n2);
+}
+p.TYPED_ARRAY_SUPPORT = void 0 === e.TYPED_ARRAY_SUPPORT || e.TYPED_ARRAY_SUPPORT, p.poolSize = 8192, p._augment = function(e2) {
+ return e2.__proto__ = p.prototype, e2;
+}, p.from = function(e2, t2, r2) {
+ return _(null, e2, t2, r2);
+}, p.TYPED_ARRAY_SUPPORT && (p.prototype.__proto__ = Uint8Array.prototype, p.__proto__ = Uint8Array), p.alloc = function(e2, t2, r2) {
+ return function(e3, t3, r3, n2) {
+ return g(t3), t3 <= 0 ? d(e3, t3) : void 0 !== r3 ? "string" == typeof n2 ? d(e3, t3).fill(r3, n2) : d(e3, t3).fill(r3) : d(e3, t3);
+ }(null, e2, t2, r2);
+}, p.allocUnsafe = function(e2) {
+ return v(null, e2);
+}, p.allocUnsafeSlow = function(e2) {
+ return v(null, e2);
+}, p.isBuffer = $, p.compare = function(e2, t2) {
+ if (!y(e2) || !y(t2))
+ throw new TypeError("Arguments must be Buffers");
+ if (e2 === t2)
+ return 0;
+ for (var r2 = e2.length, n2 = t2.length, i2 = 0, o2 = Math.min(r2, n2); i2 < o2; ++i2)
+ if (e2[i2] !== t2[i2]) {
+ r2 = e2[i2], n2 = t2[i2];
+ break;
+ }
+ return r2 < n2 ? -1 : n2 < r2 ? 1 : 0;
+}, p.isEncoding = function(e2) {
+ switch (String(e2).toLowerCase()) {
+ case "hex":
+ case "utf8":
+ case "utf-8":
+ case "ascii":
+ case "latin1":
+ case "binary":
+ case "base64":
+ case "ucs2":
+ case "ucs-2":
+ case "utf16le":
+ case "utf-16le":
+ return true;
+ default:
+ return false;
+ }
+}, p.concat = function(e2, t2) {
+ if (!c(e2))
+ throw new TypeError('"list" argument must be an Array of Buffers');
+ if (0 === e2.length)
+ return p.alloc(0);
+ var r2;
+ if (void 0 === t2)
+ for (t2 = 0, r2 = 0; r2 < e2.length; ++r2)
+ t2 += e2[r2].length;
+ var n2 = p.allocUnsafe(t2), i2 = 0;
+ for (r2 = 0; r2 < e2.length; ++r2) {
+ var o2 = e2[r2];
+ if (!y(o2))
+ throw new TypeError('"list" argument must be an Array of Buffers');
+ o2.copy(n2, i2), i2 += o2.length;
+ }
+ return n2;
+}, p.byteLength = m, p.prototype._isBuffer = true, p.prototype.swap16 = function() {
+ var e2 = this.length;
+ if (e2 % 2 != 0)
+ throw new RangeError("Buffer size must be a multiple of 16-bits");
+ for (var t2 = 0; t2 < e2; t2 += 2)
+ E(this, t2, t2 + 1);
+ return this;
+}, p.prototype.swap32 = function() {
+ var e2 = this.length;
+ if (e2 % 4 != 0)
+ throw new RangeError("Buffer size must be a multiple of 32-bits");
+ for (var t2 = 0; t2 < e2; t2 += 4)
+ E(this, t2, t2 + 3), E(this, t2 + 1, t2 + 2);
+ return this;
+}, p.prototype.swap64 = function() {
+ var e2 = this.length;
+ if (e2 % 8 != 0)
+ throw new RangeError("Buffer size must be a multiple of 64-bits");
+ for (var t2 = 0; t2 < e2; t2 += 8)
+ E(this, t2, t2 + 7), E(this, t2 + 1, t2 + 6), E(this, t2 + 2, t2 + 5), E(this, t2 + 3, t2 + 4);
+ return this;
+}, p.prototype.toString = function() {
+ var e2 = 0 | this.length;
+ return 0 === e2 ? "" : 0 === arguments.length ? C(this, 0, e2) : k.apply(this, arguments);
+}, p.prototype.equals = function(e2) {
+ if (!y(e2))
+ throw new TypeError("Argument must be a Buffer");
+ return this === e2 || 0 === p.compare(this, e2);
+}, p.prototype.inspect = function() {
+ var e2 = "";
+ return this.length > 0 && (e2 = this.toString("hex", 0, 50).match(/.{2}/g).join(" "), this.length > 50 && (e2 += " ... ")), "";
+}, p.prototype.compare = function(e2, t2, r2, n2, i2) {
+ if (!y(e2))
+ throw new TypeError("Argument must be a Buffer");
+ if (void 0 === t2 && (t2 = 0), void 0 === r2 && (r2 = e2 ? e2.length : 0), void 0 === n2 && (n2 = 0), void 0 === i2 && (i2 = this.length), t2 < 0 || r2 > e2.length || n2 < 0 || i2 > this.length)
+ throw new RangeError("out of range index");
+ if (n2 >= i2 && t2 >= r2)
+ return 0;
+ if (n2 >= i2)
+ return -1;
+ if (t2 >= r2)
+ return 1;
+ if (this === e2)
+ return 0;
+ for (var o2 = (i2 >>>= 0) - (n2 >>>= 0), a2 = (r2 >>>= 0) - (t2 >>>= 0), s2 = Math.min(o2, a2), h2 = this.slice(n2, i2), l2 = e2.slice(t2, r2), f2 = 0; f2 < s2; ++f2)
+ if (h2[f2] !== l2[f2]) {
+ o2 = h2[f2], a2 = l2[f2];
+ break;
+ }
+ return o2 < a2 ? -1 : a2 < o2 ? 1 : 0;
+}, p.prototype.includes = function(e2, t2, r2) {
+ return -1 !== this.indexOf(e2, t2, r2);
+}, p.prototype.indexOf = function(e2, t2, r2) {
+ return S(this, e2, t2, r2, true);
+}, p.prototype.lastIndexOf = function(e2, t2, r2) {
+ return S(this, e2, t2, r2, false);
+}, p.prototype.write = function(e2, t2, r2, n2) {
+ if (void 0 === t2)
+ n2 = "utf8", r2 = this.length, t2 = 0;
+ else if (void 0 === r2 && "string" == typeof t2)
+ n2 = t2, r2 = this.length, t2 = 0;
+ else {
+ if (!isFinite(t2))
+ throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
+ t2 |= 0, isFinite(r2) ? (r2 |= 0, void 0 === n2 && (n2 = "utf8")) : (n2 = r2, r2 = void 0);
+ }
+ var i2 = this.length - t2;
+ if ((void 0 === r2 || r2 > i2) && (r2 = i2), e2.length > 0 && (r2 < 0 || t2 < 0) || t2 > this.length)
+ throw new RangeError("Attempt to write outside buffer bounds");
+ n2 || (n2 = "utf8");
+ for (var o2 = false; ; )
+ switch (n2) {
+ case "hex":
+ return R(this, e2, t2, r2);
+ case "utf8":
+ case "utf-8":
+ return A(this, e2, t2, r2);
+ case "ascii":
+ return B(this, e2, t2, r2);
+ case "latin1":
+ case "binary":
+ return z(this, e2, t2, r2);
+ case "base64":
+ return L(this, e2, t2, r2);
+ case "ucs2":
+ case "ucs-2":
+ case "utf16le":
+ case "utf-16le":
+ return T(this, e2, t2, r2);
+ default:
+ if (o2)
+ throw new TypeError("Unknown encoding: " + n2);
+ n2 = ("" + n2).toLowerCase(), o2 = true;
+ }
+}, p.prototype.toJSON = function() {
+ return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) };
+};
+var D = 4096;
+function I(e2, t2, r2) {
+ var n2 = "";
+ r2 = Math.min(e2.length, r2);
+ for (var i2 = t2; i2 < r2; ++i2)
+ n2 += String.fromCharCode(127 & e2[i2]);
+ return n2;
+}
+function P(e2, t2, r2) {
+ var n2 = "";
+ r2 = Math.min(e2.length, r2);
+ for (var i2 = t2; i2 < r2; ++i2)
+ n2 += String.fromCharCode(e2[i2]);
+ return n2;
+}
+function O(e2, t2, r2) {
+ var n2 = e2.length;
+ (!t2 || t2 < 0) && (t2 = 0), (!r2 || r2 < 0 || r2 > n2) && (r2 = n2);
+ for (var i2 = "", o2 = t2; o2 < r2; ++o2)
+ i2 += X(e2[o2]);
+ return i2;
+}
+function U(e2, t2, r2) {
+ for (var n2 = e2.slice(t2, r2), i2 = "", o2 = 0; o2 < n2.length; o2 += 2)
+ i2 += String.fromCharCode(n2[o2] + 256 * n2[o2 + 1]);
+ return i2;
+}
+function H(e2, t2, r2) {
+ if (e2 % 1 != 0 || e2 < 0)
+ throw new RangeError("offset is not uint");
+ if (e2 + t2 > r2)
+ throw new RangeError("Trying to access beyond buffer length");
+}
+function F(e2, t2, r2, n2, i2, o2) {
+ if (!y(e2))
+ throw new TypeError('"buffer" argument must be a Buffer instance');
+ if (t2 > i2 || t2 < o2)
+ throw new RangeError('"value" argument is out of bounds');
+ if (r2 + n2 > e2.length)
+ throw new RangeError("Index out of range");
+}
+function N(e2, t2, r2, n2) {
+ t2 < 0 && (t2 = 65535 + t2 + 1);
+ for (var i2 = 0, o2 = Math.min(e2.length - r2, 2); i2 < o2; ++i2)
+ e2[r2 + i2] = (t2 & 255 << 8 * (n2 ? i2 : 1 - i2)) >>> 8 * (n2 ? i2 : 1 - i2);
+}
+function Z(e2, t2, r2, n2) {
+ t2 < 0 && (t2 = 4294967295 + t2 + 1);
+ for (var i2 = 0, o2 = Math.min(e2.length - r2, 4); i2 < o2; ++i2)
+ e2[r2 + i2] = t2 >>> 8 * (n2 ? i2 : 3 - i2) & 255;
+}
+function j(e2, t2, r2, n2, i2, o2) {
+ if (r2 + n2 > e2.length)
+ throw new RangeError("Index out of range");
+ if (r2 < 0)
+ throw new RangeError("Index out of range");
+}
+function W(e2, t2, r2, n2, i2) {
+ return i2 || j(e2, 0, r2, 4), l(e2, t2, r2, n2, 23, 4), r2 + 4;
+}
+function Y(e2, t2, r2, n2, i2) {
+ return i2 || j(e2, 0, r2, 8), l(e2, t2, r2, n2, 52, 8), r2 + 8;
+}
+p.prototype.slice = function(e2, t2) {
+ var r2, n2 = this.length;
+ if ((e2 = ~~e2) < 0 ? (e2 += n2) < 0 && (e2 = 0) : e2 > n2 && (e2 = n2), (t2 = void 0 === t2 ? n2 : ~~t2) < 0 ? (t2 += n2) < 0 && (t2 = 0) : t2 > n2 && (t2 = n2), t2 < e2 && (t2 = e2), p.TYPED_ARRAY_SUPPORT)
+ (r2 = this.subarray(e2, t2)).__proto__ = p.prototype;
+ else {
+ var i2 = t2 - e2;
+ r2 = new p(i2, void 0);
+ for (var o2 = 0; o2 < i2; ++o2)
+ r2[o2] = this[o2 + e2];
+ }
+ return r2;
+}, p.prototype.readUIntLE = function(e2, t2, r2) {
+ e2 |= 0, t2 |= 0, r2 || H(e2, t2, this.length);
+ for (var n2 = this[e2], i2 = 1, o2 = 0; ++o2 < t2 && (i2 *= 256); )
+ n2 += this[e2 + o2] * i2;
+ return n2;
+}, p.prototype.readUIntBE = function(e2, t2, r2) {
+ e2 |= 0, t2 |= 0, r2 || H(e2, t2, this.length);
+ for (var n2 = this[e2 + --t2], i2 = 1; t2 > 0 && (i2 *= 256); )
+ n2 += this[e2 + --t2] * i2;
+ return n2;
+}, p.prototype.readUInt8 = function(e2, t2) {
+ return t2 || H(e2, 1, this.length), this[e2];
+}, p.prototype.readUInt16LE = function(e2, t2) {
+ return t2 || H(e2, 2, this.length), this[e2] | this[e2 + 1] << 8;
+}, p.prototype.readUInt16BE = function(e2, t2) {
+ return t2 || H(e2, 2, this.length), this[e2] << 8 | this[e2 + 1];
+}, p.prototype.readUInt32LE = function(e2, t2) {
+ return t2 || H(e2, 4, this.length), (this[e2] | this[e2 + 1] << 8 | this[e2 + 2] << 16) + 16777216 * this[e2 + 3];
+}, p.prototype.readUInt32BE = function(e2, t2) {
+ return t2 || H(e2, 4, this.length), 16777216 * this[e2] + (this[e2 + 1] << 16 | this[e2 + 2] << 8 | this[e2 + 3]);
+}, p.prototype.readIntLE = function(e2, t2, r2) {
+ e2 |= 0, t2 |= 0, r2 || H(e2, t2, this.length);
+ for (var n2 = this[e2], i2 = 1, o2 = 0; ++o2 < t2 && (i2 *= 256); )
+ n2 += this[e2 + o2] * i2;
+ return n2 >= (i2 *= 128) && (n2 -= Math.pow(2, 8 * t2)), n2;
+}, p.prototype.readIntBE = function(e2, t2, r2) {
+ e2 |= 0, t2 |= 0, r2 || H(e2, t2, this.length);
+ for (var n2 = t2, i2 = 1, o2 = this[e2 + --n2]; n2 > 0 && (i2 *= 256); )
+ o2 += this[e2 + --n2] * i2;
+ return o2 >= (i2 *= 128) && (o2 -= Math.pow(2, 8 * t2)), o2;
+}, p.prototype.readInt8 = function(e2, t2) {
+ return t2 || H(e2, 1, this.length), 128 & this[e2] ? -1 * (255 - this[e2] + 1) : this[e2];
+}, p.prototype.readInt16LE = function(e2, t2) {
+ t2 || H(e2, 2, this.length);
+ var r2 = this[e2] | this[e2 + 1] << 8;
+ return 32768 & r2 ? 4294901760 | r2 : r2;
+}, p.prototype.readInt16BE = function(e2, t2) {
+ t2 || H(e2, 2, this.length);
+ var r2 = this[e2 + 1] | this[e2] << 8;
+ return 32768 & r2 ? 4294901760 | r2 : r2;
+}, p.prototype.readInt32LE = function(e2, t2) {
+ return t2 || H(e2, 4, this.length), this[e2] | this[e2 + 1] << 8 | this[e2 + 2] << 16 | this[e2 + 3] << 24;
+}, p.prototype.readInt32BE = function(e2, t2) {
+ return t2 || H(e2, 4, this.length), this[e2] << 24 | this[e2 + 1] << 16 | this[e2 + 2] << 8 | this[e2 + 3];
+}, p.prototype.readFloatLE = function(e2, t2) {
+ return t2 || H(e2, 4, this.length), h(this, e2, true, 23, 4);
+}, p.prototype.readFloatBE = function(e2, t2) {
+ return t2 || H(e2, 4, this.length), h(this, e2, false, 23, 4);
+}, p.prototype.readDoubleLE = function(e2, t2) {
+ return t2 || H(e2, 8, this.length), h(this, e2, true, 52, 8);
+}, p.prototype.readDoubleBE = function(e2, t2) {
+ return t2 || H(e2, 8, this.length), h(this, e2, false, 52, 8);
+}, p.prototype.writeUIntLE = function(e2, t2, r2, n2) {
+ (e2 = +e2, t2 |= 0, r2 |= 0, n2) || F(this, e2, t2, r2, Math.pow(2, 8 * r2) - 1, 0);
+ var i2 = 1, o2 = 0;
+ for (this[t2] = 255 & e2; ++o2 < r2 && (i2 *= 256); )
+ this[t2 + o2] = e2 / i2 & 255;
+ return t2 + r2;
+}, p.prototype.writeUIntBE = function(e2, t2, r2, n2) {
+ (e2 = +e2, t2 |= 0, r2 |= 0, n2) || F(this, e2, t2, r2, Math.pow(2, 8 * r2) - 1, 0);
+ var i2 = r2 - 1, o2 = 1;
+ for (this[t2 + i2] = 255 & e2; --i2 >= 0 && (o2 *= 256); )
+ this[t2 + i2] = e2 / o2 & 255;
+ return t2 + r2;
+}, p.prototype.writeUInt8 = function(e2, t2, r2) {
+ return e2 = +e2, t2 |= 0, r2 || F(this, e2, t2, 1, 255, 0), p.TYPED_ARRAY_SUPPORT || (e2 = Math.floor(e2)), this[t2] = 255 & e2, t2 + 1;
+}, p.prototype.writeUInt16LE = function(e2, t2, r2) {
+ return e2 = +e2, t2 |= 0, r2 || F(this, e2, t2, 2, 65535, 0), p.TYPED_ARRAY_SUPPORT ? (this[t2] = 255 & e2, this[t2 + 1] = e2 >>> 8) : N(this, e2, t2, true), t2 + 2;
+}, p.prototype.writeUInt16BE = function(e2, t2, r2) {
+ return e2 = +e2, t2 |= 0, r2 || F(this, e2, t2, 2, 65535, 0), p.TYPED_ARRAY_SUPPORT ? (this[t2] = e2 >>> 8, this[t2 + 1] = 255 & e2) : N(this, e2, t2, false), t2 + 2;
+}, p.prototype.writeUInt32LE = function(e2, t2, r2) {
+ return e2 = +e2, t2 |= 0, r2 || F(this, e2, t2, 4, 4294967295, 0), p.TYPED_ARRAY_SUPPORT ? (this[t2 + 3] = e2 >>> 24, this[t2 + 2] = e2 >>> 16, this[t2 + 1] = e2 >>> 8, this[t2] = 255 & e2) : Z(this, e2, t2, true), t2 + 4;
+}, p.prototype.writeUInt32BE = function(e2, t2, r2) {
+ return e2 = +e2, t2 |= 0, r2 || F(this, e2, t2, 4, 4294967295, 0), p.TYPED_ARRAY_SUPPORT ? (this[t2] = e2 >>> 24, this[t2 + 1] = e2 >>> 16, this[t2 + 2] = e2 >>> 8, this[t2 + 3] = 255 & e2) : Z(this, e2, t2, false), t2 + 4;
+}, p.prototype.writeIntLE = function(e2, t2, r2, n2) {
+ if (e2 = +e2, t2 |= 0, !n2) {
+ var i2 = Math.pow(2, 8 * r2 - 1);
+ F(this, e2, t2, r2, i2 - 1, -i2);
+ }
+ var o2 = 0, a2 = 1, s2 = 0;
+ for (this[t2] = 255 & e2; ++o2 < r2 && (a2 *= 256); )
+ e2 < 0 && 0 === s2 && 0 !== this[t2 + o2 - 1] && (s2 = 1), this[t2 + o2] = (e2 / a2 >> 0) - s2 & 255;
+ return t2 + r2;
+}, p.prototype.writeIntBE = function(e2, t2, r2, n2) {
+ if (e2 = +e2, t2 |= 0, !n2) {
+ var i2 = Math.pow(2, 8 * r2 - 1);
+ F(this, e2, t2, r2, i2 - 1, -i2);
+ }
+ var o2 = r2 - 1, a2 = 1, s2 = 0;
+ for (this[t2 + o2] = 255 & e2; --o2 >= 0 && (a2 *= 256); )
+ e2 < 0 && 0 === s2 && 0 !== this[t2 + o2 + 1] && (s2 = 1), this[t2 + o2] = (e2 / a2 >> 0) - s2 & 255;
+ return t2 + r2;
+}, p.prototype.writeInt8 = function(e2, t2, r2) {
+ return e2 = +e2, t2 |= 0, r2 || F(this, e2, t2, 1, 127, -128), p.TYPED_ARRAY_SUPPORT || (e2 = Math.floor(e2)), e2 < 0 && (e2 = 255 + e2 + 1), this[t2] = 255 & e2, t2 + 1;
+}, p.prototype.writeInt16LE = function(e2, t2, r2) {
+ return e2 = +e2, t2 |= 0, r2 || F(this, e2, t2, 2, 32767, -32768), p.TYPED_ARRAY_SUPPORT ? (this[t2] = 255 & e2, this[t2 + 1] = e2 >>> 8) : N(this, e2, t2, true), t2 + 2;
+}, p.prototype.writeInt16BE = function(e2, t2, r2) {
+ return e2 = +e2, t2 |= 0, r2 || F(this, e2, t2, 2, 32767, -32768), p.TYPED_ARRAY_SUPPORT ? (this[t2] = e2 >>> 8, this[t2 + 1] = 255 & e2) : N(this, e2, t2, false), t2 + 2;
+}, p.prototype.writeInt32LE = function(e2, t2, r2) {
+ return e2 = +e2, t2 |= 0, r2 || F(this, e2, t2, 4, 2147483647, -2147483648), p.TYPED_ARRAY_SUPPORT ? (this[t2] = 255 & e2, this[t2 + 1] = e2 >>> 8, this[t2 + 2] = e2 >>> 16, this[t2 + 3] = e2 >>> 24) : Z(this, e2, t2, true), t2 + 4;
+}, p.prototype.writeInt32BE = function(e2, t2, r2) {
+ return e2 = +e2, t2 |= 0, r2 || F(this, e2, t2, 4, 2147483647, -2147483648), e2 < 0 && (e2 = 4294967295 + e2 + 1), p.TYPED_ARRAY_SUPPORT ? (this[t2] = e2 >>> 24, this[t2 + 1] = e2 >>> 16, this[t2 + 2] = e2 >>> 8, this[t2 + 3] = 255 & e2) : Z(this, e2, t2, false), t2 + 4;
+}, p.prototype.writeFloatLE = function(e2, t2, r2) {
+ return W(this, e2, t2, true, r2);
+}, p.prototype.writeFloatBE = function(e2, t2, r2) {
+ return W(this, e2, t2, false, r2);
+}, p.prototype.writeDoubleLE = function(e2, t2, r2) {
+ return Y(this, e2, t2, true, r2);
+}, p.prototype.writeDoubleBE = function(e2, t2, r2) {
+ return Y(this, e2, t2, false, r2);
+}, p.prototype.copy = function(e2, t2, r2, n2) {
+ if (r2 || (r2 = 0), n2 || 0 === n2 || (n2 = this.length), t2 >= e2.length && (t2 = e2.length), t2 || (t2 = 0), n2 > 0 && n2 < r2 && (n2 = r2), n2 === r2)
+ return 0;
+ if (0 === e2.length || 0 === this.length)
+ return 0;
+ if (t2 < 0)
+ throw new RangeError("targetStart out of bounds");
+ if (r2 < 0 || r2 >= this.length)
+ throw new RangeError("sourceStart out of bounds");
+ if (n2 < 0)
+ throw new RangeError("sourceEnd out of bounds");
+ n2 > this.length && (n2 = this.length), e2.length - t2 < n2 - r2 && (n2 = e2.length - t2 + r2);
+ var i2, o2 = n2 - r2;
+ if (this === e2 && r2 < t2 && t2 < n2)
+ for (i2 = o2 - 1; i2 >= 0; --i2)
+ e2[i2 + t2] = this[i2 + r2];
+ else if (o2 < 1e3 || !p.TYPED_ARRAY_SUPPORT)
+ for (i2 = 0; i2 < o2; ++i2)
+ e2[i2 + t2] = this[i2 + r2];
+ else
+ Uint8Array.prototype.set.call(e2, this.subarray(r2, r2 + o2), t2);
+ return o2;
+}, p.prototype.fill = function(e2, t2, r2, n2) {
+ if ("string" == typeof e2) {
+ if ("string" == typeof t2 ? (n2 = t2, t2 = 0, r2 = this.length) : "string" == typeof r2 && (n2 = r2, r2 = this.length), 1 === e2.length) {
+ var i2 = e2.charCodeAt(0);
+ i2 < 256 && (e2 = i2);
+ }
+ if (void 0 !== n2 && "string" != typeof n2)
+ throw new TypeError("encoding must be a string");
+ if ("string" == typeof n2 && !p.isEncoding(n2))
+ throw new TypeError("Unknown encoding: " + n2);
+ } else
+ "number" == typeof e2 && (e2 &= 255);
+ if (t2 < 0 || this.length < t2 || this.length < r2)
+ throw new RangeError("Out of range index");
+ if (r2 <= t2)
+ return this;
+ var o2;
+ if (t2 >>>= 0, r2 = void 0 === r2 ? this.length : r2 >>> 0, e2 || (e2 = 0), "number" == typeof e2)
+ for (o2 = t2; o2 < r2; ++o2)
+ this[o2] = e2;
+ else {
+ var a2 = y(e2) ? e2 : q(new p(e2, n2).toString()), s2 = a2.length;
+ for (o2 = 0; o2 < r2 - t2; ++o2)
+ this[o2 + t2] = a2[o2 % s2];
+ }
+ return this;
+};
+var K = /[^+\/0-9A-Za-z-_]/g;
+function X(e2) {
+ return e2 < 16 ? "0" + e2.toString(16) : e2.toString(16);
+}
+function q(e2, t2) {
+ var r2;
+ t2 = t2 || 1 / 0;
+ for (var n2 = e2.length, i2 = null, o2 = [], a2 = 0; a2 < n2; ++a2) {
+ if ((r2 = e2.charCodeAt(a2)) > 55295 && r2 < 57344) {
+ if (!i2) {
+ if (r2 > 56319) {
+ (t2 -= 3) > -1 && o2.push(239, 191, 189);
+ continue;
+ }
+ if (a2 + 1 === n2) {
+ (t2 -= 3) > -1 && o2.push(239, 191, 189);
+ continue;
+ }
+ i2 = r2;
+ continue;
+ }
+ if (r2 < 56320) {
+ (t2 -= 3) > -1 && o2.push(239, 191, 189), i2 = r2;
+ continue;
+ }
+ r2 = 65536 + (i2 - 55296 << 10 | r2 - 56320);
+ } else
+ i2 && (t2 -= 3) > -1 && o2.push(239, 191, 189);
+ if (i2 = null, r2 < 128) {
+ if ((t2 -= 1) < 0)
+ break;
+ o2.push(r2);
+ } else if (r2 < 2048) {
+ if ((t2 -= 2) < 0)
+ break;
+ o2.push(r2 >> 6 | 192, 63 & r2 | 128);
+ } else if (r2 < 65536) {
+ if ((t2 -= 3) < 0)
+ break;
+ o2.push(r2 >> 12 | 224, r2 >> 6 & 63 | 128, 63 & r2 | 128);
+ } else {
+ if (!(r2 < 1114112))
+ throw new Error("Invalid code point");
+ if ((t2 -= 4) < 0)
+ break;
+ o2.push(r2 >> 18 | 240, r2 >> 12 & 63 | 128, r2 >> 6 & 63 | 128, 63 & r2 | 128);
+ }
+ }
+ return o2;
+}
+function V(e2) {
+ return function(e3) {
+ var t2, a2, s2, h2, l2, f2;
+ i || o();
+ var c2 = e3.length;
+ if (c2 % 4 > 0)
+ throw new Error("Invalid string. Length must be a multiple of 4");
+ l2 = "=" === e3[c2 - 2] ? 2 : "=" === e3[c2 - 1] ? 1 : 0, f2 = new n(3 * c2 / 4 - l2), s2 = l2 > 0 ? c2 - 4 : c2;
+ var u2 = 0;
+ for (t2 = 0, a2 = 0; t2 < s2; t2 += 4, a2 += 3)
+ h2 = r[e3.charCodeAt(t2)] << 18 | r[e3.charCodeAt(t2 + 1)] << 12 | r[e3.charCodeAt(t2 + 2)] << 6 | r[e3.charCodeAt(t2 + 3)], f2[u2++] = h2 >> 16 & 255, f2[u2++] = h2 >> 8 & 255, f2[u2++] = 255 & h2;
+ return 2 === l2 ? (h2 = r[e3.charCodeAt(t2)] << 2 | r[e3.charCodeAt(t2 + 1)] >> 4, f2[u2++] = 255 & h2) : 1 === l2 && (h2 = r[e3.charCodeAt(t2)] << 10 | r[e3.charCodeAt(t2 + 1)] << 4 | r[e3.charCodeAt(t2 + 2)] >> 2, f2[u2++] = h2 >> 8 & 255, f2[u2++] = 255 & h2), f2;
+ }(function(e3) {
+ if ((e3 = function(e4) {
+ return e4.trim ? e4.trim() : e4.replace(/^\s+|\s+$/g, "");
+ }(e3).replace(K, "")).length < 2)
+ return "";
+ for (; e3.length % 4 != 0; )
+ e3 += "=";
+ return e3;
+ }(e2));
+}
+function G(e2, t2, r2, n2) {
+ for (var i2 = 0; i2 < n2 && !(i2 + r2 >= t2.length || i2 >= e2.length); ++i2)
+ t2[i2 + r2] = e2[i2];
+ return i2;
+}
+function $(e2) {
+ return null != e2 && (!!e2._isBuffer || J(e2) || function(e3) {
+ return "function" == typeof e3.readFloatLE && "function" == typeof e3.slice && J(e3.slice(0, 0));
+ }(e2));
+}
+function J(e2) {
+ return !!e2.constructor && "function" == typeof e2.constructor.isBuffer && e2.constructor.isBuffer(e2);
+}
+function Q(e2, t2) {
+ return e2(t2 = { exports: {} }, t2.exports), t2.exports;
+}
+var ee = Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = r2 || function(e3, t3) {
+ var r3 = Object.create || /* @__PURE__ */ function() {
+ function e4() {
+ }
+ return function(t4) {
+ var r4;
+ return e4.prototype = t4, r4 = new e4(), e4.prototype = null, r4;
+ };
+ }(), n2 = {}, i2 = n2.lib = {}, o2 = i2.Base = { extend: function(e4) {
+ var t4 = r3(this);
+ return e4 && t4.mixIn(e4), t4.hasOwnProperty("init") && this.init !== t4.init || (t4.init = function() {
+ t4.$super.init.apply(this, arguments);
+ }), t4.init.prototype = t4, t4.$super = this, t4;
+ }, create: function() {
+ var e4 = this.extend();
+ return e4.init.apply(e4, arguments), e4;
+ }, init: function() {
+ }, mixIn: function(e4) {
+ for (var t4 in e4)
+ e4.hasOwnProperty(t4) && (this[t4] = e4[t4]);
+ e4.hasOwnProperty("toString") && (this.toString = e4.toString);
+ }, clone: function() {
+ return this.init.prototype.extend(this);
+ } }, a2 = i2.WordArray = o2.extend({ init: function(e4, t4) {
+ e4 = this.words = e4 || [], this.sigBytes = null != t4 ? t4 : 4 * e4.length;
+ }, toString: function(e4) {
+ return (e4 || h2).stringify(this);
+ }, concat: function(e4) {
+ var t4 = this.words, r4 = e4.words, n3 = this.sigBytes, i3 = e4.sigBytes;
+ if (this.clamp(), n3 % 4)
+ for (var o3 = 0; o3 < i3; o3++) {
+ var a3 = r4[o3 >>> 2] >>> 24 - o3 % 4 * 8 & 255;
+ t4[n3 + o3 >>> 2] |= a3 << 24 - (n3 + o3) % 4 * 8;
+ }
+ else
+ for (var o3 = 0; o3 < i3; o3 += 4)
+ t4[n3 + o3 >>> 2] = r4[o3 >>> 2];
+ return this.sigBytes += i3, this;
+ }, clamp: function() {
+ var t4 = this.words, r4 = this.sigBytes;
+ t4[r4 >>> 2] &= 4294967295 << 32 - r4 % 4 * 8, t4.length = e3.ceil(r4 / 4);
+ }, clone: function() {
+ var e4 = o2.clone.call(this);
+ return e4.words = this.words.slice(0), e4;
+ }, random: function(t4) {
+ for (var r4, n3 = [], i3 = function(t5) {
+ var t5 = t5, r5 = 987654321, n4 = 4294967295;
+ return function() {
+ var i4 = ((r5 = 36969 * (65535 & r5) + (r5 >> 16) & n4) << 16) + (t5 = 18e3 * (65535 & t5) + (t5 >> 16) & n4) & n4;
+ return i4 /= 4294967296, (i4 += 0.5) * (e3.random() > 0.5 ? 1 : -1);
+ };
+ }, o3 = 0; o3 < t4; o3 += 4) {
+ var s3 = i3(4294967296 * (r4 || e3.random()));
+ r4 = 987654071 * s3(), n3.push(4294967296 * s3() | 0);
+ }
+ return new a2.init(n3, t4);
+ } }), s2 = n2.enc = {}, h2 = s2.Hex = { stringify: function(e4) {
+ for (var t4 = e4.words, r4 = e4.sigBytes, n3 = [], i3 = 0; i3 < r4; i3++) {
+ var o3 = t4[i3 >>> 2] >>> 24 - i3 % 4 * 8 & 255;
+ n3.push((o3 >>> 4).toString(16)), n3.push((15 & o3).toString(16));
+ }
+ return n3.join("");
+ }, parse: function(e4) {
+ for (var t4 = e4.length, r4 = [], n3 = 0; n3 < t4; n3 += 2)
+ r4[n3 >>> 3] |= parseInt(e4.substr(n3, 2), 16) << 24 - n3 % 8 * 4;
+ return new a2.init(r4, t4 / 2);
+ } }, l2 = s2.Latin1 = { stringify: function(e4) {
+ for (var t4 = e4.words, r4 = e4.sigBytes, n3 = [], i3 = 0; i3 < r4; i3++) {
+ var o3 = t4[i3 >>> 2] >>> 24 - i3 % 4 * 8 & 255;
+ n3.push(String.fromCharCode(o3));
+ }
+ return n3.join("");
+ }, parse: function(e4) {
+ for (var t4 = e4.length, r4 = [], n3 = 0; n3 < t4; n3++)
+ r4[n3 >>> 2] |= (255 & e4.charCodeAt(n3)) << 24 - n3 % 4 * 8;
+ return new a2.init(r4, t4);
+ } }, f2 = s2.Utf8 = { stringify: function(e4) {
+ try {
+ return decodeURIComponent(escape(l2.stringify(e4)));
+ } catch (e5) {
+ throw new Error("Malformed UTF-8 data");
+ }
+ }, parse: function(e4) {
+ return l2.parse(unescape(encodeURIComponent(e4)));
+ } }, c2 = i2.BufferedBlockAlgorithm = o2.extend({ reset: function() {
+ this._data = new a2.init(), this._nDataBytes = 0;
+ }, _append: function(e4) {
+ "string" == typeof e4 && (e4 = f2.parse(e4)), this._data.concat(e4), this._nDataBytes += e4.sigBytes;
+ }, _process: function(t4) {
+ var r4 = this._data, n3 = r4.words, i3 = r4.sigBytes, o3 = this.blockSize, s3 = 4 * o3, h3 = i3 / s3, l3 = (h3 = t4 ? e3.ceil(h3) : e3.max((0 | h3) - this._minBufferSize, 0)) * o3, f3 = e3.min(4 * l3, i3);
+ if (l3) {
+ for (var c3 = 0; c3 < l3; c3 += o3)
+ this._doProcessBlock(n3, c3);
+ var u3 = n3.splice(0, l3);
+ r4.sigBytes -= f3;
+ }
+ return new a2.init(u3, f3);
+ }, clone: function() {
+ var e4 = o2.clone.call(this);
+ return e4._data = this._data.clone(), e4;
+ }, _minBufferSize: 0 }), u2 = (i2.Hasher = c2.extend({ cfg: o2.extend(), init: function(e4) {
+ this.cfg = this.cfg.extend(e4), this.reset();
+ }, reset: function() {
+ c2.reset.call(this), this._doReset();
+ }, update: function(e4) {
+ return this._append(e4), this._process(), this;
+ }, finalize: function(e4) {
+ e4 && this._append(e4);
+ var t4 = this._doFinalize();
+ return t4;
+ }, blockSize: 16, _createHelper: function(e4) {
+ return function(t4, r4) {
+ return new e4.init(r4).finalize(t4);
+ };
+ }, _createHmacHelper: function(e4) {
+ return function(t4, r4) {
+ return new u2.HMAC.init(e4, r4).finalize(t4);
+ };
+ } }), n2.algo = {});
+ return n2;
+ }(Math), r2);
+});
+Q(function(e2, t2) {
+ var r2, n2, i2, o2, a2, s2;
+ e2.exports = (i2 = (n2 = r2 = ee).lib, o2 = i2.Base, a2 = i2.WordArray, (s2 = n2.x64 = {}).Word = o2.extend({ init: function(e3, t3) {
+ this.high = e3, this.low = t3;
+ } }), s2.WordArray = o2.extend({ init: function(e3, t3) {
+ e3 = this.words = e3 || [], this.sigBytes = null != t3 ? t3 : 8 * e3.length;
+ }, toX32: function() {
+ for (var e3 = this.words, t3 = e3.length, r3 = [], n3 = 0; n3 < t3; n3++) {
+ var i3 = e3[n3];
+ r3.push(i3.high), r3.push(i3.low);
+ }
+ return a2.create(r3, this.sigBytes);
+ }, clone: function() {
+ for (var e3 = o2.clone.call(this), t3 = e3.words = this.words.slice(0), r3 = t3.length, n3 = 0; n3 < r3; n3++)
+ t3[n3] = t3[n3].clone();
+ return e3;
+ } }), r2);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function() {
+ if ("function" == typeof ArrayBuffer) {
+ var e3 = r2.lib.WordArray, t3 = e3.init;
+ (e3.init = function(e4) {
+ if (e4 instanceof ArrayBuffer && (e4 = new Uint8Array(e4)), (e4 instanceof Int8Array || "undefined" != typeof Uint8ClampedArray && e4 instanceof Uint8ClampedArray || e4 instanceof Int16Array || e4 instanceof Uint16Array || e4 instanceof Int32Array || e4 instanceof Uint32Array || e4 instanceof Float32Array || e4 instanceof Float64Array) && (e4 = new Uint8Array(e4.buffer, e4.byteOffset, e4.byteLength)), e4 instanceof Uint8Array) {
+ for (var r3 = e4.byteLength, n2 = [], i2 = 0; i2 < r3; i2++)
+ n2[i2 >>> 2] |= e4[i2] << 24 - i2 % 4 * 8;
+ t3.call(this, n2, r3);
+ } else
+ t3.apply(this, arguments);
+ }).prototype = e3;
+ }
+ }(), r2.lib.WordArray);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function() {
+ var e3 = r2, t3 = e3.lib.WordArray, n2 = e3.enc;
+ function i2(e4) {
+ return e4 << 8 & 4278255360 | e4 >>> 8 & 16711935;
+ }
+ n2.Utf16 = n2.Utf16BE = { stringify: function(e4) {
+ for (var t4 = e4.words, r3 = e4.sigBytes, n3 = [], i3 = 0; i3 < r3; i3 += 2) {
+ var o2 = t4[i3 >>> 2] >>> 16 - i3 % 4 * 8 & 65535;
+ n3.push(String.fromCharCode(o2));
+ }
+ return n3.join("");
+ }, parse: function(e4) {
+ for (var r3 = e4.length, n3 = [], i3 = 0; i3 < r3; i3++)
+ n3[i3 >>> 1] |= e4.charCodeAt(i3) << 16 - i3 % 2 * 16;
+ return t3.create(n3, 2 * r3);
+ } }, n2.Utf16LE = { stringify: function(e4) {
+ for (var t4 = e4.words, r3 = e4.sigBytes, n3 = [], o2 = 0; o2 < r3; o2 += 2) {
+ var a2 = i2(t4[o2 >>> 2] >>> 16 - o2 % 4 * 8 & 65535);
+ n3.push(String.fromCharCode(a2));
+ }
+ return n3.join("");
+ }, parse: function(e4) {
+ for (var r3 = e4.length, n3 = [], o2 = 0; o2 < r3; o2++)
+ n3[o2 >>> 1] |= i2(e4.charCodeAt(o2) << 16 - o2 % 2 * 16);
+ return t3.create(n3, 2 * r3);
+ } };
+ }(), r2.enc.Utf16);
+}), Q(function(e2, t2) {
+ var r2, n2, i2;
+ e2.exports = (i2 = (n2 = r2 = ee).lib.WordArray, n2.enc.Base64 = { stringify: function(e3) {
+ var t3 = e3.words, r3 = e3.sigBytes, n3 = this._map;
+ e3.clamp();
+ for (var i3 = [], o2 = 0; o2 < r3; o2 += 3)
+ for (var a2 = (t3[o2 >>> 2] >>> 24 - o2 % 4 * 8 & 255) << 16 | (t3[o2 + 1 >>> 2] >>> 24 - (o2 + 1) % 4 * 8 & 255) << 8 | t3[o2 + 2 >>> 2] >>> 24 - (o2 + 2) % 4 * 8 & 255, s2 = 0; s2 < 4 && o2 + 0.75 * s2 < r3; s2++)
+ i3.push(n3.charAt(a2 >>> 6 * (3 - s2) & 63));
+ var h2 = n3.charAt(64);
+ if (h2)
+ for (; i3.length % 4; )
+ i3.push(h2);
+ return i3.join("");
+ }, parse: function(e3) {
+ var t3 = e3.length, r3 = this._map, n3 = this._reverseMap;
+ if (!n3) {
+ n3 = this._reverseMap = [];
+ for (var o2 = 0; o2 < r3.length; o2++)
+ n3[r3.charCodeAt(o2)] = o2;
+ }
+ var a2 = r3.charAt(64);
+ if (a2) {
+ var s2 = e3.indexOf(a2);
+ -1 !== s2 && (t3 = s2);
+ }
+ return function(e4, t4, r4) {
+ for (var n4 = [], o3 = 0, a3 = 0; a3 < t4; a3++)
+ if (a3 % 4) {
+ var s3 = r4[e4.charCodeAt(a3 - 1)] << a3 % 4 * 2, h2 = r4[e4.charCodeAt(a3)] >>> 6 - a3 % 4 * 2;
+ n4[o3 >>> 2] |= (s3 | h2) << 24 - o3 % 4 * 8, o3++;
+ }
+ return i2.create(n4, o3);
+ }(e3, t3, n3);
+ }, _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" }, r2.enc.Base64);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function(e3) {
+ var t3 = r2, n2 = t3.lib, i2 = n2.WordArray, o2 = n2.Hasher, a2 = t3.algo, s2 = [];
+ !function() {
+ for (var t4 = 0; t4 < 64; t4++)
+ s2[t4] = 4294967296 * e3.abs(e3.sin(t4 + 1)) | 0;
+ }();
+ var h2 = a2.MD5 = o2.extend({ _doReset: function() {
+ this._hash = new i2.init([1732584193, 4023233417, 2562383102, 271733878]);
+ }, _doProcessBlock: function(e4, t4) {
+ for (var r3 = 0; r3 < 16; r3++) {
+ var n3 = t4 + r3, i3 = e4[n3];
+ e4[n3] = 16711935 & (i3 << 8 | i3 >>> 24) | 4278255360 & (i3 << 24 | i3 >>> 8);
+ }
+ var o3 = this._hash.words, a3 = e4[t4 + 0], h3 = e4[t4 + 1], d2 = e4[t4 + 2], p2 = e4[t4 + 3], _2 = e4[t4 + 4], g2 = e4[t4 + 5], v2 = e4[t4 + 6], w2 = e4[t4 + 7], b2 = e4[t4 + 8], y2 = e4[t4 + 9], m2 = e4[t4 + 10], k2 = e4[t4 + 11], E2 = e4[t4 + 12], S2 = e4[t4 + 13], x2 = e4[t4 + 14], R2 = e4[t4 + 15], A2 = o3[0], B2 = o3[1], z2 = o3[2], L2 = o3[3];
+ A2 = l2(A2, B2, z2, L2, a3, 7, s2[0]), L2 = l2(L2, A2, B2, z2, h3, 12, s2[1]), z2 = l2(z2, L2, A2, B2, d2, 17, s2[2]), B2 = l2(B2, z2, L2, A2, p2, 22, s2[3]), A2 = l2(A2, B2, z2, L2, _2, 7, s2[4]), L2 = l2(L2, A2, B2, z2, g2, 12, s2[5]), z2 = l2(z2, L2, A2, B2, v2, 17, s2[6]), B2 = l2(B2, z2, L2, A2, w2, 22, s2[7]), A2 = l2(A2, B2, z2, L2, b2, 7, s2[8]), L2 = l2(L2, A2, B2, z2, y2, 12, s2[9]), z2 = l2(z2, L2, A2, B2, m2, 17, s2[10]), B2 = l2(B2, z2, L2, A2, k2, 22, s2[11]), A2 = l2(A2, B2, z2, L2, E2, 7, s2[12]), L2 = l2(L2, A2, B2, z2, S2, 12, s2[13]), z2 = l2(z2, L2, A2, B2, x2, 17, s2[14]), A2 = f2(A2, B2 = l2(B2, z2, L2, A2, R2, 22, s2[15]), z2, L2, h3, 5, s2[16]), L2 = f2(L2, A2, B2, z2, v2, 9, s2[17]), z2 = f2(z2, L2, A2, B2, k2, 14, s2[18]), B2 = f2(B2, z2, L2, A2, a3, 20, s2[19]), A2 = f2(A2, B2, z2, L2, g2, 5, s2[20]), L2 = f2(L2, A2, B2, z2, m2, 9, s2[21]), z2 = f2(z2, L2, A2, B2, R2, 14, s2[22]), B2 = f2(B2, z2, L2, A2, _2, 20, s2[23]), A2 = f2(A2, B2, z2, L2, y2, 5, s2[24]), L2 = f2(L2, A2, B2, z2, x2, 9, s2[25]), z2 = f2(z2, L2, A2, B2, p2, 14, s2[26]), B2 = f2(B2, z2, L2, A2, b2, 20, s2[27]), A2 = f2(A2, B2, z2, L2, S2, 5, s2[28]), L2 = f2(L2, A2, B2, z2, d2, 9, s2[29]), z2 = f2(z2, L2, A2, B2, w2, 14, s2[30]), A2 = c2(A2, B2 = f2(B2, z2, L2, A2, E2, 20, s2[31]), z2, L2, g2, 4, s2[32]), L2 = c2(L2, A2, B2, z2, b2, 11, s2[33]), z2 = c2(z2, L2, A2, B2, k2, 16, s2[34]), B2 = c2(B2, z2, L2, A2, x2, 23, s2[35]), A2 = c2(A2, B2, z2, L2, h3, 4, s2[36]), L2 = c2(L2, A2, B2, z2, _2, 11, s2[37]), z2 = c2(z2, L2, A2, B2, w2, 16, s2[38]), B2 = c2(B2, z2, L2, A2, m2, 23, s2[39]), A2 = c2(A2, B2, z2, L2, S2, 4, s2[40]), L2 = c2(L2, A2, B2, z2, a3, 11, s2[41]), z2 = c2(z2, L2, A2, B2, p2, 16, s2[42]), B2 = c2(B2, z2, L2, A2, v2, 23, s2[43]), A2 = c2(A2, B2, z2, L2, y2, 4, s2[44]), L2 = c2(L2, A2, B2, z2, E2, 11, s2[45]), z2 = c2(z2, L2, A2, B2, R2, 16, s2[46]), A2 = u2(A2, B2 = c2(B2, z2, L2, A2, d2, 23, s2[47]), z2, L2, a3, 6, s2[48]), L2 = u2(L2, A2, B2, z2, w2, 10, s2[49]), z2 = u2(z2, L2, A2, B2, x2, 15, s2[50]), B2 = u2(B2, z2, L2, A2, g2, 21, s2[51]), A2 = u2(A2, B2, z2, L2, E2, 6, s2[52]), L2 = u2(L2, A2, B2, z2, p2, 10, s2[53]), z2 = u2(z2, L2, A2, B2, m2, 15, s2[54]), B2 = u2(B2, z2, L2, A2, h3, 21, s2[55]), A2 = u2(A2, B2, z2, L2, b2, 6, s2[56]), L2 = u2(L2, A2, B2, z2, R2, 10, s2[57]), z2 = u2(z2, L2, A2, B2, v2, 15, s2[58]), B2 = u2(B2, z2, L2, A2, S2, 21, s2[59]), A2 = u2(A2, B2, z2, L2, _2, 6, s2[60]), L2 = u2(L2, A2, B2, z2, k2, 10, s2[61]), z2 = u2(z2, L2, A2, B2, d2, 15, s2[62]), B2 = u2(B2, z2, L2, A2, y2, 21, s2[63]), o3[0] = o3[0] + A2 | 0, o3[1] = o3[1] + B2 | 0, o3[2] = o3[2] + z2 | 0, o3[3] = o3[3] + L2 | 0;
+ }, _doFinalize: function() {
+ var t4 = this._data, r3 = t4.words, n3 = 8 * this._nDataBytes, i3 = 8 * t4.sigBytes;
+ r3[i3 >>> 5] |= 128 << 24 - i3 % 32;
+ var o3 = e3.floor(n3 / 4294967296), a3 = n3;
+ r3[15 + (i3 + 64 >>> 9 << 4)] = 16711935 & (o3 << 8 | o3 >>> 24) | 4278255360 & (o3 << 24 | o3 >>> 8), r3[14 + (i3 + 64 >>> 9 << 4)] = 16711935 & (a3 << 8 | a3 >>> 24) | 4278255360 & (a3 << 24 | a3 >>> 8), t4.sigBytes = 4 * (r3.length + 1), this._process();
+ for (var s3 = this._hash, h3 = s3.words, l3 = 0; l3 < 4; l3++) {
+ var f3 = h3[l3];
+ h3[l3] = 16711935 & (f3 << 8 | f3 >>> 24) | 4278255360 & (f3 << 24 | f3 >>> 8);
+ }
+ return s3;
+ }, clone: function() {
+ var e4 = o2.clone.call(this);
+ return e4._hash = this._hash.clone(), e4;
+ } });
+ function l2(e4, t4, r3, n3, i3, o3, a3) {
+ var s3 = e4 + (t4 & r3 | ~t4 & n3) + i3 + a3;
+ return (s3 << o3 | s3 >>> 32 - o3) + t4;
+ }
+ function f2(e4, t4, r3, n3, i3, o3, a3) {
+ var s3 = e4 + (t4 & n3 | r3 & ~n3) + i3 + a3;
+ return (s3 << o3 | s3 >>> 32 - o3) + t4;
+ }
+ function c2(e4, t4, r3, n3, i3, o3, a3) {
+ var s3 = e4 + (t4 ^ r3 ^ n3) + i3 + a3;
+ return (s3 << o3 | s3 >>> 32 - o3) + t4;
+ }
+ function u2(e4, t4, r3, n3, i3, o3, a3) {
+ var s3 = e4 + (r3 ^ (t4 | ~n3)) + i3 + a3;
+ return (s3 << o3 | s3 >>> 32 - o3) + t4;
+ }
+ t3.MD5 = o2._createHelper(h2), t3.HmacMD5 = o2._createHmacHelper(h2);
+ }(Math), r2.MD5);
+}), Q(function(e2, t2) {
+ var r2, n2, i2, o2, a2, s2, h2, l2;
+ e2.exports = (i2 = (n2 = r2 = ee).lib, o2 = i2.WordArray, a2 = i2.Hasher, s2 = n2.algo, h2 = [], l2 = s2.SHA1 = a2.extend({ _doReset: function() {
+ this._hash = new o2.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);
+ }, _doProcessBlock: function(e3, t3) {
+ for (var r3 = this._hash.words, n3 = r3[0], i3 = r3[1], o3 = r3[2], a3 = r3[3], s3 = r3[4], l3 = 0; l3 < 80; l3++) {
+ if (l3 < 16)
+ h2[l3] = 0 | e3[t3 + l3];
+ else {
+ var f2 = h2[l3 - 3] ^ h2[l3 - 8] ^ h2[l3 - 14] ^ h2[l3 - 16];
+ h2[l3] = f2 << 1 | f2 >>> 31;
+ }
+ var c2 = (n3 << 5 | n3 >>> 27) + s3 + h2[l3];
+ c2 += l3 < 20 ? 1518500249 + (i3 & o3 | ~i3 & a3) : l3 < 40 ? 1859775393 + (i3 ^ o3 ^ a3) : l3 < 60 ? (i3 & o3 | i3 & a3 | o3 & a3) - 1894007588 : (i3 ^ o3 ^ a3) - 899497514, s3 = a3, a3 = o3, o3 = i3 << 30 | i3 >>> 2, i3 = n3, n3 = c2;
+ }
+ r3[0] = r3[0] + n3 | 0, r3[1] = r3[1] + i3 | 0, r3[2] = r3[2] + o3 | 0, r3[3] = r3[3] + a3 | 0, r3[4] = r3[4] + s3 | 0;
+ }, _doFinalize: function() {
+ var e3 = this._data, t3 = e3.words, r3 = 8 * this._nDataBytes, n3 = 8 * e3.sigBytes;
+ return t3[n3 >>> 5] |= 128 << 24 - n3 % 32, t3[14 + (n3 + 64 >>> 9 << 4)] = Math.floor(r3 / 4294967296), t3[15 + (n3 + 64 >>> 9 << 4)] = r3, e3.sigBytes = 4 * t3.length, this._process(), this._hash;
+ }, clone: function() {
+ var e3 = a2.clone.call(this);
+ return e3._hash = this._hash.clone(), e3;
+ } }), n2.SHA1 = a2._createHelper(l2), n2.HmacSHA1 = a2._createHmacHelper(l2), r2.SHA1);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function(e3) {
+ var t3 = r2, n2 = t3.lib, i2 = n2.WordArray, o2 = n2.Hasher, a2 = t3.algo, s2 = [], h2 = [];
+ !function() {
+ function t4(t5) {
+ for (var r4 = e3.sqrt(t5), n4 = 2; n4 <= r4; n4++)
+ if (!(t5 % n4))
+ return false;
+ return true;
+ }
+ function r3(e4) {
+ return 4294967296 * (e4 - (0 | e4)) | 0;
+ }
+ for (var n3 = 2, i3 = 0; i3 < 64; )
+ t4(n3) && (i3 < 8 && (s2[i3] = r3(e3.pow(n3, 0.5))), h2[i3] = r3(e3.pow(n3, 1 / 3)), i3++), n3++;
+ }();
+ var l2 = [], f2 = a2.SHA256 = o2.extend({ _doReset: function() {
+ this._hash = new i2.init(s2.slice(0));
+ }, _doProcessBlock: function(e4, t4) {
+ for (var r3 = this._hash.words, n3 = r3[0], i3 = r3[1], o3 = r3[2], a3 = r3[3], s3 = r3[4], f3 = r3[5], c2 = r3[6], u2 = r3[7], d2 = 0; d2 < 64; d2++) {
+ if (d2 < 16)
+ l2[d2] = 0 | e4[t4 + d2];
+ else {
+ var p2 = l2[d2 - 15], _2 = (p2 << 25 | p2 >>> 7) ^ (p2 << 14 | p2 >>> 18) ^ p2 >>> 3, g2 = l2[d2 - 2], v2 = (g2 << 15 | g2 >>> 17) ^ (g2 << 13 | g2 >>> 19) ^ g2 >>> 10;
+ l2[d2] = _2 + l2[d2 - 7] + v2 + l2[d2 - 16];
+ }
+ var w2 = n3 & i3 ^ n3 & o3 ^ i3 & o3, b2 = (n3 << 30 | n3 >>> 2) ^ (n3 << 19 | n3 >>> 13) ^ (n3 << 10 | n3 >>> 22), y2 = u2 + ((s3 << 26 | s3 >>> 6) ^ (s3 << 21 | s3 >>> 11) ^ (s3 << 7 | s3 >>> 25)) + (s3 & f3 ^ ~s3 & c2) + h2[d2] + l2[d2];
+ u2 = c2, c2 = f3, f3 = s3, s3 = a3 + y2 | 0, a3 = o3, o3 = i3, i3 = n3, n3 = y2 + (b2 + w2) | 0;
+ }
+ r3[0] = r3[0] + n3 | 0, r3[1] = r3[1] + i3 | 0, r3[2] = r3[2] + o3 | 0, r3[3] = r3[3] + a3 | 0, r3[4] = r3[4] + s3 | 0, r3[5] = r3[5] + f3 | 0, r3[6] = r3[6] + c2 | 0, r3[7] = r3[7] + u2 | 0;
+ }, _doFinalize: function() {
+ var t4 = this._data, r3 = t4.words, n3 = 8 * this._nDataBytes, i3 = 8 * t4.sigBytes;
+ return r3[i3 >>> 5] |= 128 << 24 - i3 % 32, r3[14 + (i3 + 64 >>> 9 << 4)] = e3.floor(n3 / 4294967296), r3[15 + (i3 + 64 >>> 9 << 4)] = n3, t4.sigBytes = 4 * r3.length, this._process(), this._hash;
+ }, clone: function() {
+ var e4 = o2.clone.call(this);
+ return e4._hash = this._hash.clone(), e4;
+ } });
+ t3.SHA256 = o2._createHelper(f2), t3.HmacSHA256 = o2._createHmacHelper(f2);
+ }(Math), r2.SHA256);
+}), Q(function(e2, t2) {
+ var r2, n2, i2, o2, a2, s2;
+ e2.exports = (i2 = (n2 = r2 = ee).lib.WordArray, o2 = n2.algo, a2 = o2.SHA256, s2 = o2.SHA224 = a2.extend({ _doReset: function() {
+ this._hash = new i2.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]);
+ }, _doFinalize: function() {
+ var e3 = a2._doFinalize.call(this);
+ return e3.sigBytes -= 4, e3;
+ } }), n2.SHA224 = a2._createHelper(s2), n2.HmacSHA224 = a2._createHmacHelper(s2), r2.SHA224);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function() {
+ var e3 = r2, t3 = e3.lib.Hasher, n2 = e3.x64, i2 = n2.Word, o2 = n2.WordArray, a2 = e3.algo;
+ function s2() {
+ return i2.create.apply(i2, arguments);
+ }
+ var h2 = [s2(1116352408, 3609767458), s2(1899447441, 602891725), s2(3049323471, 3964484399), s2(3921009573, 2173295548), s2(961987163, 4081628472), s2(1508970993, 3053834265), s2(2453635748, 2937671579), s2(2870763221, 3664609560), s2(3624381080, 2734883394), s2(310598401, 1164996542), s2(607225278, 1323610764), s2(1426881987, 3590304994), s2(1925078388, 4068182383), s2(2162078206, 991336113), s2(2614888103, 633803317), s2(3248222580, 3479774868), s2(3835390401, 2666613458), s2(4022224774, 944711139), s2(264347078, 2341262773), s2(604807628, 2007800933), s2(770255983, 1495990901), s2(1249150122, 1856431235), s2(1555081692, 3175218132), s2(1996064986, 2198950837), s2(2554220882, 3999719339), s2(2821834349, 766784016), s2(2952996808, 2566594879), s2(3210313671, 3203337956), s2(3336571891, 1034457026), s2(3584528711, 2466948901), s2(113926993, 3758326383), s2(338241895, 168717936), s2(666307205, 1188179964), s2(773529912, 1546045734), s2(1294757372, 1522805485), s2(1396182291, 2643833823), s2(1695183700, 2343527390), s2(1986661051, 1014477480), s2(2177026350, 1206759142), s2(2456956037, 344077627), s2(2730485921, 1290863460), s2(2820302411, 3158454273), s2(3259730800, 3505952657), s2(3345764771, 106217008), s2(3516065817, 3606008344), s2(3600352804, 1432725776), s2(4094571909, 1467031594), s2(275423344, 851169720), s2(430227734, 3100823752), s2(506948616, 1363258195), s2(659060556, 3750685593), s2(883997877, 3785050280), s2(958139571, 3318307427), s2(1322822218, 3812723403), s2(1537002063, 2003034995), s2(1747873779, 3602036899), s2(1955562222, 1575990012), s2(2024104815, 1125592928), s2(2227730452, 2716904306), s2(2361852424, 442776044), s2(2428436474, 593698344), s2(2756734187, 3733110249), s2(3204031479, 2999351573), s2(3329325298, 3815920427), s2(3391569614, 3928383900), s2(3515267271, 566280711), s2(3940187606, 3454069534), s2(4118630271, 4000239992), s2(116418474, 1914138554), s2(174292421, 2731055270), s2(289380356, 3203993006), s2(460393269, 320620315), s2(685471733, 587496836), s2(852142971, 1086792851), s2(1017036298, 365543100), s2(1126000580, 2618297676), s2(1288033470, 3409855158), s2(1501505948, 4234509866), s2(1607167915, 987167468), s2(1816402316, 1246189591)], l2 = [];
+ !function() {
+ for (var e4 = 0; e4 < 80; e4++)
+ l2[e4] = s2();
+ }();
+ var f2 = a2.SHA512 = t3.extend({ _doReset: function() {
+ this._hash = new o2.init([new i2.init(1779033703, 4089235720), new i2.init(3144134277, 2227873595), new i2.init(1013904242, 4271175723), new i2.init(2773480762, 1595750129), new i2.init(1359893119, 2917565137), new i2.init(2600822924, 725511199), new i2.init(528734635, 4215389547), new i2.init(1541459225, 327033209)]);
+ }, _doProcessBlock: function(e4, t4) {
+ for (var r3 = this._hash.words, n3 = r3[0], i3 = r3[1], o3 = r3[2], a3 = r3[3], s3 = r3[4], f3 = r3[5], c2 = r3[6], u2 = r3[7], d2 = n3.high, p2 = n3.low, _2 = i3.high, g2 = i3.low, v2 = o3.high, w2 = o3.low, b2 = a3.high, y2 = a3.low, m2 = s3.high, k2 = s3.low, E2 = f3.high, S2 = f3.low, x2 = c2.high, R2 = c2.low, A2 = u2.high, B2 = u2.low, z2 = d2, L2 = p2, T2 = _2, M2 = g2, C2 = v2, D2 = w2, I2 = b2, P2 = y2, O2 = m2, U2 = k2, H2 = E2, F2 = S2, N2 = x2, Z2 = R2, j2 = A2, W2 = B2, Y2 = 0; Y2 < 80; Y2++) {
+ var K2 = l2[Y2];
+ if (Y2 < 16)
+ var X2 = K2.high = 0 | e4[t4 + 2 * Y2], q2 = K2.low = 0 | e4[t4 + 2 * Y2 + 1];
+ else {
+ var V2 = l2[Y2 - 15], G2 = V2.high, $2 = V2.low, J2 = (G2 >>> 1 | $2 << 31) ^ (G2 >>> 8 | $2 << 24) ^ G2 >>> 7, Q2 = ($2 >>> 1 | G2 << 31) ^ ($2 >>> 8 | G2 << 24) ^ ($2 >>> 7 | G2 << 25), ee2 = l2[Y2 - 2], te = ee2.high, re2 = ee2.low, ne2 = (te >>> 19 | re2 << 13) ^ (te << 3 | re2 >>> 29) ^ te >>> 6, ie2 = (re2 >>> 19 | te << 13) ^ (re2 << 3 | te >>> 29) ^ (re2 >>> 6 | te << 26), oe2 = l2[Y2 - 7], ae2 = oe2.high, se2 = oe2.low, he2 = l2[Y2 - 16], le2 = he2.high, fe2 = he2.low;
+ X2 = (X2 = (X2 = J2 + ae2 + ((q2 = Q2 + se2) >>> 0 < Q2 >>> 0 ? 1 : 0)) + ne2 + ((q2 += ie2) >>> 0 < ie2 >>> 0 ? 1 : 0)) + le2 + ((q2 += fe2) >>> 0 < fe2 >>> 0 ? 1 : 0), K2.high = X2, K2.low = q2;
+ }
+ var ce2, ue2 = O2 & H2 ^ ~O2 & N2, de2 = U2 & F2 ^ ~U2 & Z2, pe2 = z2 & T2 ^ z2 & C2 ^ T2 & C2, _e2 = L2 & M2 ^ L2 & D2 ^ M2 & D2, ge2 = (z2 >>> 28 | L2 << 4) ^ (z2 << 30 | L2 >>> 2) ^ (z2 << 25 | L2 >>> 7), ve2 = (L2 >>> 28 | z2 << 4) ^ (L2 << 30 | z2 >>> 2) ^ (L2 << 25 | z2 >>> 7), we2 = (O2 >>> 14 | U2 << 18) ^ (O2 >>> 18 | U2 << 14) ^ (O2 << 23 | U2 >>> 9), be2 = (U2 >>> 14 | O2 << 18) ^ (U2 >>> 18 | O2 << 14) ^ (U2 << 23 | O2 >>> 9), ye2 = h2[Y2], me2 = ye2.high, ke2 = ye2.low, Ee2 = j2 + we2 + ((ce2 = W2 + be2) >>> 0 < W2 >>> 0 ? 1 : 0), Se2 = ve2 + _e2;
+ j2 = N2, W2 = Z2, N2 = H2, Z2 = F2, H2 = O2, F2 = U2, O2 = I2 + (Ee2 = (Ee2 = (Ee2 = Ee2 + ue2 + ((ce2 += de2) >>> 0 < de2 >>> 0 ? 1 : 0)) + me2 + ((ce2 += ke2) >>> 0 < ke2 >>> 0 ? 1 : 0)) + X2 + ((ce2 += q2) >>> 0 < q2 >>> 0 ? 1 : 0)) + ((U2 = P2 + ce2 | 0) >>> 0 < P2 >>> 0 ? 1 : 0) | 0, I2 = C2, P2 = D2, C2 = T2, D2 = M2, T2 = z2, M2 = L2, z2 = Ee2 + (ge2 + pe2 + (Se2 >>> 0 < ve2 >>> 0 ? 1 : 0)) + ((L2 = ce2 + Se2 | 0) >>> 0 < ce2 >>> 0 ? 1 : 0) | 0;
+ }
+ p2 = n3.low = p2 + L2, n3.high = d2 + z2 + (p2 >>> 0 < L2 >>> 0 ? 1 : 0), g2 = i3.low = g2 + M2, i3.high = _2 + T2 + (g2 >>> 0 < M2 >>> 0 ? 1 : 0), w2 = o3.low = w2 + D2, o3.high = v2 + C2 + (w2 >>> 0 < D2 >>> 0 ? 1 : 0), y2 = a3.low = y2 + P2, a3.high = b2 + I2 + (y2 >>> 0 < P2 >>> 0 ? 1 : 0), k2 = s3.low = k2 + U2, s3.high = m2 + O2 + (k2 >>> 0 < U2 >>> 0 ? 1 : 0), S2 = f3.low = S2 + F2, f3.high = E2 + H2 + (S2 >>> 0 < F2 >>> 0 ? 1 : 0), R2 = c2.low = R2 + Z2, c2.high = x2 + N2 + (R2 >>> 0 < Z2 >>> 0 ? 1 : 0), B2 = u2.low = B2 + W2, u2.high = A2 + j2 + (B2 >>> 0 < W2 >>> 0 ? 1 : 0);
+ }, _doFinalize: function() {
+ var e4 = this._data, t4 = e4.words, r3 = 8 * this._nDataBytes, n3 = 8 * e4.sigBytes;
+ return t4[n3 >>> 5] |= 128 << 24 - n3 % 32, t4[30 + (n3 + 128 >>> 10 << 5)] = Math.floor(r3 / 4294967296), t4[31 + (n3 + 128 >>> 10 << 5)] = r3, e4.sigBytes = 4 * t4.length, this._process(), this._hash.toX32();
+ }, clone: function() {
+ var e4 = t3.clone.call(this);
+ return e4._hash = this._hash.clone(), e4;
+ }, blockSize: 32 });
+ e3.SHA512 = t3._createHelper(f2), e3.HmacSHA512 = t3._createHmacHelper(f2);
+ }(), r2.SHA512);
+}), Q(function(e2, t2) {
+ var r2, n2, i2, o2, a2, s2, h2, l2;
+ e2.exports = (i2 = (n2 = r2 = ee).x64, o2 = i2.Word, a2 = i2.WordArray, s2 = n2.algo, h2 = s2.SHA512, l2 = s2.SHA384 = h2.extend({ _doReset: function() {
+ this._hash = new a2.init([new o2.init(3418070365, 3238371032), new o2.init(1654270250, 914150663), new o2.init(2438529370, 812702999), new o2.init(355462360, 4144912697), new o2.init(1731405415, 4290775857), new o2.init(2394180231, 1750603025), new o2.init(3675008525, 1694076839), new o2.init(1203062813, 3204075428)]);
+ }, _doFinalize: function() {
+ var e3 = h2._doFinalize.call(this);
+ return e3.sigBytes -= 16, e3;
+ } }), n2.SHA384 = h2._createHelper(l2), n2.HmacSHA384 = h2._createHmacHelper(l2), r2.SHA384);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function(e3) {
+ var t3 = r2, n2 = t3.lib, i2 = n2.WordArray, o2 = n2.Hasher, a2 = t3.x64.Word, s2 = t3.algo, h2 = [], l2 = [], f2 = [];
+ !function() {
+ for (var e4 = 1, t4 = 0, r3 = 0; r3 < 24; r3++) {
+ h2[e4 + 5 * t4] = (r3 + 1) * (r3 + 2) / 2 % 64;
+ var n3 = (2 * e4 + 3 * t4) % 5;
+ e4 = t4 % 5, t4 = n3;
+ }
+ for (e4 = 0; e4 < 5; e4++)
+ for (t4 = 0; t4 < 5; t4++)
+ l2[e4 + 5 * t4] = t4 + (2 * e4 + 3 * t4) % 5 * 5;
+ for (var i3 = 1, o3 = 0; o3 < 24; o3++) {
+ for (var s3 = 0, c3 = 0, u3 = 0; u3 < 7; u3++) {
+ if (1 & i3) {
+ var d2 = (1 << u3) - 1;
+ d2 < 32 ? c3 ^= 1 << d2 : s3 ^= 1 << d2 - 32;
+ }
+ 128 & i3 ? i3 = i3 << 1 ^ 113 : i3 <<= 1;
+ }
+ f2[o3] = a2.create(s3, c3);
+ }
+ }();
+ var c2 = [];
+ !function() {
+ for (var e4 = 0; e4 < 25; e4++)
+ c2[e4] = a2.create();
+ }();
+ var u2 = s2.SHA3 = o2.extend({ cfg: o2.cfg.extend({ outputLength: 512 }), _doReset: function() {
+ for (var e4 = this._state = [], t4 = 0; t4 < 25; t4++)
+ e4[t4] = new a2.init();
+ this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
+ }, _doProcessBlock: function(e4, t4) {
+ for (var r3 = this._state, n3 = this.blockSize / 2, i3 = 0; i3 < n3; i3++) {
+ var o3 = e4[t4 + 2 * i3], a3 = e4[t4 + 2 * i3 + 1];
+ o3 = 16711935 & (o3 << 8 | o3 >>> 24) | 4278255360 & (o3 << 24 | o3 >>> 8), a3 = 16711935 & (a3 << 8 | a3 >>> 24) | 4278255360 & (a3 << 24 | a3 >>> 8), (B2 = r3[i3]).high ^= a3, B2.low ^= o3;
+ }
+ for (var s3 = 0; s3 < 24; s3++) {
+ for (var u3 = 0; u3 < 5; u3++) {
+ for (var d2 = 0, p2 = 0, _2 = 0; _2 < 5; _2++)
+ d2 ^= (B2 = r3[u3 + 5 * _2]).high, p2 ^= B2.low;
+ var g2 = c2[u3];
+ g2.high = d2, g2.low = p2;
+ }
+ for (u3 = 0; u3 < 5; u3++) {
+ var v2 = c2[(u3 + 4) % 5], w2 = c2[(u3 + 1) % 5], b2 = w2.high, y2 = w2.low;
+ for (d2 = v2.high ^ (b2 << 1 | y2 >>> 31), p2 = v2.low ^ (y2 << 1 | b2 >>> 31), _2 = 0; _2 < 5; _2++)
+ (B2 = r3[u3 + 5 * _2]).high ^= d2, B2.low ^= p2;
+ }
+ for (var m2 = 1; m2 < 25; m2++) {
+ var k2 = (B2 = r3[m2]).high, E2 = B2.low, S2 = h2[m2];
+ S2 < 32 ? (d2 = k2 << S2 | E2 >>> 32 - S2, p2 = E2 << S2 | k2 >>> 32 - S2) : (d2 = E2 << S2 - 32 | k2 >>> 64 - S2, p2 = k2 << S2 - 32 | E2 >>> 64 - S2);
+ var x2 = c2[l2[m2]];
+ x2.high = d2, x2.low = p2;
+ }
+ var R2 = c2[0], A2 = r3[0];
+ for (R2.high = A2.high, R2.low = A2.low, u3 = 0; u3 < 5; u3++)
+ for (_2 = 0; _2 < 5; _2++) {
+ var B2 = r3[m2 = u3 + 5 * _2], z2 = c2[m2], L2 = c2[(u3 + 1) % 5 + 5 * _2], T2 = c2[(u3 + 2) % 5 + 5 * _2];
+ B2.high = z2.high ^ ~L2.high & T2.high, B2.low = z2.low ^ ~L2.low & T2.low;
+ }
+ B2 = r3[0];
+ var M2 = f2[s3];
+ B2.high ^= M2.high, B2.low ^= M2.low;
+ }
+ }, _doFinalize: function() {
+ var t4 = this._data, r3 = t4.words, n3 = (this._nDataBytes, 8 * t4.sigBytes), o3 = 32 * this.blockSize;
+ r3[n3 >>> 5] |= 1 << 24 - n3 % 32, r3[(e3.ceil((n3 + 1) / o3) * o3 >>> 5) - 1] |= 128, t4.sigBytes = 4 * r3.length, this._process();
+ for (var a3 = this._state, s3 = this.cfg.outputLength / 8, h3 = s3 / 8, l3 = [], f3 = 0; f3 < h3; f3++) {
+ var c3 = a3[f3], u3 = c3.high, d2 = c3.low;
+ u3 = 16711935 & (u3 << 8 | u3 >>> 24) | 4278255360 & (u3 << 24 | u3 >>> 8), d2 = 16711935 & (d2 << 8 | d2 >>> 24) | 4278255360 & (d2 << 24 | d2 >>> 8), l3.push(d2), l3.push(u3);
+ }
+ return new i2.init(l3, s3);
+ }, clone: function() {
+ for (var e4 = o2.clone.call(this), t4 = e4._state = this._state.slice(0), r3 = 0; r3 < 25; r3++)
+ t4[r3] = t4[r3].clone();
+ return e4;
+ } });
+ t3.SHA3 = o2._createHelper(u2), t3.HmacSHA3 = o2._createHmacHelper(u2);
+ }(Math), r2.SHA3);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function(e3) {
+ var t3 = r2, n2 = t3.lib, i2 = n2.WordArray, o2 = n2.Hasher, a2 = t3.algo, s2 = i2.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), h2 = i2.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), l2 = i2.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), f2 = i2.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), c2 = i2.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), u2 = i2.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), d2 = a2.RIPEMD160 = o2.extend({ _doReset: function() {
+ this._hash = i2.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);
+ }, _doProcessBlock: function(e4, t4) {
+ for (var r3 = 0; r3 < 16; r3++) {
+ var n3 = t4 + r3, i3 = e4[n3];
+ e4[n3] = 16711935 & (i3 << 8 | i3 >>> 24) | 4278255360 & (i3 << 24 | i3 >>> 8);
+ }
+ var o3, a3, d3, y2, m2, k2, E2, S2, x2, R2, A2, B2 = this._hash.words, z2 = c2.words, L2 = u2.words, T2 = s2.words, M2 = h2.words, C2 = l2.words, D2 = f2.words;
+ for (k2 = o3 = B2[0], E2 = a3 = B2[1], S2 = d3 = B2[2], x2 = y2 = B2[3], R2 = m2 = B2[4], r3 = 0; r3 < 80; r3 += 1)
+ A2 = o3 + e4[t4 + T2[r3]] | 0, A2 += r3 < 16 ? p2(a3, d3, y2) + z2[0] : r3 < 32 ? _2(a3, d3, y2) + z2[1] : r3 < 48 ? g2(a3, d3, y2) + z2[2] : r3 < 64 ? v2(a3, d3, y2) + z2[3] : w2(a3, d3, y2) + z2[4], A2 = (A2 = b2(A2 |= 0, C2[r3])) + m2 | 0, o3 = m2, m2 = y2, y2 = b2(d3, 10), d3 = a3, a3 = A2, A2 = k2 + e4[t4 + M2[r3]] | 0, A2 += r3 < 16 ? w2(E2, S2, x2) + L2[0] : r3 < 32 ? v2(E2, S2, x2) + L2[1] : r3 < 48 ? g2(E2, S2, x2) + L2[2] : r3 < 64 ? _2(E2, S2, x2) + L2[3] : p2(E2, S2, x2) + L2[4], A2 = (A2 = b2(A2 |= 0, D2[r3])) + R2 | 0, k2 = R2, R2 = x2, x2 = b2(S2, 10), S2 = E2, E2 = A2;
+ A2 = B2[1] + d3 + x2 | 0, B2[1] = B2[2] + y2 + R2 | 0, B2[2] = B2[3] + m2 + k2 | 0, B2[3] = B2[4] + o3 + E2 | 0, B2[4] = B2[0] + a3 + S2 | 0, B2[0] = A2;
+ }, _doFinalize: function() {
+ var e4 = this._data, t4 = e4.words, r3 = 8 * this._nDataBytes, n3 = 8 * e4.sigBytes;
+ t4[n3 >>> 5] |= 128 << 24 - n3 % 32, t4[14 + (n3 + 64 >>> 9 << 4)] = 16711935 & (r3 << 8 | r3 >>> 24) | 4278255360 & (r3 << 24 | r3 >>> 8), e4.sigBytes = 4 * (t4.length + 1), this._process();
+ for (var i3 = this._hash, o3 = i3.words, a3 = 0; a3 < 5; a3++) {
+ var s3 = o3[a3];
+ o3[a3] = 16711935 & (s3 << 8 | s3 >>> 24) | 4278255360 & (s3 << 24 | s3 >>> 8);
+ }
+ return i3;
+ }, clone: function() {
+ var e4 = o2.clone.call(this);
+ return e4._hash = this._hash.clone(), e4;
+ } });
+ function p2(e4, t4, r3) {
+ return e4 ^ t4 ^ r3;
+ }
+ function _2(e4, t4, r3) {
+ return e4 & t4 | ~e4 & r3;
+ }
+ function g2(e4, t4, r3) {
+ return (e4 | ~t4) ^ r3;
+ }
+ function v2(e4, t4, r3) {
+ return e4 & r3 | t4 & ~r3;
+ }
+ function w2(e4, t4, r3) {
+ return e4 ^ (t4 | ~r3);
+ }
+ function b2(e4, t4) {
+ return e4 << t4 | e4 >>> 32 - t4;
+ }
+ t3.RIPEMD160 = o2._createHelper(d2), t3.HmacRIPEMD160 = o2._createHmacHelper(d2);
+ }(), r2.RIPEMD160);
+}), Q(function(e2, t2) {
+ var r2, n2, i2, o2, a2, s2;
+ e2.exports = (n2 = (r2 = ee).lib, i2 = n2.Base, o2 = r2.enc, a2 = o2.Utf8, s2 = r2.algo, void (s2.HMAC = i2.extend({ init: function(e3, t3) {
+ e3 = this._hasher = new e3.init(), "string" == typeof t3 && (t3 = a2.parse(t3));
+ var r3 = e3.blockSize, n3 = 4 * r3;
+ t3.sigBytes > n3 && (t3 = e3.finalize(t3)), t3.clamp();
+ for (var i3 = this._oKey = t3.clone(), o3 = this._iKey = t3.clone(), s3 = i3.words, h2 = o3.words, l2 = 0; l2 < r3; l2++)
+ s3[l2] ^= 1549556828, h2[l2] ^= 909522486;
+ i3.sigBytes = o3.sigBytes = n3, this.reset();
+ }, reset: function() {
+ var e3 = this._hasher;
+ e3.reset(), e3.update(this._iKey);
+ }, update: function(e3) {
+ return this._hasher.update(e3), this;
+ }, finalize: function(e3) {
+ var t3 = this._hasher, r3 = t3.finalize(e3);
+ t3.reset();
+ var n3 = t3.finalize(this._oKey.clone().concat(r3));
+ return n3;
+ } })));
+}), Q(function(e2, t2) {
+ var r2, n2, i2, o2, a2, s2, h2, l2, f2;
+ e2.exports = (i2 = (n2 = r2 = ee).lib, o2 = i2.Base, a2 = i2.WordArray, s2 = n2.algo, h2 = s2.SHA1, l2 = s2.HMAC, f2 = s2.PBKDF2 = o2.extend({ cfg: o2.extend({ keySize: 4, hasher: h2, iterations: 1 }), init: function(e3) {
+ this.cfg = this.cfg.extend(e3);
+ }, compute: function(e3, t3) {
+ for (var r3 = this.cfg, n3 = l2.create(r3.hasher, e3), i3 = a2.create(), o3 = a2.create([1]), s3 = i3.words, h3 = o3.words, f3 = r3.keySize, c2 = r3.iterations; s3.length < f3; ) {
+ var u2 = n3.update(t3).finalize(o3);
+ n3.reset();
+ for (var d2 = u2.words, p2 = d2.length, _2 = u2, g2 = 1; g2 < c2; g2++) {
+ _2 = n3.finalize(_2), n3.reset();
+ for (var v2 = _2.words, w2 = 0; w2 < p2; w2++)
+ d2[w2] ^= v2[w2];
+ }
+ i3.concat(u2), h3[0]++;
+ }
+ return i3.sigBytes = 4 * f3, i3;
+ } }), n2.PBKDF2 = function(e3, t3, r3) {
+ return f2.create(r3).compute(e3, t3);
+ }, r2.PBKDF2);
+}), Q(function(e2, t2) {
+ var r2, n2, i2, o2, a2, s2, h2, l2;
+ e2.exports = (i2 = (n2 = r2 = ee).lib, o2 = i2.Base, a2 = i2.WordArray, s2 = n2.algo, h2 = s2.MD5, l2 = s2.EvpKDF = o2.extend({ cfg: o2.extend({ keySize: 4, hasher: h2, iterations: 1 }), init: function(e3) {
+ this.cfg = this.cfg.extend(e3);
+ }, compute: function(e3, t3) {
+ for (var r3 = this.cfg, n3 = r3.hasher.create(), i3 = a2.create(), o3 = i3.words, s3 = r3.keySize, h3 = r3.iterations; o3.length < s3; ) {
+ l3 && n3.update(l3);
+ var l3 = n3.update(e3).finalize(t3);
+ n3.reset();
+ for (var f2 = 1; f2 < h3; f2++)
+ l3 = n3.finalize(l3), n3.reset();
+ i3.concat(l3);
+ }
+ return i3.sigBytes = 4 * s3, i3;
+ } }), n2.EvpKDF = function(e3, t3, r3) {
+ return l2.create(r3).compute(e3, t3);
+ }, r2.EvpKDF);
+}), Q(function(e2, t2) {
+ var r2, n2, i2, o2, a2, s2, h2, l2, f2, c2, u2, d2, p2, _2, g2, v2, w2, b2, y2, m2, k2, E2, S2, x2;
+ e2.exports = void ((r2 = ee).lib.Cipher || (i2 = r2, o2 = i2.lib, a2 = o2.Base, s2 = o2.WordArray, h2 = o2.BufferedBlockAlgorithm, l2 = i2.enc, l2.Utf8, f2 = l2.Base64, c2 = i2.algo, u2 = c2.EvpKDF, d2 = o2.Cipher = h2.extend({ cfg: a2.extend(), createEncryptor: function(e3, t3) {
+ return this.create(this._ENC_XFORM_MODE, e3, t3);
+ }, createDecryptor: function(e3, t3) {
+ return this.create(this._DEC_XFORM_MODE, e3, t3);
+ }, init: function(e3, t3, r3) {
+ this.cfg = this.cfg.extend(r3), this._xformMode = e3, this._key = t3, this.reset();
+ }, reset: function() {
+ h2.reset.call(this), this._doReset();
+ }, process: function(e3) {
+ return this._append(e3), this._process();
+ }, finalize: function(e3) {
+ e3 && this._append(e3);
+ var t3 = this._doFinalize();
+ return t3;
+ }, keySize: 4, ivSize: 4, _ENC_XFORM_MODE: 1, _DEC_XFORM_MODE: 2, _createHelper: /* @__PURE__ */ function() {
+ function e3(e4) {
+ return "string" == typeof e4 ? x2 : k2;
+ }
+ return function(t3) {
+ return { encrypt: function(r3, n3, i3) {
+ return e3(n3).encrypt(t3, r3, n3, i3);
+ }, decrypt: function(r3, n3, i3) {
+ return e3(n3).decrypt(t3, r3, n3, i3);
+ } };
+ };
+ }() }), o2.StreamCipher = d2.extend({ _doFinalize: function() {
+ var e3 = this._process(true);
+ return e3;
+ }, blockSize: 1 }), p2 = i2.mode = {}, _2 = o2.BlockCipherMode = a2.extend({ createEncryptor: function(e3, t3) {
+ return this.Encryptor.create(e3, t3);
+ }, createDecryptor: function(e3, t3) {
+ return this.Decryptor.create(e3, t3);
+ }, init: function(e3, t3) {
+ this._cipher = e3, this._iv = t3;
+ } }), g2 = p2.CBC = function() {
+ var e3 = _2.extend();
+ function t3(e4, t4, r3) {
+ var i3 = this._iv;
+ if (i3) {
+ var o3 = i3;
+ this._iv = n2;
+ } else
+ var o3 = this._prevBlock;
+ for (var a3 = 0; a3 < r3; a3++)
+ e4[t4 + a3] ^= o3[a3];
+ }
+ return e3.Encryptor = e3.extend({ processBlock: function(e4, r3) {
+ var n3 = this._cipher, i3 = n3.blockSize;
+ t3.call(this, e4, r3, i3), n3.encryptBlock(e4, r3), this._prevBlock = e4.slice(r3, r3 + i3);
+ } }), e3.Decryptor = e3.extend({ processBlock: function(e4, r3) {
+ var n3 = this._cipher, i3 = n3.blockSize, o3 = e4.slice(r3, r3 + i3);
+ n3.decryptBlock(e4, r3), t3.call(this, e4, r3, i3), this._prevBlock = o3;
+ } }), e3;
+ }(), v2 = i2.pad = {}, w2 = v2.Pkcs7 = { pad: function(e3, t3) {
+ for (var r3 = 4 * t3, n3 = r3 - e3.sigBytes % r3, i3 = n3 << 24 | n3 << 16 | n3 << 8 | n3, o3 = [], a3 = 0; a3 < n3; a3 += 4)
+ o3.push(i3);
+ var h3 = s2.create(o3, n3);
+ e3.concat(h3);
+ }, unpad: function(e3) {
+ var t3 = 255 & e3.words[e3.sigBytes - 1 >>> 2];
+ e3.sigBytes -= t3;
+ } }, o2.BlockCipher = d2.extend({ cfg: d2.cfg.extend({ mode: g2, padding: w2 }), reset: function() {
+ d2.reset.call(this);
+ var e3 = this.cfg, t3 = e3.iv, r3 = e3.mode;
+ if (this._xformMode == this._ENC_XFORM_MODE)
+ var n3 = r3.createEncryptor;
+ else {
+ var n3 = r3.createDecryptor;
+ this._minBufferSize = 1;
+ }
+ this._mode && this._mode.__creator == n3 ? this._mode.init(this, t3 && t3.words) : (this._mode = n3.call(r3, this, t3 && t3.words), this._mode.__creator = n3);
+ }, _doProcessBlock: function(e3, t3) {
+ this._mode.processBlock(e3, t3);
+ }, _doFinalize: function() {
+ var e3 = this.cfg.padding;
+ if (this._xformMode == this._ENC_XFORM_MODE) {
+ e3.pad(this._data, this.blockSize);
+ var t3 = this._process(true);
+ } else {
+ var t3 = this._process(true);
+ e3.unpad(t3);
+ }
+ return t3;
+ }, blockSize: 4 }), b2 = o2.CipherParams = a2.extend({ init: function(e3) {
+ this.mixIn(e3);
+ }, toString: function(e3) {
+ return (e3 || this.formatter).stringify(this);
+ } }), y2 = i2.format = {}, m2 = y2.OpenSSL = { stringify: function(e3) {
+ var t3 = e3.ciphertext, r3 = e3.salt;
+ if (r3)
+ var n3 = s2.create([1398893684, 1701076831]).concat(r3).concat(t3);
+ else
+ var n3 = t3;
+ return n3.toString(f2);
+ }, parse: function(e3) {
+ var t3 = f2.parse(e3), r3 = t3.words;
+ if (1398893684 == r3[0] && 1701076831 == r3[1]) {
+ var n3 = s2.create(r3.slice(2, 4));
+ r3.splice(0, 4), t3.sigBytes -= 16;
+ }
+ return b2.create({ ciphertext: t3, salt: n3 });
+ } }, k2 = o2.SerializableCipher = a2.extend({ cfg: a2.extend({ format: m2 }), encrypt: function(e3, t3, r3, n3) {
+ n3 = this.cfg.extend(n3);
+ var i3 = e3.createEncryptor(r3, n3), o3 = i3.finalize(t3), a3 = i3.cfg;
+ return b2.create({ ciphertext: o3, key: r3, iv: a3.iv, algorithm: e3, mode: a3.mode, padding: a3.padding, blockSize: e3.blockSize, formatter: n3.format });
+ }, decrypt: function(e3, t3, r3, n3) {
+ n3 = this.cfg.extend(n3), t3 = this._parse(t3, n3.format);
+ var i3 = e3.createDecryptor(r3, n3).finalize(t3.ciphertext);
+ return i3;
+ }, _parse: function(e3, t3) {
+ return "string" == typeof e3 ? t3.parse(e3, this) : e3;
+ } }), E2 = i2.kdf = {}, S2 = E2.OpenSSL = { execute: function(e3, t3, r3, n3) {
+ n3 || (n3 = s2.random(8));
+ var i3 = u2.create({ keySize: t3 + r3 }).compute(e3, n3), o3 = s2.create(i3.words.slice(t3), 4 * r3);
+ return i3.sigBytes = 4 * t3, b2.create({ key: i3, iv: o3, salt: n3 });
+ } }, x2 = o2.PasswordBasedCipher = k2.extend({ cfg: k2.cfg.extend({ kdf: S2 }), encrypt: function(e3, t3, r3, n3) {
+ var i3 = (n3 = this.cfg.extend(n3)).kdf.execute(r3, e3.keySize, e3.ivSize);
+ n3.iv = i3.iv;
+ var o3 = k2.encrypt.call(this, e3, t3, i3.key, n3);
+ return o3.mixIn(i3), o3;
+ }, decrypt: function(e3, t3, r3, n3) {
+ n3 = this.cfg.extend(n3), t3 = this._parse(t3, n3.format);
+ var i3 = n3.kdf.execute(r3, e3.keySize, e3.ivSize, t3.salt);
+ n3.iv = i3.iv;
+ var o3 = k2.decrypt.call(this, e3, t3, i3.key, n3);
+ return o3;
+ } })));
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = ((r2 = ee).mode.CFB = function() {
+ var e3 = r2.lib.BlockCipherMode.extend();
+ function t3(e4, t4, r3, n2) {
+ var i2 = this._iv;
+ if (i2) {
+ var o2 = i2.slice(0);
+ this._iv = void 0;
+ } else
+ o2 = this._prevBlock;
+ n2.encryptBlock(o2, 0);
+ for (var a2 = 0; a2 < r3; a2++)
+ e4[t4 + a2] ^= o2[a2];
+ }
+ return e3.Encryptor = e3.extend({ processBlock: function(e4, r3) {
+ var n2 = this._cipher, i2 = n2.blockSize;
+ t3.call(this, e4, r3, i2, n2), this._prevBlock = e4.slice(r3, r3 + i2);
+ } }), e3.Decryptor = e3.extend({ processBlock: function(e4, r3) {
+ var n2 = this._cipher, i2 = n2.blockSize, o2 = e4.slice(r3, r3 + i2);
+ t3.call(this, e4, r3, i2, n2), this._prevBlock = o2;
+ } }), e3;
+ }(), r2.mode.CFB);
+}), Q(function(e2, t2) {
+ var r2, n2, i2;
+ e2.exports = ((r2 = ee).mode.CTR = (n2 = r2.lib.BlockCipherMode.extend(), i2 = n2.Encryptor = n2.extend({ processBlock: function(e3, t3) {
+ var r3 = this._cipher, n3 = r3.blockSize, i3 = this._iv, o2 = this._counter;
+ i3 && (o2 = this._counter = i3.slice(0), this._iv = void 0);
+ var a2 = o2.slice(0);
+ r3.encryptBlock(a2, 0), o2[n3 - 1] = o2[n3 - 1] + 1 | 0;
+ for (var s2 = 0; s2 < n3; s2++)
+ e3[t3 + s2] ^= a2[s2];
+ } }), n2.Decryptor = i2, n2), r2.mode.CTR);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = ((r2 = ee).mode.CTRGladman = function() {
+ var e3 = r2.lib.BlockCipherMode.extend();
+ function t3(e4) {
+ if (255 == (e4 >> 24 & 255)) {
+ var t4 = e4 >> 16 & 255, r3 = e4 >> 8 & 255, n3 = 255 & e4;
+ 255 === t4 ? (t4 = 0, 255 === r3 ? (r3 = 0, 255 === n3 ? n3 = 0 : ++n3) : ++r3) : ++t4, e4 = 0, e4 += t4 << 16, e4 += r3 << 8, e4 += n3;
+ } else
+ e4 += 1 << 24;
+ return e4;
+ }
+ var n2 = e3.Encryptor = e3.extend({ processBlock: function(e4, r3) {
+ var n3 = this._cipher, i2 = n3.blockSize, o2 = this._iv, a2 = this._counter;
+ o2 && (a2 = this._counter = o2.slice(0), this._iv = void 0), function(e5) {
+ 0 === (e5[0] = t3(e5[0])) && (e5[1] = t3(e5[1]));
+ }(a2);
+ var s2 = a2.slice(0);
+ n3.encryptBlock(s2, 0);
+ for (var h2 = 0; h2 < i2; h2++)
+ e4[r3 + h2] ^= s2[h2];
+ } });
+ return e3.Decryptor = n2, e3;
+ }(), r2.mode.CTRGladman);
+}), Q(function(e2, t2) {
+ var r2, n2, i2;
+ e2.exports = ((r2 = ee).mode.OFB = (n2 = r2.lib.BlockCipherMode.extend(), i2 = n2.Encryptor = n2.extend({ processBlock: function(e3, t3) {
+ var r3 = this._cipher, n3 = r3.blockSize, i3 = this._iv, o2 = this._keystream;
+ i3 && (o2 = this._keystream = i3.slice(0), this._iv = void 0), r3.encryptBlock(o2, 0);
+ for (var a2 = 0; a2 < n3; a2++)
+ e3[t3 + a2] ^= o2[a2];
+ } }), n2.Decryptor = i2, n2), r2.mode.OFB);
+}), Q(function(e2, t2) {
+ var r2, n2;
+ e2.exports = ((r2 = ee).mode.ECB = ((n2 = r2.lib.BlockCipherMode.extend()).Encryptor = n2.extend({ processBlock: function(e3, t3) {
+ this._cipher.encryptBlock(e3, t3);
+ } }), n2.Decryptor = n2.extend({ processBlock: function(e3, t3) {
+ this._cipher.decryptBlock(e3, t3);
+ } }), n2), r2.mode.ECB);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = ((r2 = ee).pad.AnsiX923 = { pad: function(e3, t3) {
+ var r3 = e3.sigBytes, n2 = 4 * t3, i2 = n2 - r3 % n2, o2 = r3 + i2 - 1;
+ e3.clamp(), e3.words[o2 >>> 2] |= i2 << 24 - o2 % 4 * 8, e3.sigBytes += i2;
+ }, unpad: function(e3) {
+ var t3 = 255 & e3.words[e3.sigBytes - 1 >>> 2];
+ e3.sigBytes -= t3;
+ } }, r2.pad.Ansix923);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = ((r2 = ee).pad.Iso10126 = { pad: function(e3, t3) {
+ var n2 = 4 * t3, i2 = n2 - e3.sigBytes % n2;
+ e3.concat(r2.lib.WordArray.random(i2 - 1)).concat(r2.lib.WordArray.create([i2 << 24], 1));
+ }, unpad: function(e3) {
+ var t3 = 255 & e3.words[e3.sigBytes - 1 >>> 2];
+ e3.sigBytes -= t3;
+ } }, r2.pad.Iso10126);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = ((r2 = ee).pad.Iso97971 = { pad: function(e3, t3) {
+ e3.concat(r2.lib.WordArray.create([2147483648], 1)), r2.pad.ZeroPadding.pad(e3, t3);
+ }, unpad: function(e3) {
+ r2.pad.ZeroPadding.unpad(e3), e3.sigBytes--;
+ } }, r2.pad.Iso97971);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = ((r2 = ee).pad.ZeroPadding = { pad: function(e3, t3) {
+ var r3 = 4 * t3;
+ e3.clamp(), e3.sigBytes += r3 - (e3.sigBytes % r3 || r3);
+ }, unpad: function(e3) {
+ for (var t3 = e3.words, r3 = e3.sigBytes - 1; !(t3[r3 >>> 2] >>> 24 - r3 % 4 * 8 & 255); )
+ r3--;
+ e3.sigBytes = r3 + 1;
+ } }, r2.pad.ZeroPadding);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = ((r2 = ee).pad.NoPadding = { pad: function() {
+ }, unpad: function() {
+ } }, r2.pad.NoPadding);
+}), Q(function(e2, t2) {
+ var r2, n2, i2, o2;
+ e2.exports = (i2 = (n2 = r2 = ee).lib.CipherParams, o2 = n2.enc.Hex, n2.format.Hex = { stringify: function(e3) {
+ return e3.ciphertext.toString(o2);
+ }, parse: function(e3) {
+ var t3 = o2.parse(e3);
+ return i2.create({ ciphertext: t3 });
+ } }, r2.format.Hex);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function() {
+ var e3 = r2, t3 = e3.lib.BlockCipher, n2 = e3.algo, i2 = [], o2 = [], a2 = [], s2 = [], h2 = [], l2 = [], f2 = [], c2 = [], u2 = [], d2 = [];
+ !function() {
+ for (var e4 = [], t4 = 0; t4 < 256; t4++)
+ e4[t4] = t4 < 128 ? t4 << 1 : t4 << 1 ^ 283;
+ var r3 = 0, n3 = 0;
+ for (t4 = 0; t4 < 256; t4++) {
+ var p3 = n3 ^ n3 << 1 ^ n3 << 2 ^ n3 << 3 ^ n3 << 4;
+ p3 = p3 >>> 8 ^ 255 & p3 ^ 99, i2[r3] = p3, o2[p3] = r3;
+ var _3 = e4[r3], g2 = e4[_3], v2 = e4[g2], w2 = 257 * e4[p3] ^ 16843008 * p3;
+ a2[r3] = w2 << 24 | w2 >>> 8, s2[r3] = w2 << 16 | w2 >>> 16, h2[r3] = w2 << 8 | w2 >>> 24, l2[r3] = w2, w2 = 16843009 * v2 ^ 65537 * g2 ^ 257 * _3 ^ 16843008 * r3, f2[p3] = w2 << 24 | w2 >>> 8, c2[p3] = w2 << 16 | w2 >>> 16, u2[p3] = w2 << 8 | w2 >>> 24, d2[p3] = w2, r3 ? (r3 = _3 ^ e4[e4[e4[v2 ^ _3]]], n3 ^= e4[e4[n3]]) : r3 = n3 = 1;
+ }
+ }();
+ var p2 = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], _2 = n2.AES = t3.extend({ _doReset: function() {
+ if (!this._nRounds || this._keyPriorReset !== this._key) {
+ for (var e4 = this._keyPriorReset = this._key, t4 = e4.words, r3 = e4.sigBytes / 4, n3 = 4 * ((this._nRounds = r3 + 6) + 1), o3 = this._keySchedule = [], a3 = 0; a3 < n3; a3++)
+ if (a3 < r3)
+ o3[a3] = t4[a3];
+ else {
+ var s3 = o3[a3 - 1];
+ a3 % r3 ? r3 > 6 && a3 % r3 == 4 && (s3 = i2[s3 >>> 24] << 24 | i2[s3 >>> 16 & 255] << 16 | i2[s3 >>> 8 & 255] << 8 | i2[255 & s3]) : (s3 = i2[(s3 = s3 << 8 | s3 >>> 24) >>> 24] << 24 | i2[s3 >>> 16 & 255] << 16 | i2[s3 >>> 8 & 255] << 8 | i2[255 & s3], s3 ^= p2[a3 / r3 | 0] << 24), o3[a3] = o3[a3 - r3] ^ s3;
+ }
+ for (var h3 = this._invKeySchedule = [], l3 = 0; l3 < n3; l3++)
+ a3 = n3 - l3, s3 = l3 % 4 ? o3[a3] : o3[a3 - 4], h3[l3] = l3 < 4 || a3 <= 4 ? s3 : f2[i2[s3 >>> 24]] ^ c2[i2[s3 >>> 16 & 255]] ^ u2[i2[s3 >>> 8 & 255]] ^ d2[i2[255 & s3]];
+ }
+ }, encryptBlock: function(e4, t4) {
+ this._doCryptBlock(e4, t4, this._keySchedule, a2, s2, h2, l2, i2);
+ }, decryptBlock: function(e4, t4) {
+ var r3 = e4[t4 + 1];
+ e4[t4 + 1] = e4[t4 + 3], e4[t4 + 3] = r3, this._doCryptBlock(e4, t4, this._invKeySchedule, f2, c2, u2, d2, o2), r3 = e4[t4 + 1], e4[t4 + 1] = e4[t4 + 3], e4[t4 + 3] = r3;
+ }, _doCryptBlock: function(e4, t4, r3, n3, i3, o3, a3, s3) {
+ for (var h3 = this._nRounds, l3 = e4[t4] ^ r3[0], f3 = e4[t4 + 1] ^ r3[1], c3 = e4[t4 + 2] ^ r3[2], u3 = e4[t4 + 3] ^ r3[3], d3 = 4, p3 = 1; p3 < h3; p3++) {
+ var _3 = n3[l3 >>> 24] ^ i3[f3 >>> 16 & 255] ^ o3[c3 >>> 8 & 255] ^ a3[255 & u3] ^ r3[d3++], g2 = n3[f3 >>> 24] ^ i3[c3 >>> 16 & 255] ^ o3[u3 >>> 8 & 255] ^ a3[255 & l3] ^ r3[d3++], v2 = n3[c3 >>> 24] ^ i3[u3 >>> 16 & 255] ^ o3[l3 >>> 8 & 255] ^ a3[255 & f3] ^ r3[d3++], w2 = n3[u3 >>> 24] ^ i3[l3 >>> 16 & 255] ^ o3[f3 >>> 8 & 255] ^ a3[255 & c3] ^ r3[d3++];
+ l3 = _3, f3 = g2, c3 = v2, u3 = w2;
+ }
+ _3 = (s3[l3 >>> 24] << 24 | s3[f3 >>> 16 & 255] << 16 | s3[c3 >>> 8 & 255] << 8 | s3[255 & u3]) ^ r3[d3++], g2 = (s3[f3 >>> 24] << 24 | s3[c3 >>> 16 & 255] << 16 | s3[u3 >>> 8 & 255] << 8 | s3[255 & l3]) ^ r3[d3++], v2 = (s3[c3 >>> 24] << 24 | s3[u3 >>> 16 & 255] << 16 | s3[l3 >>> 8 & 255] << 8 | s3[255 & f3]) ^ r3[d3++], w2 = (s3[u3 >>> 24] << 24 | s3[l3 >>> 16 & 255] << 16 | s3[f3 >>> 8 & 255] << 8 | s3[255 & c3]) ^ r3[d3++], e4[t4] = _3, e4[t4 + 1] = g2, e4[t4 + 2] = v2, e4[t4 + 3] = w2;
+ }, keySize: 8 });
+ e3.AES = t3._createHelper(_2);
+ }(), r2.AES);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function() {
+ var e3 = r2, t3 = e3.lib, n2 = t3.WordArray, i2 = t3.BlockCipher, o2 = e3.algo, a2 = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], s2 = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], h2 = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], l2 = [{ 0: 8421888, 268435456: 32768, 536870912: 8421378, 805306368: 2, 1073741824: 512, 1342177280: 8421890, 1610612736: 8389122, 1879048192: 8388608, 2147483648: 514, 2415919104: 8389120, 2684354560: 33280, 2952790016: 8421376, 3221225472: 32770, 3489660928: 8388610, 3758096384: 0, 4026531840: 33282, 134217728: 0, 402653184: 8421890, 671088640: 33282, 939524096: 32768, 1207959552: 8421888, 1476395008: 512, 1744830464: 8421378, 2013265920: 2, 2281701376: 8389120, 2550136832: 33280, 2818572288: 8421376, 3087007744: 8389122, 3355443200: 8388610, 3623878656: 32770, 3892314112: 514, 4160749568: 8388608, 1: 32768, 268435457: 2, 536870913: 8421888, 805306369: 8388608, 1073741825: 8421378, 1342177281: 33280, 1610612737: 512, 1879048193: 8389122, 2147483649: 8421890, 2415919105: 8421376, 2684354561: 8388610, 2952790017: 33282, 3221225473: 514, 3489660929: 8389120, 3758096385: 32770, 4026531841: 0, 134217729: 8421890, 402653185: 8421376, 671088641: 8388608, 939524097: 512, 1207959553: 32768, 1476395009: 8388610, 1744830465: 2, 2013265921: 33282, 2281701377: 32770, 2550136833: 8389122, 2818572289: 514, 3087007745: 8421888, 3355443201: 8389120, 3623878657: 0, 3892314113: 33280, 4160749569: 8421378 }, { 0: 1074282512, 16777216: 16384, 33554432: 524288, 50331648: 1074266128, 67108864: 1073741840, 83886080: 1074282496, 100663296: 1073758208, 117440512: 16, 134217728: 540672, 150994944: 1073758224, 167772160: 1073741824, 184549376: 540688, 201326592: 524304, 218103808: 0, 234881024: 16400, 251658240: 1074266112, 8388608: 1073758208, 25165824: 540688, 41943040: 16, 58720256: 1073758224, 75497472: 1074282512, 92274688: 1073741824, 109051904: 524288, 125829120: 1074266128, 142606336: 524304, 159383552: 0, 176160768: 16384, 192937984: 1074266112, 209715200: 1073741840, 226492416: 540672, 243269632: 1074282496, 260046848: 16400, 268435456: 0, 285212672: 1074266128, 301989888: 1073758224, 318767104: 1074282496, 335544320: 1074266112, 352321536: 16, 369098752: 540688, 385875968: 16384, 402653184: 16400, 419430400: 524288, 436207616: 524304, 452984832: 1073741840, 469762048: 540672, 486539264: 1073758208, 503316480: 1073741824, 520093696: 1074282512, 276824064: 540688, 293601280: 524288, 310378496: 1074266112, 327155712: 16384, 343932928: 1073758208, 360710144: 1074282512, 377487360: 16, 394264576: 1073741824, 411041792: 1074282496, 427819008: 1073741840, 444596224: 1073758224, 461373440: 524304, 478150656: 0, 494927872: 16400, 511705088: 1074266128, 528482304: 540672 }, { 0: 260, 1048576: 0, 2097152: 67109120, 3145728: 65796, 4194304: 65540, 5242880: 67108868, 6291456: 67174660, 7340032: 67174400, 8388608: 67108864, 9437184: 67174656, 10485760: 65792, 11534336: 67174404, 12582912: 67109124, 13631488: 65536, 14680064: 4, 15728640: 256, 524288: 67174656, 1572864: 67174404, 2621440: 0, 3670016: 67109120, 4718592: 67108868, 5767168: 65536, 6815744: 65540, 7864320: 260, 8912896: 4, 9961472: 256, 11010048: 67174400, 12058624: 65796, 13107200: 65792, 14155776: 67109124, 15204352: 67174660, 16252928: 67108864, 16777216: 67174656, 17825792: 65540, 18874368: 65536, 19922944: 67109120, 20971520: 256, 22020096: 67174660, 23068672: 67108868, 24117248: 0, 25165824: 67109124, 26214400: 67108864, 27262976: 4, 28311552: 65792, 29360128: 67174400, 30408704: 260, 31457280: 65796, 32505856: 67174404, 17301504: 67108864, 18350080: 260, 19398656: 67174656, 20447232: 0, 21495808: 65540, 22544384: 67109120, 23592960: 256, 24641536: 67174404, 25690112: 65536, 26738688: 67174660, 27787264: 65796, 28835840: 67108868, 29884416: 67109124, 30932992: 67174400, 31981568: 4, 33030144: 65792 }, { 0: 2151682048, 65536: 2147487808, 131072: 4198464, 196608: 2151677952, 262144: 0, 327680: 4198400, 393216: 2147483712, 458752: 4194368, 524288: 2147483648, 589824: 4194304, 655360: 64, 720896: 2147487744, 786432: 2151678016, 851968: 4160, 917504: 4096, 983040: 2151682112, 32768: 2147487808, 98304: 64, 163840: 2151678016, 229376: 2147487744, 294912: 4198400, 360448: 2151682112, 425984: 0, 491520: 2151677952, 557056: 4096, 622592: 2151682048, 688128: 4194304, 753664: 4160, 819200: 2147483648, 884736: 4194368, 950272: 4198464, 1015808: 2147483712, 1048576: 4194368, 1114112: 4198400, 1179648: 2147483712, 1245184: 0, 1310720: 4160, 1376256: 2151678016, 1441792: 2151682048, 1507328: 2147487808, 1572864: 2151682112, 1638400: 2147483648, 1703936: 2151677952, 1769472: 4198464, 1835008: 2147487744, 1900544: 4194304, 1966080: 64, 2031616: 4096, 1081344: 2151677952, 1146880: 2151682112, 1212416: 0, 1277952: 4198400, 1343488: 4194368, 1409024: 2147483648, 1474560: 2147487808, 1540096: 64, 1605632: 2147483712, 1671168: 4096, 1736704: 2147487744, 1802240: 2151678016, 1867776: 4160, 1933312: 2151682048, 1998848: 4194304, 2064384: 4198464 }, { 0: 128, 4096: 17039360, 8192: 262144, 12288: 536870912, 16384: 537133184, 20480: 16777344, 24576: 553648256, 28672: 262272, 32768: 16777216, 36864: 537133056, 40960: 536871040, 45056: 553910400, 49152: 553910272, 53248: 0, 57344: 17039488, 61440: 553648128, 2048: 17039488, 6144: 553648256, 10240: 128, 14336: 17039360, 18432: 262144, 22528: 537133184, 26624: 553910272, 30720: 536870912, 34816: 537133056, 38912: 0, 43008: 553910400, 47104: 16777344, 51200: 536871040, 55296: 553648128, 59392: 16777216, 63488: 262272, 65536: 262144, 69632: 128, 73728: 536870912, 77824: 553648256, 81920: 16777344, 86016: 553910272, 90112: 537133184, 94208: 16777216, 98304: 553910400, 102400: 553648128, 106496: 17039360, 110592: 537133056, 114688: 262272, 118784: 536871040, 122880: 0, 126976: 17039488, 67584: 553648256, 71680: 16777216, 75776: 17039360, 79872: 537133184, 83968: 536870912, 88064: 17039488, 92160: 128, 96256: 553910272, 100352: 262272, 104448: 553910400, 108544: 0, 112640: 553648128, 116736: 16777344, 120832: 262144, 124928: 537133056, 129024: 536871040 }, { 0: 268435464, 256: 8192, 512: 270532608, 768: 270540808, 1024: 268443648, 1280: 2097152, 1536: 2097160, 1792: 268435456, 2048: 0, 2304: 268443656, 2560: 2105344, 2816: 8, 3072: 270532616, 3328: 2105352, 3584: 8200, 3840: 270540800, 128: 270532608, 384: 270540808, 640: 8, 896: 2097152, 1152: 2105352, 1408: 268435464, 1664: 268443648, 1920: 8200, 2176: 2097160, 2432: 8192, 2688: 268443656, 2944: 270532616, 3200: 0, 3456: 270540800, 3712: 2105344, 3968: 268435456, 4096: 268443648, 4352: 270532616, 4608: 270540808, 4864: 8200, 5120: 2097152, 5376: 268435456, 5632: 268435464, 5888: 2105344, 6144: 2105352, 6400: 0, 6656: 8, 6912: 270532608, 7168: 8192, 7424: 268443656, 7680: 270540800, 7936: 2097160, 4224: 8, 4480: 2105344, 4736: 2097152, 4992: 268435464, 5248: 268443648, 5504: 8200, 5760: 270540808, 6016: 270532608, 6272: 270540800, 6528: 270532616, 6784: 8192, 7040: 2105352, 7296: 2097160, 7552: 0, 7808: 268435456, 8064: 268443656 }, { 0: 1048576, 16: 33555457, 32: 1024, 48: 1049601, 64: 34604033, 80: 0, 96: 1, 112: 34603009, 128: 33555456, 144: 1048577, 160: 33554433, 176: 34604032, 192: 34603008, 208: 1025, 224: 1049600, 240: 33554432, 8: 34603009, 24: 0, 40: 33555457, 56: 34604032, 72: 1048576, 88: 33554433, 104: 33554432, 120: 1025, 136: 1049601, 152: 33555456, 168: 34603008, 184: 1048577, 200: 1024, 216: 34604033, 232: 1, 248: 1049600, 256: 33554432, 272: 1048576, 288: 33555457, 304: 34603009, 320: 1048577, 336: 33555456, 352: 34604032, 368: 1049601, 384: 1025, 400: 34604033, 416: 1049600, 432: 1, 448: 0, 464: 34603008, 480: 33554433, 496: 1024, 264: 1049600, 280: 33555457, 296: 34603009, 312: 1, 328: 33554432, 344: 1048576, 360: 1025, 376: 34604032, 392: 33554433, 408: 34603008, 424: 0, 440: 34604033, 456: 1049601, 472: 1024, 488: 33555456, 504: 1048577 }, { 0: 134219808, 1: 131072, 2: 134217728, 3: 32, 4: 131104, 5: 134350880, 6: 134350848, 7: 2048, 8: 134348800, 9: 134219776, 10: 133120, 11: 134348832, 12: 2080, 13: 0, 14: 134217760, 15: 133152, 2147483648: 2048, 2147483649: 134350880, 2147483650: 134219808, 2147483651: 134217728, 2147483652: 134348800, 2147483653: 133120, 2147483654: 133152, 2147483655: 32, 2147483656: 134217760, 2147483657: 2080, 2147483658: 131104, 2147483659: 134350848, 2147483660: 0, 2147483661: 134348832, 2147483662: 134219776, 2147483663: 131072, 16: 133152, 17: 134350848, 18: 32, 19: 2048, 20: 134219776, 21: 134217760, 22: 134348832, 23: 131072, 24: 0, 25: 131104, 26: 134348800, 27: 134219808, 28: 134350880, 29: 133120, 30: 2080, 31: 134217728, 2147483664: 131072, 2147483665: 2048, 2147483666: 134348832, 2147483667: 133152, 2147483668: 32, 2147483669: 134348800, 2147483670: 134217728, 2147483671: 134219808, 2147483672: 134350880, 2147483673: 134217760, 2147483674: 134219776, 2147483675: 0, 2147483676: 133120, 2147483677: 2080, 2147483678: 131104, 2147483679: 134350848 }], f2 = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], c2 = o2.DES = i2.extend({ _doReset: function() {
+ for (var e4 = this._key.words, t4 = [], r3 = 0; r3 < 56; r3++) {
+ var n3 = a2[r3] - 1;
+ t4[r3] = e4[n3 >>> 5] >>> 31 - n3 % 32 & 1;
+ }
+ for (var i3 = this._subKeys = [], o3 = 0; o3 < 16; o3++) {
+ var l3 = i3[o3] = [], f3 = h2[o3];
+ for (r3 = 0; r3 < 24; r3++)
+ l3[r3 / 6 | 0] |= t4[(s2[r3] - 1 + f3) % 28] << 31 - r3 % 6, l3[4 + (r3 / 6 | 0)] |= t4[28 + (s2[r3 + 24] - 1 + f3) % 28] << 31 - r3 % 6;
+ for (l3[0] = l3[0] << 1 | l3[0] >>> 31, r3 = 1; r3 < 7; r3++)
+ l3[r3] = l3[r3] >>> 4 * (r3 - 1) + 3;
+ l3[7] = l3[7] << 5 | l3[7] >>> 27;
+ }
+ var c3 = this._invSubKeys = [];
+ for (r3 = 0; r3 < 16; r3++)
+ c3[r3] = i3[15 - r3];
+ }, encryptBlock: function(e4, t4) {
+ this._doCryptBlock(e4, t4, this._subKeys);
+ }, decryptBlock: function(e4, t4) {
+ this._doCryptBlock(e4, t4, this._invSubKeys);
+ }, _doCryptBlock: function(e4, t4, r3) {
+ this._lBlock = e4[t4], this._rBlock = e4[t4 + 1], u2.call(this, 4, 252645135), u2.call(this, 16, 65535), d2.call(this, 2, 858993459), d2.call(this, 8, 16711935), u2.call(this, 1, 1431655765);
+ for (var n3 = 0; n3 < 16; n3++) {
+ for (var i3 = r3[n3], o3 = this._lBlock, a3 = this._rBlock, s3 = 0, h3 = 0; h3 < 8; h3++)
+ s3 |= l2[h3][((a3 ^ i3[h3]) & f2[h3]) >>> 0];
+ this._lBlock = a3, this._rBlock = o3 ^ s3;
+ }
+ var c3 = this._lBlock;
+ this._lBlock = this._rBlock, this._rBlock = c3, u2.call(this, 1, 1431655765), d2.call(this, 8, 16711935), d2.call(this, 2, 858993459), u2.call(this, 16, 65535), u2.call(this, 4, 252645135), e4[t4] = this._lBlock, e4[t4 + 1] = this._rBlock;
+ }, keySize: 2, ivSize: 2, blockSize: 2 });
+ function u2(e4, t4) {
+ var r3 = (this._lBlock >>> e4 ^ this._rBlock) & t4;
+ this._rBlock ^= r3, this._lBlock ^= r3 << e4;
+ }
+ function d2(e4, t4) {
+ var r3 = (this._rBlock >>> e4 ^ this._lBlock) & t4;
+ this._lBlock ^= r3, this._rBlock ^= r3 << e4;
+ }
+ e3.DES = i2._createHelper(c2);
+ var p2 = o2.TripleDES = i2.extend({ _doReset: function() {
+ var e4 = this._key.words;
+ this._des1 = c2.createEncryptor(n2.create(e4.slice(0, 2))), this._des2 = c2.createEncryptor(n2.create(e4.slice(2, 4))), this._des3 = c2.createEncryptor(n2.create(e4.slice(4, 6)));
+ }, encryptBlock: function(e4, t4) {
+ this._des1.encryptBlock(e4, t4), this._des2.decryptBlock(e4, t4), this._des3.encryptBlock(e4, t4);
+ }, decryptBlock: function(e4, t4) {
+ this._des3.decryptBlock(e4, t4), this._des2.encryptBlock(e4, t4), this._des1.decryptBlock(e4, t4);
+ }, keySize: 6, ivSize: 2, blockSize: 2 });
+ e3.TripleDES = i2._createHelper(p2);
+ }(), r2.TripleDES);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function() {
+ var e3 = r2, t3 = e3.lib.StreamCipher, n2 = e3.algo, i2 = n2.RC4 = t3.extend({ _doReset: function() {
+ for (var e4 = this._key, t4 = e4.words, r3 = e4.sigBytes, n3 = this._S = [], i3 = 0; i3 < 256; i3++)
+ n3[i3] = i3;
+ i3 = 0;
+ for (var o3 = 0; i3 < 256; i3++) {
+ var a3 = i3 % r3, s2 = t4[a3 >>> 2] >>> 24 - a3 % 4 * 8 & 255;
+ o3 = (o3 + n3[i3] + s2) % 256;
+ var h2 = n3[i3];
+ n3[i3] = n3[o3], n3[o3] = h2;
+ }
+ this._i = this._j = 0;
+ }, _doProcessBlock: function(e4, t4) {
+ e4[t4] ^= o2.call(this);
+ }, keySize: 8, ivSize: 0 });
+ function o2() {
+ for (var e4 = this._S, t4 = this._i, r3 = this._j, n3 = 0, i3 = 0; i3 < 4; i3++) {
+ r3 = (r3 + e4[t4 = (t4 + 1) % 256]) % 256;
+ var o3 = e4[t4];
+ e4[t4] = e4[r3], e4[r3] = o3, n3 |= e4[(e4[t4] + e4[r3]) % 256] << 24 - 8 * i3;
+ }
+ return this._i = t4, this._j = r3, n3;
+ }
+ e3.RC4 = t3._createHelper(i2);
+ var a2 = n2.RC4Drop = i2.extend({ cfg: i2.cfg.extend({ drop: 192 }), _doReset: function() {
+ i2._doReset.call(this);
+ for (var e4 = this.cfg.drop; e4 > 0; e4--)
+ o2.call(this);
+ } });
+ e3.RC4Drop = t3._createHelper(a2);
+ }(), r2.RC4);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function() {
+ var e3 = r2, t3 = e3.lib.StreamCipher, n2 = e3.algo, i2 = [], o2 = [], a2 = [], s2 = n2.Rabbit = t3.extend({ _doReset: function() {
+ for (var e4 = this._key.words, t4 = this.cfg.iv, r3 = 0; r3 < 4; r3++)
+ e4[r3] = 16711935 & (e4[r3] << 8 | e4[r3] >>> 24) | 4278255360 & (e4[r3] << 24 | e4[r3] >>> 8);
+ var n3 = this._X = [e4[0], e4[3] << 16 | e4[2] >>> 16, e4[1], e4[0] << 16 | e4[3] >>> 16, e4[2], e4[1] << 16 | e4[0] >>> 16, e4[3], e4[2] << 16 | e4[1] >>> 16], i3 = this._C = [e4[2] << 16 | e4[2] >>> 16, 4294901760 & e4[0] | 65535 & e4[1], e4[3] << 16 | e4[3] >>> 16, 4294901760 & e4[1] | 65535 & e4[2], e4[0] << 16 | e4[0] >>> 16, 4294901760 & e4[2] | 65535 & e4[3], e4[1] << 16 | e4[1] >>> 16, 4294901760 & e4[3] | 65535 & e4[0]];
+ for (this._b = 0, r3 = 0; r3 < 4; r3++)
+ h2.call(this);
+ for (r3 = 0; r3 < 8; r3++)
+ i3[r3] ^= n3[r3 + 4 & 7];
+ if (t4) {
+ var o3 = t4.words, a3 = o3[0], s3 = o3[1], l2 = 16711935 & (a3 << 8 | a3 >>> 24) | 4278255360 & (a3 << 24 | a3 >>> 8), f2 = 16711935 & (s3 << 8 | s3 >>> 24) | 4278255360 & (s3 << 24 | s3 >>> 8), c2 = l2 >>> 16 | 4294901760 & f2, u2 = f2 << 16 | 65535 & l2;
+ for (i3[0] ^= l2, i3[1] ^= c2, i3[2] ^= f2, i3[3] ^= u2, i3[4] ^= l2, i3[5] ^= c2, i3[6] ^= f2, i3[7] ^= u2, r3 = 0; r3 < 4; r3++)
+ h2.call(this);
+ }
+ }, _doProcessBlock: function(e4, t4) {
+ var r3 = this._X;
+ h2.call(this), i2[0] = r3[0] ^ r3[5] >>> 16 ^ r3[3] << 16, i2[1] = r3[2] ^ r3[7] >>> 16 ^ r3[5] << 16, i2[2] = r3[4] ^ r3[1] >>> 16 ^ r3[7] << 16, i2[3] = r3[6] ^ r3[3] >>> 16 ^ r3[1] << 16;
+ for (var n3 = 0; n3 < 4; n3++)
+ i2[n3] = 16711935 & (i2[n3] << 8 | i2[n3] >>> 24) | 4278255360 & (i2[n3] << 24 | i2[n3] >>> 8), e4[t4 + n3] ^= i2[n3];
+ }, blockSize: 4, ivSize: 2 });
+ function h2() {
+ for (var e4 = this._X, t4 = this._C, r3 = 0; r3 < 8; r3++)
+ o2[r3] = t4[r3];
+ for (t4[0] = t4[0] + 1295307597 + this._b | 0, t4[1] = t4[1] + 3545052371 + (t4[0] >>> 0 < o2[0] >>> 0 ? 1 : 0) | 0, t4[2] = t4[2] + 886263092 + (t4[1] >>> 0 < o2[1] >>> 0 ? 1 : 0) | 0, t4[3] = t4[3] + 1295307597 + (t4[2] >>> 0 < o2[2] >>> 0 ? 1 : 0) | 0, t4[4] = t4[4] + 3545052371 + (t4[3] >>> 0 < o2[3] >>> 0 ? 1 : 0) | 0, t4[5] = t4[5] + 886263092 + (t4[4] >>> 0 < o2[4] >>> 0 ? 1 : 0) | 0, t4[6] = t4[6] + 1295307597 + (t4[5] >>> 0 < o2[5] >>> 0 ? 1 : 0) | 0, t4[7] = t4[7] + 3545052371 + (t4[6] >>> 0 < o2[6] >>> 0 ? 1 : 0) | 0, this._b = t4[7] >>> 0 < o2[7] >>> 0 ? 1 : 0, r3 = 0; r3 < 8; r3++) {
+ var n3 = e4[r3] + t4[r3], i3 = 65535 & n3, s3 = n3 >>> 16, h3 = ((i3 * i3 >>> 17) + i3 * s3 >>> 15) + s3 * s3, l2 = ((4294901760 & n3) * n3 | 0) + ((65535 & n3) * n3 | 0);
+ a2[r3] = h3 ^ l2;
+ }
+ e4[0] = a2[0] + (a2[7] << 16 | a2[7] >>> 16) + (a2[6] << 16 | a2[6] >>> 16) | 0, e4[1] = a2[1] + (a2[0] << 8 | a2[0] >>> 24) + a2[7] | 0, e4[2] = a2[2] + (a2[1] << 16 | a2[1] >>> 16) + (a2[0] << 16 | a2[0] >>> 16) | 0, e4[3] = a2[3] + (a2[2] << 8 | a2[2] >>> 24) + a2[1] | 0, e4[4] = a2[4] + (a2[3] << 16 | a2[3] >>> 16) + (a2[2] << 16 | a2[2] >>> 16) | 0, e4[5] = a2[5] + (a2[4] << 8 | a2[4] >>> 24) + a2[3] | 0, e4[6] = a2[6] + (a2[5] << 16 | a2[5] >>> 16) + (a2[4] << 16 | a2[4] >>> 16) | 0, e4[7] = a2[7] + (a2[6] << 8 | a2[6] >>> 24) + a2[5] | 0;
+ }
+ e3.Rabbit = t3._createHelper(s2);
+ }(), r2.Rabbit);
+}), Q(function(e2, t2) {
+ var r2;
+ e2.exports = (r2 = ee, function() {
+ var e3 = r2, t3 = e3.lib.StreamCipher, n2 = e3.algo, i2 = [], o2 = [], a2 = [], s2 = n2.RabbitLegacy = t3.extend({ _doReset: function() {
+ var e4 = this._key.words, t4 = this.cfg.iv, r3 = this._X = [e4[0], e4[3] << 16 | e4[2] >>> 16, e4[1], e4[0] << 16 | e4[3] >>> 16, e4[2], e4[1] << 16 | e4[0] >>> 16, e4[3], e4[2] << 16 | e4[1] >>> 16], n3 = this._C = [e4[2] << 16 | e4[2] >>> 16, 4294901760 & e4[0] | 65535 & e4[1], e4[3] << 16 | e4[3] >>> 16, 4294901760 & e4[1] | 65535 & e4[2], e4[0] << 16 | e4[0] >>> 16, 4294901760 & e4[2] | 65535 & e4[3], e4[1] << 16 | e4[1] >>> 16, 4294901760 & e4[3] | 65535 & e4[0]];
+ this._b = 0;
+ for (var i3 = 0; i3 < 4; i3++)
+ h2.call(this);
+ for (i3 = 0; i3 < 8; i3++)
+ n3[i3] ^= r3[i3 + 4 & 7];
+ if (t4) {
+ var o3 = t4.words, a3 = o3[0], s3 = o3[1], l2 = 16711935 & (a3 << 8 | a3 >>> 24) | 4278255360 & (a3 << 24 | a3 >>> 8), f2 = 16711935 & (s3 << 8 | s3 >>> 24) | 4278255360 & (s3 << 24 | s3 >>> 8), c2 = l2 >>> 16 | 4294901760 & f2, u2 = f2 << 16 | 65535 & l2;
+ for (n3[0] ^= l2, n3[1] ^= c2, n3[2] ^= f2, n3[3] ^= u2, n3[4] ^= l2, n3[5] ^= c2, n3[6] ^= f2, n3[7] ^= u2, i3 = 0; i3 < 4; i3++)
+ h2.call(this);
+ }
+ }, _doProcessBlock: function(e4, t4) {
+ var r3 = this._X;
+ h2.call(this), i2[0] = r3[0] ^ r3[5] >>> 16 ^ r3[3] << 16, i2[1] = r3[2] ^ r3[7] >>> 16 ^ r3[5] << 16, i2[2] = r3[4] ^ r3[1] >>> 16 ^ r3[7] << 16, i2[3] = r3[6] ^ r3[3] >>> 16 ^ r3[1] << 16;
+ for (var n3 = 0; n3 < 4; n3++)
+ i2[n3] = 16711935 & (i2[n3] << 8 | i2[n3] >>> 24) | 4278255360 & (i2[n3] << 24 | i2[n3] >>> 8), e4[t4 + n3] ^= i2[n3];
+ }, blockSize: 4, ivSize: 2 });
+ function h2() {
+ for (var e4 = this._X, t4 = this._C, r3 = 0; r3 < 8; r3++)
+ o2[r3] = t4[r3];
+ for (t4[0] = t4[0] + 1295307597 + this._b | 0, t4[1] = t4[1] + 3545052371 + (t4[0] >>> 0 < o2[0] >>> 0 ? 1 : 0) | 0, t4[2] = t4[2] + 886263092 + (t4[1] >>> 0 < o2[1] >>> 0 ? 1 : 0) | 0, t4[3] = t4[3] + 1295307597 + (t4[2] >>> 0 < o2[2] >>> 0 ? 1 : 0) | 0, t4[4] = t4[4] + 3545052371 + (t4[3] >>> 0 < o2[3] >>> 0 ? 1 : 0) | 0, t4[5] = t4[5] + 886263092 + (t4[4] >>> 0 < o2[4] >>> 0 ? 1 : 0) | 0, t4[6] = t4[6] + 1295307597 + (t4[5] >>> 0 < o2[5] >>> 0 ? 1 : 0) | 0, t4[7] = t4[7] + 3545052371 + (t4[6] >>> 0 < o2[6] >>> 0 ? 1 : 0) | 0, this._b = t4[7] >>> 0 < o2[7] >>> 0 ? 1 : 0, r3 = 0; r3 < 8; r3++) {
+ var n3 = e4[r3] + t4[r3], i3 = 65535 & n3, s3 = n3 >>> 16, h3 = ((i3 * i3 >>> 17) + i3 * s3 >>> 15) + s3 * s3, l2 = ((4294901760 & n3) * n3 | 0) + ((65535 & n3) * n3 | 0);
+ a2[r3] = h3 ^ l2;
+ }
+ e4[0] = a2[0] + (a2[7] << 16 | a2[7] >>> 16) + (a2[6] << 16 | a2[6] >>> 16) | 0, e4[1] = a2[1] + (a2[0] << 8 | a2[0] >>> 24) + a2[7] | 0, e4[2] = a2[2] + (a2[1] << 16 | a2[1] >>> 16) + (a2[0] << 16 | a2[0] >>> 16) | 0, e4[3] = a2[3] + (a2[2] << 8 | a2[2] >>> 24) + a2[1] | 0, e4[4] = a2[4] + (a2[3] << 16 | a2[3] >>> 16) + (a2[2] << 16 | a2[2] >>> 16) | 0, e4[5] = a2[5] + (a2[4] << 8 | a2[4] >>> 24) + a2[3] | 0, e4[6] = a2[6] + (a2[5] << 16 | a2[5] >>> 16) + (a2[4] << 16 | a2[4] >>> 16) | 0, e4[7] = a2[7] + (a2[6] << 8 | a2[6] >>> 24) + a2[5] | 0;
+ }
+ e3.RabbitLegacy = t3._createHelper(s2);
+ }(), r2.RabbitLegacy);
+}), Q(function(e2, t2) {
+ e2.exports = ee;
+});
+function re() {
+ throw new Error("setTimeout has not been defined");
+}
+function ne() {
+ throw new Error("clearTimeout has not been defined");
+}
+var ie = re, oe = ne;
+function ae(e2) {
+ if (ie === setTimeout)
+ return setTimeout(e2, 0);
+ if ((ie === re || !ie) && setTimeout)
+ return ie = setTimeout, setTimeout(e2, 0);
+ try {
+ return ie(e2, 0);
+ } catch (t2) {
+ try {
+ return ie.call(null, e2, 0);
+ } catch (t3) {
+ return ie.call(this, e2, 0);
+ }
+ }
+}
+"function" == typeof e.setTimeout && (ie = setTimeout), "function" == typeof e.clearTimeout && (oe = clearTimeout);
+var se, he = [], le = false, fe = -1;
+function ce() {
+ le && se && (le = false, se.length ? he = se.concat(he) : fe = -1, he.length && ue());
+}
+function ue() {
+ if (!le) {
+ var e2 = ae(ce);
+ le = true;
+ for (var t2 = he.length; t2; ) {
+ for (se = he, he = []; ++fe < t2; )
+ se && se[fe].run();
+ fe = -1, t2 = he.length;
+ }
+ se = null, le = false, function(e3) {
+ if (oe === clearTimeout)
+ return clearTimeout(e3);
+ if ((oe === ne || !oe) && clearTimeout)
+ return oe = clearTimeout, clearTimeout(e3);
+ try {
+ oe(e3);
+ } catch (t3) {
+ try {
+ return oe.call(null, e3);
+ } catch (t4) {
+ return oe.call(this, e3);
+ }
+ }
+ }(e2);
+ }
+}
+function de(e2) {
+ var t2 = new Array(arguments.length - 1);
+ if (arguments.length > 1)
+ for (var r2 = 1; r2 < arguments.length; r2++)
+ t2[r2 - 1] = arguments[r2];
+ he.push(new pe(e2, t2)), 1 !== he.length || le || ae(ue);
+}
+function pe(e2, t2) {
+ this.fun = e2, this.array = t2;
+}
+pe.prototype.run = function() {
+ this.fun.apply(null, this.array);
+};
+var _e = e.performance || {};
+_e.now || _e.mozNow || _e.msNow || _e.oNow || _e.webkitNow;
+function ge() {
+}
+function ve() {
+ ve.init.call(this);
+}
+function we(e2) {
+ return void 0 === e2._maxListeners ? ve.defaultMaxListeners : e2._maxListeners;
+}
+function be(e2, t2, r2) {
+ if (t2)
+ e2.call(r2);
+ else
+ for (var n2 = e2.length, i2 = Ae(e2, n2), o2 = 0; o2 < n2; ++o2)
+ i2[o2].call(r2);
+}
+function ye(e2, t2, r2, n2) {
+ if (t2)
+ e2.call(r2, n2);
+ else
+ for (var i2 = e2.length, o2 = Ae(e2, i2), a2 = 0; a2 < i2; ++a2)
+ o2[a2].call(r2, n2);
+}
+function me(e2, t2, r2, n2, i2) {
+ if (t2)
+ e2.call(r2, n2, i2);
+ else
+ for (var o2 = e2.length, a2 = Ae(e2, o2), s2 = 0; s2 < o2; ++s2)
+ a2[s2].call(r2, n2, i2);
+}
+function ke(e2, t2, r2, n2, i2, o2) {
+ if (t2)
+ e2.call(r2, n2, i2, o2);
+ else
+ for (var a2 = e2.length, s2 = Ae(e2, a2), h2 = 0; h2 < a2; ++h2)
+ s2[h2].call(r2, n2, i2, o2);
+}
+function Ee(e2, t2, r2, n2) {
+ if (t2)
+ e2.apply(r2, n2);
+ else
+ for (var i2 = e2.length, o2 = Ae(e2, i2), a2 = 0; a2 < i2; ++a2)
+ o2[a2].apply(r2, n2);
+}
+function Se(e2, t2, r2, n2) {
+ var i2, o2, a2, s2;
+ if ("function" != typeof r2)
+ throw new TypeError('"listener" argument must be a function');
+ if ((o2 = e2._events) ? (o2.newListener && (e2.emit("newListener", t2, r2.listener ? r2.listener : r2), o2 = e2._events), a2 = o2[t2]) : (o2 = e2._events = new ge(), e2._eventsCount = 0), a2) {
+ if ("function" == typeof a2 ? a2 = o2[t2] = n2 ? [r2, a2] : [a2, r2] : n2 ? a2.unshift(r2) : a2.push(r2), !a2.warned && (i2 = we(e2)) && i2 > 0 && a2.length > i2) {
+ a2.warned = true;
+ var h2 = new Error("Possible EventEmitter memory leak detected. " + a2.length + " " + t2 + " listeners added. Use emitter.setMaxListeners() to increase limit");
+ h2.name = "MaxListenersExceededWarning", h2.emitter = e2, h2.type = t2, h2.count = a2.length, s2 = h2, "function" == typeof console.warn ? common_vendor.index.__f__("warn", "at TUIKit/debug/lib-generate-test-usersig-es.min.js:2", s2) : common_vendor.index.__f__("log", "at TUIKit/debug/lib-generate-test-usersig-es.min.js:2", s2);
+ }
+ } else
+ a2 = o2[t2] = r2, ++e2._eventsCount;
+ return e2;
+}
+function xe(e2, t2, r2) {
+ var n2 = false;
+ function i2() {
+ e2.removeListener(t2, i2), n2 || (n2 = true, r2.apply(e2, arguments));
+ }
+ return i2.listener = r2, i2;
+}
+function Re(e2) {
+ var t2 = this._events;
+ if (t2) {
+ var r2 = t2[e2];
+ if ("function" == typeof r2)
+ return 1;
+ if (r2)
+ return r2.length;
+ }
+ return 0;
+}
+function Ae(e2, t2) {
+ for (var r2 = new Array(t2); t2--; )
+ r2[t2] = e2[t2];
+ return r2;
+}
+ge.prototype = /* @__PURE__ */ Object.create(null), ve.EventEmitter = ve, ve.usingDomains = false, ve.prototype.domain = void 0, ve.prototype._events = void 0, ve.prototype._maxListeners = void 0, ve.defaultMaxListeners = 10, ve.init = function() {
+ this.domain = null, ve.usingDomains && (void 0).active && (void 0).Domain, this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = new ge(), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;
+}, ve.prototype.setMaxListeners = function(e2) {
+ if ("number" != typeof e2 || e2 < 0 || isNaN(e2))
+ throw new TypeError('"n" argument must be a positive number');
+ return this._maxListeners = e2, this;
+}, ve.prototype.getMaxListeners = function() {
+ return we(this);
+}, ve.prototype.emit = function(e2) {
+ var t2, r2, n2, i2, o2, a2, s2, h2 = "error" === e2;
+ if (a2 = this._events)
+ h2 = h2 && null == a2.error;
+ else if (!h2)
+ return false;
+ if (s2 = this.domain, h2) {
+ if (t2 = arguments[1], !s2) {
+ if (t2 instanceof Error)
+ throw t2;
+ var l2 = new Error('Uncaught, unspecified "error" event. (' + t2 + ")");
+ throw l2.context = t2, l2;
+ }
+ return t2 || (t2 = new Error('Uncaught, unspecified "error" event')), t2.domainEmitter = this, t2.domain = s2, t2.domainThrown = false, s2.emit("error", t2), false;
+ }
+ if (!(r2 = a2[e2]))
+ return false;
+ var f2 = "function" == typeof r2;
+ switch (n2 = arguments.length) {
+ case 1:
+ be(r2, f2, this);
+ break;
+ case 2:
+ ye(r2, f2, this, arguments[1]);
+ break;
+ case 3:
+ me(r2, f2, this, arguments[1], arguments[2]);
+ break;
+ case 4:
+ ke(r2, f2, this, arguments[1], arguments[2], arguments[3]);
+ break;
+ default:
+ for (i2 = new Array(n2 - 1), o2 = 1; o2 < n2; o2++)
+ i2[o2 - 1] = arguments[o2];
+ Ee(r2, f2, this, i2);
+ }
+ return true;
+}, ve.prototype.addListener = function(e2, t2) {
+ return Se(this, e2, t2, false);
+}, ve.prototype.on = ve.prototype.addListener, ve.prototype.prependListener = function(e2, t2) {
+ return Se(this, e2, t2, true);
+}, ve.prototype.once = function(e2, t2) {
+ if ("function" != typeof t2)
+ throw new TypeError('"listener" argument must be a function');
+ return this.on(e2, xe(this, e2, t2)), this;
+}, ve.prototype.prependOnceListener = function(e2, t2) {
+ if ("function" != typeof t2)
+ throw new TypeError('"listener" argument must be a function');
+ return this.prependListener(e2, xe(this, e2, t2)), this;
+}, ve.prototype.removeListener = function(e2, t2) {
+ var r2, n2, i2, o2, a2;
+ if ("function" != typeof t2)
+ throw new TypeError('"listener" argument must be a function');
+ if (!(n2 = this._events))
+ return this;
+ if (!(r2 = n2[e2]))
+ return this;
+ if (r2 === t2 || r2.listener && r2.listener === t2)
+ 0 == --this._eventsCount ? this._events = new ge() : (delete n2[e2], n2.removeListener && this.emit("removeListener", e2, r2.listener || t2));
+ else if ("function" != typeof r2) {
+ for (i2 = -1, o2 = r2.length; o2-- > 0; )
+ if (r2[o2] === t2 || r2[o2].listener && r2[o2].listener === t2) {
+ a2 = r2[o2].listener, i2 = o2;
+ break;
+ }
+ if (i2 < 0)
+ return this;
+ if (1 === r2.length) {
+ if (r2[0] = void 0, 0 == --this._eventsCount)
+ return this._events = new ge(), this;
+ delete n2[e2];
+ } else
+ !function(e3, t3) {
+ for (var r3 = t3, n3 = r3 + 1, i3 = e3.length; n3 < i3; r3 += 1, n3 += 1)
+ e3[r3] = e3[n3];
+ e3.pop();
+ }(r2, i2);
+ n2.removeListener && this.emit("removeListener", e2, a2 || t2);
+ }
+ return this;
+}, ve.prototype.removeAllListeners = function(e2) {
+ var t2, r2;
+ if (!(r2 = this._events))
+ return this;
+ if (!r2.removeListener)
+ return 0 === arguments.length ? (this._events = new ge(), this._eventsCount = 0) : r2[e2] && (0 == --this._eventsCount ? this._events = new ge() : delete r2[e2]), this;
+ if (0 === arguments.length) {
+ for (var n2, i2 = Object.keys(r2), o2 = 0; o2 < i2.length; ++o2)
+ "removeListener" !== (n2 = i2[o2]) && this.removeAllListeners(n2);
+ return this.removeAllListeners("removeListener"), this._events = new ge(), this._eventsCount = 0, this;
+ }
+ if ("function" == typeof (t2 = r2[e2]))
+ this.removeListener(e2, t2);
+ else if (t2)
+ do {
+ this.removeListener(e2, t2[t2.length - 1]);
+ } while (t2[0]);
+ return this;
+}, ve.prototype.listeners = function(e2) {
+ var t2, r2 = this._events;
+ return r2 && (t2 = r2[e2]) ? "function" == typeof t2 ? [t2.listener || t2] : function(e3) {
+ for (var t3 = new Array(e3.length), r3 = 0; r3 < t3.length; ++r3)
+ t3[r3] = e3[r3].listener || e3[r3];
+ return t3;
+ }(t2) : [];
+}, ve.listenerCount = function(e2, t2) {
+ return "function" == typeof e2.listenerCount ? e2.listenerCount(t2) : Re.call(e2, t2);
+}, ve.prototype.listenerCount = Re, ve.prototype.eventNames = function() {
+ return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];
+};
+var Be = "function" == typeof Object.create ? function(e2, t2) {
+ e2.super_ = t2, e2.prototype = Object.create(t2.prototype, { constructor: { value: e2, enumerable: false, writable: true, configurable: true } });
+} : function(e2, t2) {
+ e2.super_ = t2;
+ var r2 = function() {
+ };
+ r2.prototype = t2.prototype, e2.prototype = new r2(), e2.prototype.constructor = e2;
+}, ze = /%[sdj%]/g;
+function Le(e2) {
+ if (!Ze(e2)) {
+ for (var t2 = [], r2 = 0; r2 < arguments.length; r2++)
+ t2.push(De(arguments[r2]));
+ return t2.join(" ");
+ }
+ r2 = 1;
+ for (var n2 = arguments, i2 = n2.length, o2 = String(e2).replace(ze, function(e3) {
+ if ("%%" === e3)
+ return "%";
+ if (r2 >= i2)
+ return e3;
+ switch (e3) {
+ case "%s":
+ return String(n2[r2++]);
+ case "%d":
+ return Number(n2[r2++]);
+ case "%j":
+ try {
+ return JSON.stringify(n2[r2++]);
+ } catch (e4) {
+ return "[Circular]";
+ }
+ default:
+ return e3;
+ }
+ }), a2 = n2[r2]; r2 < i2; a2 = n2[++r2])
+ Ne(a2) || !Ye(a2) ? o2 += " " + a2 : o2 += " " + De(a2);
+ return o2;
+}
+function Te(t2, r2) {
+ if (je(e.process))
+ return function() {
+ return Te(t2, r2).apply(this, arguments);
+ };
+ var n2 = false;
+ return function() {
+ return n2 || (common_vendor.index.__f__("error", "at TUIKit/debug/lib-generate-test-usersig-es.min.js:2", r2), n2 = true), t2.apply(this, arguments);
+ };
+}
+var Me, Ce = {};
+function De(e2, t2) {
+ var r2 = { seen: [], stylize: Pe };
+ return arguments.length >= 3 && (r2.depth = arguments[2]), arguments.length >= 4 && (r2.colors = arguments[3]), Fe(t2) ? r2.showHidden = t2 : t2 && function(e3, t3) {
+ if (!t3 || !Ye(t3))
+ return e3;
+ var r3 = Object.keys(t3), n2 = r3.length;
+ for (; n2--; )
+ e3[r3[n2]] = t3[r3[n2]];
+ }(r2, t2), je(r2.showHidden) && (r2.showHidden = false), je(r2.depth) && (r2.depth = 2), je(r2.colors) && (r2.colors = false), je(r2.customInspect) && (r2.customInspect = true), r2.colors && (r2.stylize = Ie), Oe(r2, e2, r2.depth);
+}
+function Ie(e2, t2) {
+ var r2 = De.styles[t2];
+ return r2 ? "\x1B[" + De.colors[r2][0] + "m" + e2 + "\x1B[" + De.colors[r2][1] + "m" : e2;
+}
+function Pe(e2, t2) {
+ return e2;
+}
+function Oe(e2, t2, r2) {
+ if (e2.customInspect && t2 && qe(t2.inspect) && t2.inspect !== De && (!t2.constructor || t2.constructor.prototype !== t2)) {
+ var n2 = t2.inspect(r2, e2);
+ return Ze(n2) || (n2 = Oe(e2, n2, r2)), n2;
+ }
+ var i2 = function(e3, t3) {
+ if (je(t3))
+ return e3.stylize("undefined", "undefined");
+ if (Ze(t3)) {
+ var r3 = "'" + JSON.stringify(t3).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
+ return e3.stylize(r3, "string");
+ }
+ if (n3 = t3, "number" == typeof n3)
+ return e3.stylize("" + t3, "number");
+ var n3;
+ if (Fe(t3))
+ return e3.stylize("" + t3, "boolean");
+ if (Ne(t3))
+ return e3.stylize("null", "null");
+ }(e2, t2);
+ if (i2)
+ return i2;
+ var o2 = Object.keys(t2), a2 = function(e3) {
+ var t3 = {};
+ return e3.forEach(function(e4, r3) {
+ t3[e4] = true;
+ }), t3;
+ }(o2);
+ if (e2.showHidden && (o2 = Object.getOwnPropertyNames(t2)), Xe(t2) && (o2.indexOf("message") >= 0 || o2.indexOf("description") >= 0))
+ return Ue(t2);
+ if (0 === o2.length) {
+ if (qe(t2)) {
+ var s2 = t2.name ? ": " + t2.name : "";
+ return e2.stylize("[Function" + s2 + "]", "special");
+ }
+ if (We(t2))
+ return e2.stylize(RegExp.prototype.toString.call(t2), "regexp");
+ if (Ke(t2))
+ return e2.stylize(Date.prototype.toString.call(t2), "date");
+ if (Xe(t2))
+ return Ue(t2);
+ }
+ var h2, l2, f2 = "", c2 = false, u2 = ["{", "}"];
+ (h2 = t2, Array.isArray(h2) && (c2 = true, u2 = ["[", "]"]), qe(t2)) && (f2 = " [Function" + (t2.name ? ": " + t2.name : "") + "]");
+ return We(t2) && (f2 = " " + RegExp.prototype.toString.call(t2)), Ke(t2) && (f2 = " " + Date.prototype.toUTCString.call(t2)), Xe(t2) && (f2 = " " + Ue(t2)), 0 !== o2.length || c2 && 0 != t2.length ? r2 < 0 ? We(t2) ? e2.stylize(RegExp.prototype.toString.call(t2), "regexp") : e2.stylize("[Object]", "special") : (e2.seen.push(t2), l2 = c2 ? function(e3, t3, r3, n3, i3) {
+ for (var o3 = [], a3 = 0, s3 = t3.length; a3 < s3; ++a3)
+ Ge(t3, String(a3)) ? o3.push(He(e3, t3, r3, n3, String(a3), true)) : o3.push("");
+ return i3.forEach(function(i4) {
+ i4.match(/^\d+$/) || o3.push(He(e3, t3, r3, n3, i4, true));
+ }), o3;
+ }(e2, t2, r2, a2, o2) : o2.map(function(n3) {
+ return He(e2, t2, r2, a2, n3, c2);
+ }), e2.seen.pop(), function(e3, t3, r3) {
+ if (e3.reduce(function(e4, t4) {
+ return t4.indexOf("\n"), e4 + t4.replace(/\u001b\[\d\d?m/g, "").length + 1;
+ }, 0) > 60)
+ return r3[0] + ("" === t3 ? "" : t3 + "\n ") + " " + e3.join(",\n ") + " " + r3[1];
+ return r3[0] + t3 + " " + e3.join(", ") + " " + r3[1];
+ }(l2, f2, u2)) : u2[0] + f2 + u2[1];
+}
+function Ue(e2) {
+ return "[" + Error.prototype.toString.call(e2) + "]";
+}
+function He(e2, t2, r2, n2, i2, o2) {
+ var a2, s2, h2;
+ if ((h2 = Object.getOwnPropertyDescriptor(t2, i2) || { value: t2[i2] }).get ? s2 = h2.set ? e2.stylize("[Getter/Setter]", "special") : e2.stylize("[Getter]", "special") : h2.set && (s2 = e2.stylize("[Setter]", "special")), Ge(n2, i2) || (a2 = "[" + i2 + "]"), s2 || (e2.seen.indexOf(h2.value) < 0 ? (s2 = Ne(r2) ? Oe(e2, h2.value, null) : Oe(e2, h2.value, r2 - 1)).indexOf("\n") > -1 && (s2 = o2 ? s2.split("\n").map(function(e3) {
+ return " " + e3;
+ }).join("\n").substr(2) : "\n" + s2.split("\n").map(function(e3) {
+ return " " + e3;
+ }).join("\n")) : s2 = e2.stylize("[Circular]", "special")), je(a2)) {
+ if (o2 && i2.match(/^\d+$/))
+ return s2;
+ (a2 = JSON.stringify("" + i2)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (a2 = a2.substr(1, a2.length - 2), a2 = e2.stylize(a2, "name")) : (a2 = a2.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), a2 = e2.stylize(a2, "string"));
+ }
+ return a2 + ": " + s2;
+}
+function Fe(e2) {
+ return "boolean" == typeof e2;
+}
+function Ne(e2) {
+ return null === e2;
+}
+function Ze(e2) {
+ return "string" == typeof e2;
+}
+function je(e2) {
+ return void 0 === e2;
+}
+function We(e2) {
+ return Ye(e2) && "[object RegExp]" === Ve(e2);
+}
+function Ye(e2) {
+ return "object" == typeof e2 && null !== e2;
+}
+function Ke(e2) {
+ return Ye(e2) && "[object Date]" === Ve(e2);
+}
+function Xe(e2) {
+ return Ye(e2) && ("[object Error]" === Ve(e2) || e2 instanceof Error);
+}
+function qe(e2) {
+ return "function" == typeof e2;
+}
+function Ve(e2) {
+ return Object.prototype.toString.call(e2);
+}
+function Ge(e2, t2) {
+ return Object.prototype.hasOwnProperty.call(e2, t2);
+}
+function $e() {
+ this.head = null, this.tail = null, this.length = 0;
+}
+De.colors = { bold: [1, 22], italic: [3, 23], underline: [4, 24], inverse: [7, 27], white: [37, 39], grey: [90, 39], black: [30, 39], blue: [34, 39], cyan: [36, 39], green: [32, 39], magenta: [35, 39], red: [31, 39], yellow: [33, 39] }, De.styles = { special: "cyan", number: "yellow", boolean: "yellow", undefined: "grey", null: "bold", string: "green", date: "magenta", regexp: "red" }, $e.prototype.push = function(e2) {
+ var t2 = { data: e2, next: null };
+ this.length > 0 ? this.tail.next = t2 : this.head = t2, this.tail = t2, ++this.length;
+}, $e.prototype.unshift = function(e2) {
+ var t2 = { data: e2, next: this.head };
+ 0 === this.length && (this.tail = t2), this.head = t2, ++this.length;
+}, $e.prototype.shift = function() {
+ if (0 !== this.length) {
+ var e2 = this.head.data;
+ return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next, --this.length, e2;
+ }
+}, $e.prototype.clear = function() {
+ this.head = this.tail = null, this.length = 0;
+}, $e.prototype.join = function(e2) {
+ if (0 === this.length)
+ return "";
+ for (var t2 = this.head, r2 = "" + t2.data; t2 = t2.next; )
+ r2 += e2 + t2.data;
+ return r2;
+}, $e.prototype.concat = function(e2) {
+ if (0 === this.length)
+ return p.alloc(0);
+ if (1 === this.length)
+ return this.head.data;
+ for (var t2 = p.allocUnsafe(e2 >>> 0), r2 = this.head, n2 = 0; r2; )
+ r2.data.copy(t2, n2), n2 += r2.data.length, r2 = r2.next;
+ return t2;
+};
+var Je = p.isEncoding || function(e2) {
+ switch (e2 && e2.toLowerCase()) {
+ case "hex":
+ case "utf8":
+ case "utf-8":
+ case "ascii":
+ case "binary":
+ case "base64":
+ case "ucs2":
+ case "ucs-2":
+ case "utf16le":
+ case "utf-16le":
+ case "raw":
+ return true;
+ default:
+ return false;
+ }
+};
+function Qe(e2) {
+ switch (this.encoding = (e2 || "utf8").toLowerCase().replace(/[-_]/, ""), function(e3) {
+ if (e3 && !Je(e3))
+ throw new Error("Unknown encoding: " + e3);
+ }(e2), this.encoding) {
+ case "utf8":
+ this.surrogateSize = 3;
+ break;
+ case "ucs2":
+ case "utf16le":
+ this.surrogateSize = 2, this.detectIncompleteChar = tt;
+ break;
+ case "base64":
+ this.surrogateSize = 3, this.detectIncompleteChar = rt;
+ break;
+ default:
+ return void (this.write = et);
+ }
+ this.charBuffer = new p(6), this.charReceived = 0, this.charLength = 0;
+}
+function et(e2) {
+ return e2.toString(this.encoding);
+}
+function tt(e2) {
+ this.charReceived = e2.length % 2, this.charLength = this.charReceived ? 2 : 0;
+}
+function rt(e2) {
+ this.charReceived = e2.length % 3, this.charLength = this.charReceived ? 3 : 0;
+}
+Qe.prototype.write = function(e2) {
+ for (var t2 = ""; this.charLength; ) {
+ var r2 = e2.length >= this.charLength - this.charReceived ? this.charLength - this.charReceived : e2.length;
+ if (e2.copy(this.charBuffer, this.charReceived, 0, r2), this.charReceived += r2, this.charReceived < this.charLength)
+ return "";
+ if (e2 = e2.slice(r2, e2.length), !((i2 = (t2 = this.charBuffer.slice(0, this.charLength).toString(this.encoding)).charCodeAt(t2.length - 1)) >= 55296 && i2 <= 56319)) {
+ if (this.charReceived = this.charLength = 0, 0 === e2.length)
+ return t2;
+ break;
+ }
+ this.charLength += this.surrogateSize, t2 = "";
+ }
+ this.detectIncompleteChar(e2);
+ var n2 = e2.length;
+ this.charLength && (e2.copy(this.charBuffer, 0, e2.length - this.charReceived, n2), n2 -= this.charReceived);
+ var i2;
+ n2 = (t2 += e2.toString(this.encoding, 0, n2)).length - 1;
+ if ((i2 = t2.charCodeAt(n2)) >= 55296 && i2 <= 56319) {
+ var o2 = this.surrogateSize;
+ return this.charLength += o2, this.charReceived += o2, this.charBuffer.copy(this.charBuffer, o2, 0, o2), e2.copy(this.charBuffer, 0, 0, o2), t2.substring(0, n2);
+ }
+ return t2;
+}, Qe.prototype.detectIncompleteChar = function(e2) {
+ for (var t2 = e2.length >= 3 ? 3 : e2.length; t2 > 0; t2--) {
+ var r2 = e2[e2.length - t2];
+ if (1 == t2 && r2 >> 5 == 6) {
+ this.charLength = 2;
+ break;
+ }
+ if (t2 <= 2 && r2 >> 4 == 14) {
+ this.charLength = 3;
+ break;
+ }
+ if (t2 <= 3 && r2 >> 3 == 30) {
+ this.charLength = 4;
+ break;
+ }
+ }
+ this.charReceived = t2;
+}, Qe.prototype.end = function(e2) {
+ var t2 = "";
+ if (e2 && e2.length && (t2 = this.write(e2)), this.charReceived) {
+ var r2 = this.charReceived, n2 = this.charBuffer, i2 = this.encoding;
+ t2 += n2.slice(0, r2).toString(i2);
+ }
+ return t2;
+}, ot.ReadableState = it;
+var nt = function(e2) {
+ je(Me) && (Me = ""), e2 = e2.toUpperCase(), Ce[e2] || (new RegExp("\\b" + e2 + "\\b", "i").test(Me) ? Ce[e2] = function() {
+ var t2 = Le.apply(null, arguments);
+ common_vendor.index.__f__("error", "at TUIKit/debug/lib-generate-test-usersig-es.min.js:2", "%s %d: %s", e2, 0, t2);
+ } : Ce[e2] = function() {
+ });
+ return Ce[e2];
+}("stream");
+function it(e2, t2) {
+ e2 = e2 || {}, this.objectMode = !!e2.objectMode, t2 instanceof Ct && (this.objectMode = this.objectMode || !!e2.readableObjectMode);
+ var r2 = e2.highWaterMark, n2 = this.objectMode ? 16 : 16384;
+ this.highWaterMark = r2 || 0 === r2 ? r2 : n2, this.highWaterMark = ~~this.highWaterMark, this.buffer = new $e(), this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = false, this.endEmitted = false, this.reading = false, this.sync = true, this.needReadable = false, this.emittedReadable = false, this.readableListening = false, this.resumeScheduled = false, this.defaultEncoding = e2.defaultEncoding || "utf8", this.ranOut = false, this.awaitDrain = 0, this.readingMore = false, this.decoder = null, this.encoding = null, e2.encoding && (this.decoder = new Qe(e2.encoding), this.encoding = e2.encoding);
+}
+function ot(e2) {
+ if (!(this instanceof ot))
+ return new ot(e2);
+ this._readableState = new it(e2, this), this.readable = true, e2 && "function" == typeof e2.read && (this._read = e2.read), ve.call(this);
+}
+function at(e2, t2, r2, n2, i2) {
+ var o2 = function(e3, t3) {
+ var r3 = null;
+ $(t3) || "string" == typeof t3 || null == t3 || e3.objectMode || (r3 = new TypeError("Invalid non-string/buffer chunk"));
+ return r3;
+ }(t2, r2);
+ if (o2)
+ e2.emit("error", o2);
+ else if (null === r2)
+ t2.reading = false, function(e3, t3) {
+ if (t3.ended)
+ return;
+ if (t3.decoder) {
+ var r3 = t3.decoder.end();
+ r3 && r3.length && (t3.buffer.push(r3), t3.length += t3.objectMode ? 1 : r3.length);
+ }
+ t3.ended = true, lt(e3);
+ }(e2, t2);
+ else if (t2.objectMode || r2 && r2.length > 0)
+ if (t2.ended && !i2) {
+ var a2 = new Error("stream.push() after EOF");
+ e2.emit("error", a2);
+ } else if (t2.endEmitted && i2) {
+ var s2 = new Error("stream.unshift() after end event");
+ e2.emit("error", s2);
+ } else {
+ var h2;
+ !t2.decoder || i2 || n2 || (r2 = t2.decoder.write(r2), h2 = !t2.objectMode && 0 === r2.length), i2 || (t2.reading = false), h2 || (t2.flowing && 0 === t2.length && !t2.sync ? (e2.emit("data", r2), e2.read(0)) : (t2.length += t2.objectMode ? 1 : r2.length, i2 ? t2.buffer.unshift(r2) : t2.buffer.push(r2), t2.needReadable && lt(e2))), function(e3, t3) {
+ t3.readingMore || (t3.readingMore = true, de(ct, e3, t3));
+ }(e2, t2);
+ }
+ else
+ i2 || (t2.reading = false);
+ return function(e3) {
+ return !e3.ended && (e3.needReadable || e3.length < e3.highWaterMark || 0 === e3.length);
+ }(t2);
+}
+Be(ot, ve), ot.prototype.push = function(e2, t2) {
+ var r2 = this._readableState;
+ return r2.objectMode || "string" != typeof e2 || (t2 = t2 || r2.defaultEncoding) !== r2.encoding && (e2 = p.from(e2, t2), t2 = ""), at(this, r2, e2, t2, false);
+}, ot.prototype.unshift = function(e2) {
+ return at(this, this._readableState, e2, "", true);
+}, ot.prototype.isPaused = function() {
+ return false === this._readableState.flowing;
+}, ot.prototype.setEncoding = function(e2) {
+ return this._readableState.decoder = new Qe(e2), this._readableState.encoding = e2, this;
+};
+var st = 8388608;
+function ht(e2, t2) {
+ return e2 <= 0 || 0 === t2.length && t2.ended ? 0 : t2.objectMode ? 1 : e2 != e2 ? t2.flowing && t2.length ? t2.buffer.head.data.length : t2.length : (e2 > t2.highWaterMark && (t2.highWaterMark = function(e3) {
+ return e3 >= st ? e3 = st : (e3--, e3 |= e3 >>> 1, e3 |= e3 >>> 2, e3 |= e3 >>> 4, e3 |= e3 >>> 8, e3 |= e3 >>> 16, e3++), e3;
+ }(e2)), e2 <= t2.length ? e2 : t2.ended ? t2.length : (t2.needReadable = true, 0));
+}
+function lt(e2) {
+ var t2 = e2._readableState;
+ t2.needReadable = false, t2.emittedReadable || (nt("emitReadable", t2.flowing), t2.emittedReadable = true, t2.sync ? de(ft, e2) : ft(e2));
+}
+function ft(e2) {
+ nt("emit readable"), e2.emit("readable"), pt(e2);
+}
+function ct(e2, t2) {
+ for (var r2 = t2.length; !t2.reading && !t2.flowing && !t2.ended && t2.length < t2.highWaterMark && (nt("maybeReadMore read 0"), e2.read(0), r2 !== t2.length); )
+ r2 = t2.length;
+ t2.readingMore = false;
+}
+function ut(e2) {
+ nt("readable nexttick read 0"), e2.read(0);
+}
+function dt(e2, t2) {
+ t2.reading || (nt("resume read 0"), e2.read(0)), t2.resumeScheduled = false, t2.awaitDrain = 0, e2.emit("resume"), pt(e2), t2.flowing && !t2.reading && e2.read(0);
+}
+function pt(e2) {
+ var t2 = e2._readableState;
+ for (nt("flow", t2.flowing); t2.flowing && null !== e2.read(); )
+ ;
+}
+function _t(e2, t2) {
+ return 0 === t2.length ? null : (t2.objectMode ? r2 = t2.buffer.shift() : !e2 || e2 >= t2.length ? (r2 = t2.decoder ? t2.buffer.join("") : 1 === t2.buffer.length ? t2.buffer.head.data : t2.buffer.concat(t2.length), t2.buffer.clear()) : r2 = function(e3, t3, r3) {
+ var n2;
+ e3 < t3.head.data.length ? (n2 = t3.head.data.slice(0, e3), t3.head.data = t3.head.data.slice(e3)) : n2 = e3 === t3.head.data.length ? t3.shift() : r3 ? function(e4, t4) {
+ var r4 = t4.head, n3 = 1, i2 = r4.data;
+ e4 -= i2.length;
+ for (; r4 = r4.next; ) {
+ var o2 = r4.data, a2 = e4 > o2.length ? o2.length : e4;
+ if (a2 === o2.length ? i2 += o2 : i2 += o2.slice(0, e4), 0 === (e4 -= a2)) {
+ a2 === o2.length ? (++n3, r4.next ? t4.head = r4.next : t4.head = t4.tail = null) : (t4.head = r4, r4.data = o2.slice(a2));
+ break;
+ }
+ ++n3;
+ }
+ return t4.length -= n3, i2;
+ }(e3, t3) : function(e4, t4) {
+ var r4 = p.allocUnsafe(e4), n3 = t4.head, i2 = 1;
+ n3.data.copy(r4), e4 -= n3.data.length;
+ for (; n3 = n3.next; ) {
+ var o2 = n3.data, a2 = e4 > o2.length ? o2.length : e4;
+ if (o2.copy(r4, r4.length - e4, 0, a2), 0 === (e4 -= a2)) {
+ a2 === o2.length ? (++i2, n3.next ? t4.head = n3.next : t4.head = t4.tail = null) : (t4.head = n3, n3.data = o2.slice(a2));
+ break;
+ }
+ ++i2;
+ }
+ return t4.length -= i2, r4;
+ }(e3, t3);
+ return n2;
+ }(e2, t2.buffer, t2.decoder), r2);
+ var r2;
+}
+function gt(e2) {
+ var t2 = e2._readableState;
+ if (t2.length > 0)
+ throw new Error('"endReadable()" called on non-empty stream');
+ t2.endEmitted || (t2.ended = true, de(vt, t2, e2));
+}
+function vt(e2, t2) {
+ e2.endEmitted || 0 !== e2.length || (e2.endEmitted = true, t2.readable = false, t2.emit("end"));
+}
+function wt(e2, t2) {
+ for (var r2 = 0, n2 = e2.length; r2 < n2; r2++)
+ if (e2[r2] === t2)
+ return r2;
+ return -1;
+}
+function bt() {
+}
+function yt(e2, t2, r2) {
+ this.chunk = e2, this.encoding = t2, this.callback = r2, this.next = null;
+}
+function mt(e2, t2) {
+ Object.defineProperty(this, "buffer", { get: Te(function() {
+ return this.getBuffer();
+ }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.") }), e2 = e2 || {}, this.objectMode = !!e2.objectMode, t2 instanceof Ct && (this.objectMode = this.objectMode || !!e2.writableObjectMode);
+ var r2 = e2.highWaterMark, n2 = this.objectMode ? 16 : 16384;
+ this.highWaterMark = r2 || 0 === r2 ? r2 : n2, this.highWaterMark = ~~this.highWaterMark, this.needDrain = false, this.ending = false, this.ended = false, this.finished = false;
+ var i2 = false === e2.decodeStrings;
+ this.decodeStrings = !i2, this.defaultEncoding = e2.defaultEncoding || "utf8", this.length = 0, this.writing = false, this.corked = 0, this.sync = true, this.bufferProcessing = false, this.onwrite = function(e3) {
+ !function(e4, t3) {
+ var r3 = e4._writableState, n3 = r3.sync, i3 = r3.writecb;
+ if (function(e5) {
+ e5.writing = false, e5.writecb = null, e5.length -= e5.writelen, e5.writelen = 0;
+ }(r3), t3)
+ !function(e5, t4, r4, n4, i4) {
+ --t4.pendingcb, r4 ? de(i4, n4) : i4(n4);
+ e5._writableState.errorEmitted = true, e5.emit("error", n4);
+ }(e4, r3, n3, t3, i3);
+ else {
+ var o2 = Rt(r3);
+ o2 || r3.corked || r3.bufferProcessing || !r3.bufferedRequest || xt(e4, r3), n3 ? de(St, e4, r3, o2, i3) : St(e4, r3, o2, i3);
+ }
+ }(t2, e3);
+ }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = false, this.errorEmitted = false, this.bufferedRequestCount = 0, this.corkedRequestsFree = new zt(this);
+}
+function kt(e2) {
+ if (!(this instanceof kt || this instanceof Ct))
+ return new kt(e2);
+ this._writableState = new mt(e2, this), this.writable = true, e2 && ("function" == typeof e2.write && (this._write = e2.write), "function" == typeof e2.writev && (this._writev = e2.writev)), ve.call(this);
+}
+function Et(e2, t2, r2, n2, i2, o2, a2) {
+ t2.writelen = n2, t2.writecb = a2, t2.writing = true, t2.sync = true, r2 ? e2._writev(i2, t2.onwrite) : e2._write(i2, o2, t2.onwrite), t2.sync = false;
+}
+function St(e2, t2, r2, n2) {
+ r2 || function(e3, t3) {
+ 0 === t3.length && t3.needDrain && (t3.needDrain = false, e3.emit("drain"));
+ }(e2, t2), t2.pendingcb--, n2(), Bt(e2, t2);
+}
+function xt(e2, t2) {
+ t2.bufferProcessing = true;
+ var r2 = t2.bufferedRequest;
+ if (e2._writev && r2 && r2.next) {
+ var n2 = t2.bufferedRequestCount, i2 = new Array(n2), o2 = t2.corkedRequestsFree;
+ o2.entry = r2;
+ for (var a2 = 0; r2; )
+ i2[a2] = r2, r2 = r2.next, a2 += 1;
+ Et(e2, t2, true, t2.length, i2, "", o2.finish), t2.pendingcb++, t2.lastBufferedRequest = null, o2.next ? (t2.corkedRequestsFree = o2.next, o2.next = null) : t2.corkedRequestsFree = new zt(t2);
+ } else {
+ for (; r2; ) {
+ var s2 = r2.chunk, h2 = r2.encoding, l2 = r2.callback;
+ if (Et(e2, t2, false, t2.objectMode ? 1 : s2.length, s2, h2, l2), r2 = r2.next, t2.writing)
+ break;
+ }
+ null === r2 && (t2.lastBufferedRequest = null);
+ }
+ t2.bufferedRequestCount = 0, t2.bufferedRequest = r2, t2.bufferProcessing = false;
+}
+function Rt(e2) {
+ return e2.ending && 0 === e2.length && null === e2.bufferedRequest && !e2.finished && !e2.writing;
+}
+function At(e2, t2) {
+ t2.prefinished || (t2.prefinished = true, e2.emit("prefinish"));
+}
+function Bt(e2, t2) {
+ var r2 = Rt(t2);
+ return r2 && (0 === t2.pendingcb ? (At(e2, t2), t2.finished = true, e2.emit("finish")) : At(e2, t2)), r2;
+}
+function zt(e2) {
+ var t2 = this;
+ this.next = null, this.entry = null, this.finish = function(r2) {
+ var n2 = t2.entry;
+ for (t2.entry = null; n2; ) {
+ var i2 = n2.callback;
+ e2.pendingcb--, i2(r2), n2 = n2.next;
+ }
+ e2.corkedRequestsFree ? e2.corkedRequestsFree.next = t2 : e2.corkedRequestsFree = t2;
+ };
+}
+ot.prototype.read = function(e2) {
+ nt("read", e2), e2 = parseInt(e2, 10);
+ var t2 = this._readableState, r2 = e2;
+ if (0 !== e2 && (t2.emittedReadable = false), 0 === e2 && t2.needReadable && (t2.length >= t2.highWaterMark || t2.ended))
+ return nt("read: emitReadable", t2.length, t2.ended), 0 === t2.length && t2.ended ? gt(this) : lt(this), null;
+ if (0 === (e2 = ht(e2, t2)) && t2.ended)
+ return 0 === t2.length && gt(this), null;
+ var n2, i2 = t2.needReadable;
+ return nt("need readable", i2), (0 === t2.length || t2.length - e2 < t2.highWaterMark) && nt("length less than watermark", i2 = true), t2.ended || t2.reading ? nt("reading or ended", i2 = false) : i2 && (nt("do read"), t2.reading = true, t2.sync = true, 0 === t2.length && (t2.needReadable = true), this._read(t2.highWaterMark), t2.sync = false, t2.reading || (e2 = ht(r2, t2))), null === (n2 = e2 > 0 ? _t(e2, t2) : null) ? (t2.needReadable = true, e2 = 0) : t2.length -= e2, 0 === t2.length && (t2.ended || (t2.needReadable = true), r2 !== e2 && t2.ended && gt(this)), null !== n2 && this.emit("data", n2), n2;
+}, ot.prototype._read = function(e2) {
+ this.emit("error", new Error("not implemented"));
+}, ot.prototype.pipe = function(e2, t2) {
+ var r2 = this, n2 = this._readableState;
+ switch (n2.pipesCount) {
+ case 0:
+ n2.pipes = e2;
+ break;
+ case 1:
+ n2.pipes = [n2.pipes, e2];
+ break;
+ default:
+ n2.pipes.push(e2);
+ }
+ n2.pipesCount += 1, nt("pipe count=%d opts=%j", n2.pipesCount, t2);
+ var i2 = !t2 || false !== t2.end ? a2 : l2;
+ function o2(e3) {
+ nt("onunpipe"), e3 === r2 && l2();
+ }
+ function a2() {
+ nt("onend"), e2.end();
+ }
+ n2.endEmitted ? de(i2) : r2.once("end", i2), e2.on("unpipe", o2);
+ var s2 = /* @__PURE__ */ function(e3) {
+ return function() {
+ var t3 = e3._readableState;
+ nt("pipeOnDrain", t3.awaitDrain), t3.awaitDrain && t3.awaitDrain--, 0 === t3.awaitDrain && e3.listeners("data").length && (t3.flowing = true, pt(e3));
+ };
+ }(r2);
+ e2.on("drain", s2);
+ var h2 = false;
+ function l2() {
+ nt("cleanup"), e2.removeListener("close", d2), e2.removeListener("finish", p2), e2.removeListener("drain", s2), e2.removeListener("error", u2), e2.removeListener("unpipe", o2), r2.removeListener("end", a2), r2.removeListener("end", l2), r2.removeListener("data", c2), h2 = true, !n2.awaitDrain || e2._writableState && !e2._writableState.needDrain || s2();
+ }
+ var f2 = false;
+ function c2(t3) {
+ nt("ondata"), f2 = false, false !== e2.write(t3) || f2 || ((1 === n2.pipesCount && n2.pipes === e2 || n2.pipesCount > 1 && -1 !== wt(n2.pipes, e2)) && !h2 && (nt("false write response, pause", r2._readableState.awaitDrain), r2._readableState.awaitDrain++, f2 = true), r2.pause());
+ }
+ function u2(t3) {
+ var r3;
+ nt("onerror", t3), _2(), e2.removeListener("error", u2), 0 === (r3 = "error", e2.listeners(r3).length) && e2.emit("error", t3);
+ }
+ function d2() {
+ e2.removeListener("finish", p2), _2();
+ }
+ function p2() {
+ nt("onfinish"), e2.removeListener("close", d2), _2();
+ }
+ function _2() {
+ nt("unpipe"), r2.unpipe(e2);
+ }
+ return r2.on("data", c2), function(e3, t3, r3) {
+ if ("function" == typeof e3.prependListener)
+ return e3.prependListener(t3, r3);
+ e3._events && e3._events[t3] ? Array.isArray(e3._events[t3]) ? e3._events[t3].unshift(r3) : e3._events[t3] = [r3, e3._events[t3]] : e3.on(t3, r3);
+ }(e2, "error", u2), e2.once("close", d2), e2.once("finish", p2), e2.emit("pipe", r2), n2.flowing || (nt("pipe resume"), r2.resume()), e2;
+}, ot.prototype.unpipe = function(e2) {
+ var t2 = this._readableState;
+ if (0 === t2.pipesCount)
+ return this;
+ if (1 === t2.pipesCount)
+ return e2 && e2 !== t2.pipes ? this : (e2 || (e2 = t2.pipes), t2.pipes = null, t2.pipesCount = 0, t2.flowing = false, e2 && e2.emit("unpipe", this), this);
+ if (!e2) {
+ var r2 = t2.pipes, n2 = t2.pipesCount;
+ t2.pipes = null, t2.pipesCount = 0, t2.flowing = false;
+ for (var i2 = 0; i2 < n2; i2++)
+ r2[i2].emit("unpipe", this);
+ return this;
+ }
+ var o2 = wt(t2.pipes, e2);
+ return -1 === o2 ? this : (t2.pipes.splice(o2, 1), t2.pipesCount -= 1, 1 === t2.pipesCount && (t2.pipes = t2.pipes[0]), e2.emit("unpipe", this), this);
+}, ot.prototype.on = function(e2, t2) {
+ var r2 = ve.prototype.on.call(this, e2, t2);
+ if ("data" === e2)
+ false !== this._readableState.flowing && this.resume();
+ else if ("readable" === e2) {
+ var n2 = this._readableState;
+ n2.endEmitted || n2.readableListening || (n2.readableListening = n2.needReadable = true, n2.emittedReadable = false, n2.reading ? n2.length && lt(this) : de(ut, this));
+ }
+ return r2;
+}, ot.prototype.addListener = ot.prototype.on, ot.prototype.resume = function() {
+ var e2 = this._readableState;
+ return e2.flowing || (nt("resume"), e2.flowing = true, function(e3, t2) {
+ t2.resumeScheduled || (t2.resumeScheduled = true, de(dt, e3, t2));
+ }(this, e2)), this;
+}, ot.prototype.pause = function() {
+ return nt("call pause flowing=%j", this._readableState.flowing), false !== this._readableState.flowing && (nt("pause"), this._readableState.flowing = false, this.emit("pause")), this;
+}, ot.prototype.wrap = function(e2) {
+ var t2 = this._readableState, r2 = false, n2 = this;
+ for (var i2 in e2.on("end", function() {
+ if (nt("wrapped end"), t2.decoder && !t2.ended) {
+ var e3 = t2.decoder.end();
+ e3 && e3.length && n2.push(e3);
+ }
+ n2.push(null);
+ }), e2.on("data", function(i3) {
+ (nt("wrapped data"), t2.decoder && (i3 = t2.decoder.write(i3)), t2.objectMode && null == i3) || (t2.objectMode || i3 && i3.length) && (n2.push(i3) || (r2 = true, e2.pause()));
+ }), e2)
+ void 0 === this[i2] && "function" == typeof e2[i2] && (this[i2] = /* @__PURE__ */ function(t3) {
+ return function() {
+ return e2[t3].apply(e2, arguments);
+ };
+ }(i2));
+ return function(e3, t3) {
+ for (var r3 = 0, n3 = e3.length; r3 < n3; r3++)
+ t3(e3[r3], r3);
+ }(["error", "close", "destroy", "pause", "resume"], function(t3) {
+ e2.on(t3, n2.emit.bind(n2, t3));
+ }), n2._read = function(t3) {
+ nt("wrapped _read", t3), r2 && (r2 = false, e2.resume());
+ }, n2;
+}, ot._fromList = _t, kt.WritableState = mt, Be(kt, ve), mt.prototype.getBuffer = function() {
+ for (var e2 = this.bufferedRequest, t2 = []; e2; )
+ t2.push(e2), e2 = e2.next;
+ return t2;
+}, kt.prototype.pipe = function() {
+ this.emit("error", new Error("Cannot pipe, not readable"));
+}, kt.prototype.write = function(e2, t2, r2) {
+ var n2 = this._writableState, i2 = false;
+ return "function" == typeof t2 && (r2 = t2, t2 = null), p.isBuffer(e2) ? t2 = "buffer" : t2 || (t2 = n2.defaultEncoding), "function" != typeof r2 && (r2 = bt), n2.ended ? function(e3, t3) {
+ var r3 = new Error("write after end");
+ e3.emit("error", r3), de(t3, r3);
+ }(this, r2) : function(e3, t3, r3, n3) {
+ var i3 = true, o2 = false;
+ return null === r3 ? o2 = new TypeError("May not write null values to stream") : p.isBuffer(r3) || "string" == typeof r3 || void 0 === r3 || t3.objectMode || (o2 = new TypeError("Invalid non-string/buffer chunk")), o2 && (e3.emit("error", o2), de(n3, o2), i3 = false), i3;
+ }(this, n2, e2, r2) && (n2.pendingcb++, i2 = function(e3, t3, r3, n3, i3) {
+ r3 = function(e4, t4, r4) {
+ return e4.objectMode || false === e4.decodeStrings || "string" != typeof t4 || (t4 = p.from(t4, r4)), t4;
+ }(t3, r3, n3), p.isBuffer(r3) && (n3 = "buffer");
+ var o2 = t3.objectMode ? 1 : r3.length;
+ t3.length += o2;
+ var a2 = t3.length < t3.highWaterMark;
+ a2 || (t3.needDrain = true);
+ if (t3.writing || t3.corked) {
+ var s2 = t3.lastBufferedRequest;
+ t3.lastBufferedRequest = new yt(r3, n3, i3), s2 ? s2.next = t3.lastBufferedRequest : t3.bufferedRequest = t3.lastBufferedRequest, t3.bufferedRequestCount += 1;
+ } else
+ Et(e3, t3, false, o2, r3, n3, i3);
+ return a2;
+ }(this, n2, e2, t2, r2)), i2;
+}, kt.prototype.cork = function() {
+ this._writableState.corked++;
+}, kt.prototype.uncork = function() {
+ var e2 = this._writableState;
+ e2.corked && (e2.corked--, e2.writing || e2.corked || e2.finished || e2.bufferProcessing || !e2.bufferedRequest || xt(this, e2));
+}, kt.prototype.setDefaultEncoding = function(e2) {
+ if ("string" == typeof e2 && (e2 = e2.toLowerCase()), !(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((e2 + "").toLowerCase()) > -1))
+ throw new TypeError("Unknown encoding: " + e2);
+ return this._writableState.defaultEncoding = e2, this;
+}, kt.prototype._write = function(e2, t2, r2) {
+ r2(new Error("not implemented"));
+}, kt.prototype._writev = null, kt.prototype.end = function(e2, t2, r2) {
+ var n2 = this._writableState;
+ "function" == typeof e2 ? (r2 = e2, e2 = null, t2 = null) : "function" == typeof t2 && (r2 = t2, t2 = null), null != e2 && this.write(e2, t2), n2.corked && (n2.corked = 1, this.uncork()), n2.ending || n2.finished || function(e3, t3, r3) {
+ t3.ending = true, Bt(e3, t3), r3 && (t3.finished ? de(r3) : e3.once("finish", r3));
+ t3.ended = true, e3.writable = false;
+ }(this, n2, r2);
+}, Be(Ct, ot);
+for (var Lt = Object.keys(kt.prototype), Tt = 0; Tt < Lt.length; Tt++) {
+ var Mt = Lt[Tt];
+ Ct.prototype[Mt] || (Ct.prototype[Mt] = kt.prototype[Mt]);
+}
+function Ct(e2) {
+ if (!(this instanceof Ct))
+ return new Ct(e2);
+ ot.call(this, e2), kt.call(this, e2), e2 && false === e2.readable && (this.readable = false), e2 && false === e2.writable && (this.writable = false), this.allowHalfOpen = true, e2 && false === e2.allowHalfOpen && (this.allowHalfOpen = false), this.once("end", Dt);
+}
+function Dt() {
+ this.allowHalfOpen || this._writableState.ended || de(It, this);
+}
+function It(e2) {
+ e2.end();
+}
+function Pt(e2) {
+ this.afterTransform = function(t2, r2) {
+ return function(e3, t3, r3) {
+ var n2 = e3._transformState;
+ n2.transforming = false;
+ var i2 = n2.writecb;
+ if (!i2)
+ return e3.emit("error", new Error("no writecb in Transform class"));
+ n2.writechunk = null, n2.writecb = null, null != r3 && e3.push(r3);
+ i2(t3);
+ var o2 = e3._readableState;
+ o2.reading = false, (o2.needReadable || o2.length < o2.highWaterMark) && e3._read(o2.highWaterMark);
+ }(e2, t2, r2);
+ }, this.needTransform = false, this.transforming = false, this.writecb = null, this.writechunk = null, this.writeencoding = null;
+}
+function Ot(e2) {
+ if (!(this instanceof Ot))
+ return new Ot(e2);
+ Ct.call(this, e2), this._transformState = new Pt(this);
+ var t2 = this;
+ this._readableState.needReadable = true, this._readableState.sync = false, e2 && ("function" == typeof e2.transform && (this._transform = e2.transform), "function" == typeof e2.flush && (this._flush = e2.flush)), this.once("prefinish", function() {
+ "function" == typeof this._flush ? this._flush(function(e3) {
+ Ut(t2, e3);
+ }) : Ut(t2);
+ });
+}
+function Ut(e2, t2) {
+ if (t2)
+ return e2.emit("error", t2);
+ var r2 = e2._writableState, n2 = e2._transformState;
+ if (r2.length)
+ throw new Error("Calling transform done when ws.length != 0");
+ if (n2.transforming)
+ throw new Error("Calling transform done when still transforming");
+ return e2.push(null);
+}
+function Ht(e2) {
+ if (!(this instanceof Ht))
+ return new Ht(e2);
+ Ot.call(this, e2);
+}
+function Ft() {
+ ve.call(this);
+}
+Be(Ot, Ct), Ot.prototype.push = function(e2, t2) {
+ return this._transformState.needTransform = false, Ct.prototype.push.call(this, e2, t2);
+}, Ot.prototype._transform = function(e2, t2, r2) {
+ throw new Error("Not implemented");
+}, Ot.prototype._write = function(e2, t2, r2) {
+ var n2 = this._transformState;
+ if (n2.writecb = r2, n2.writechunk = e2, n2.writeencoding = t2, !n2.transforming) {
+ var i2 = this._readableState;
+ (n2.needTransform || i2.needReadable || i2.length < i2.highWaterMark) && this._read(i2.highWaterMark);
+ }
+}, Ot.prototype._read = function(e2) {
+ var t2 = this._transformState;
+ null !== t2.writechunk && t2.writecb && !t2.transforming ? (t2.transforming = true, this._transform(t2.writechunk, t2.writeencoding, t2.afterTransform)) : t2.needTransform = true;
+}, Be(Ht, Ot), Ht.prototype._transform = function(e2, t2, r2) {
+ r2(null, e2);
+}, Be(Ft, ve), Ft.Readable = ot, Ft.Writable = kt, Ft.Duplex = Ct, Ft.Transform = Ot, Ft.PassThrough = Ht, Ft.Stream = Ft, Ft.prototype.pipe = function(e2, t2) {
+ var r2 = this;
+ function n2(t3) {
+ e2.writable && false === e2.write(t3) && r2.pause && r2.pause();
+ }
+ function i2() {
+ r2.readable && r2.resume && r2.resume();
+ }
+ r2.on("data", n2), e2.on("drain", i2), e2._isStdio || t2 && false === t2.end || (r2.on("end", a2), r2.on("close", s2));
+ var o2 = false;
+ function a2() {
+ o2 || (o2 = true, e2.end());
+ }
+ function s2() {
+ o2 || (o2 = true, "function" == typeof e2.destroy && e2.destroy());
+ }
+ function h2(e3) {
+ if (l2(), 0 === ve.listenerCount(this, "error"))
+ throw e3;
+ }
+ function l2() {
+ r2.removeListener("data", n2), e2.removeListener("drain", i2), r2.removeListener("end", a2), r2.removeListener("close", s2), r2.removeListener("error", h2), e2.removeListener("error", h2), r2.removeListener("end", l2), r2.removeListener("close", l2), e2.removeListener("close", l2);
+ }
+ return r2.on("error", h2), e2.on("error", h2), r2.on("end", l2), r2.on("close", l2), e2.on("close", l2), e2.emit("pipe", r2), e2;
+};
+var Nt = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" };
+function Zt() {
+ this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0;
+}
+function jt(e2, t2, r2, n2, i2) {
+ if (t2.subarray && e2.subarray)
+ e2.set(t2.subarray(r2, r2 + n2), i2);
+ else
+ for (var o2 = 0; o2 < n2; o2++)
+ e2[i2 + o2] = t2[r2 + o2];
+}
+var Wt = Uint8Array, Yt = Uint16Array, Kt = Int32Array, Xt = 4, qt = 0, Vt = 1, Gt = 2;
+function $t(e2) {
+ for (var t2 = e2.length; --t2 >= 0; )
+ e2[t2] = 0;
+}
+var Jt = 0, Qt = 1, er = 2, tr = 29, rr = 256, nr = rr + 1 + tr, ir = 30, or = 19, ar = 2 * nr + 1, sr = 15, hr = 16, lr = 7, fr = 256, cr = 16, ur = 17, dr = 18, pr = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], _r = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], gr = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], vr = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], wr = new Array(2 * (nr + 2));
+$t(wr);
+var br = new Array(2 * ir);
+$t(br);
+var yr = new Array(512);
+$t(yr);
+var mr = new Array(256);
+$t(mr);
+var kr = new Array(tr);
+$t(kr);
+var Er, Sr, xr, Rr = new Array(ir);
+function Ar(e2, t2, r2, n2, i2) {
+ this.static_tree = e2, this.extra_bits = t2, this.extra_base = r2, this.elems = n2, this.max_length = i2, this.has_stree = e2 && e2.length;
+}
+function Br(e2, t2) {
+ this.dyn_tree = e2, this.max_code = 0, this.stat_desc = t2;
+}
+function zr(e2) {
+ return e2 < 256 ? yr[e2] : yr[256 + (e2 >>> 7)];
+}
+function Lr(e2, t2) {
+ e2.pending_buf[e2.pending++] = 255 & t2, e2.pending_buf[e2.pending++] = t2 >>> 8 & 255;
+}
+function Tr(e2, t2, r2) {
+ e2.bi_valid > hr - r2 ? (e2.bi_buf |= t2 << e2.bi_valid & 65535, Lr(e2, e2.bi_buf), e2.bi_buf = t2 >> hr - e2.bi_valid, e2.bi_valid += r2 - hr) : (e2.bi_buf |= t2 << e2.bi_valid & 65535, e2.bi_valid += r2);
+}
+function Mr(e2, t2, r2) {
+ Tr(e2, r2[2 * t2], r2[2 * t2 + 1]);
+}
+function Cr(e2, t2) {
+ var r2 = 0;
+ do {
+ r2 |= 1 & e2, e2 >>>= 1, r2 <<= 1;
+ } while (--t2 > 0);
+ return r2 >>> 1;
+}
+function Dr(e2, t2, r2) {
+ var n2, i2, o2 = new Array(sr + 1), a2 = 0;
+ for (n2 = 1; n2 <= sr; n2++)
+ o2[n2] = a2 = a2 + r2[n2 - 1] << 1;
+ for (i2 = 0; i2 <= t2; i2++) {
+ var s2 = e2[2 * i2 + 1];
+ 0 !== s2 && (e2[2 * i2] = Cr(o2[s2]++, s2));
+ }
+}
+function Ir(e2) {
+ var t2;
+ for (t2 = 0; t2 < nr; t2++)
+ e2.dyn_ltree[2 * t2] = 0;
+ for (t2 = 0; t2 < ir; t2++)
+ e2.dyn_dtree[2 * t2] = 0;
+ for (t2 = 0; t2 < or; t2++)
+ e2.bl_tree[2 * t2] = 0;
+ e2.dyn_ltree[2 * fr] = 1, e2.opt_len = e2.static_len = 0, e2.last_lit = e2.matches = 0;
+}
+function Pr(e2) {
+ e2.bi_valid > 8 ? Lr(e2, e2.bi_buf) : e2.bi_valid > 0 && (e2.pending_buf[e2.pending++] = e2.bi_buf), e2.bi_buf = 0, e2.bi_valid = 0;
+}
+function Or(e2, t2, r2, n2) {
+ var i2 = 2 * t2, o2 = 2 * r2;
+ return e2[i2] < e2[o2] || e2[i2] === e2[o2] && n2[t2] <= n2[r2];
+}
+function Ur(e2, t2, r2) {
+ for (var n2 = e2.heap[r2], i2 = r2 << 1; i2 <= e2.heap_len && (i2 < e2.heap_len && Or(t2, e2.heap[i2 + 1], e2.heap[i2], e2.depth) && i2++, !Or(t2, n2, e2.heap[i2], e2.depth)); )
+ e2.heap[r2] = e2.heap[i2], r2 = i2, i2 <<= 1;
+ e2.heap[r2] = n2;
+}
+function Hr(e2, t2, r2) {
+ var n2, i2, o2, a2, s2 = 0;
+ if (0 !== e2.last_lit)
+ do {
+ n2 = e2.pending_buf[e2.d_buf + 2 * s2] << 8 | e2.pending_buf[e2.d_buf + 2 * s2 + 1], i2 = e2.pending_buf[e2.l_buf + s2], s2++, 0 === n2 ? Mr(e2, i2, t2) : (Mr(e2, (o2 = mr[i2]) + rr + 1, t2), 0 !== (a2 = pr[o2]) && Tr(e2, i2 -= kr[o2], a2), Mr(e2, o2 = zr(--n2), r2), 0 !== (a2 = _r[o2]) && Tr(e2, n2 -= Rr[o2], a2));
+ } while (s2 < e2.last_lit);
+ Mr(e2, fr, t2);
+}
+function Fr(e2, t2) {
+ var r2, n2, i2, o2 = t2.dyn_tree, a2 = t2.stat_desc.static_tree, s2 = t2.stat_desc.has_stree, h2 = t2.stat_desc.elems, l2 = -1;
+ for (e2.heap_len = 0, e2.heap_max = ar, r2 = 0; r2 < h2; r2++)
+ 0 !== o2[2 * r2] ? (e2.heap[++e2.heap_len] = l2 = r2, e2.depth[r2] = 0) : o2[2 * r2 + 1] = 0;
+ for (; e2.heap_len < 2; )
+ o2[2 * (i2 = e2.heap[++e2.heap_len] = l2 < 2 ? ++l2 : 0)] = 1, e2.depth[i2] = 0, e2.opt_len--, s2 && (e2.static_len -= a2[2 * i2 + 1]);
+ for (t2.max_code = l2, r2 = e2.heap_len >> 1; r2 >= 1; r2--)
+ Ur(e2, o2, r2);
+ i2 = h2;
+ do {
+ r2 = e2.heap[1], e2.heap[1] = e2.heap[e2.heap_len--], Ur(e2, o2, 1), n2 = e2.heap[1], e2.heap[--e2.heap_max] = r2, e2.heap[--e2.heap_max] = n2, o2[2 * i2] = o2[2 * r2] + o2[2 * n2], e2.depth[i2] = (e2.depth[r2] >= e2.depth[n2] ? e2.depth[r2] : e2.depth[n2]) + 1, o2[2 * r2 + 1] = o2[2 * n2 + 1] = i2, e2.heap[1] = i2++, Ur(e2, o2, 1);
+ } while (e2.heap_len >= 2);
+ e2.heap[--e2.heap_max] = e2.heap[1], function(e3, t3) {
+ var r3, n3, i3, o3, a3, s3, h3 = t3.dyn_tree, l3 = t3.max_code, f2 = t3.stat_desc.static_tree, c2 = t3.stat_desc.has_stree, u2 = t3.stat_desc.extra_bits, d2 = t3.stat_desc.extra_base, p2 = t3.stat_desc.max_length, _2 = 0;
+ for (o3 = 0; o3 <= sr; o3++)
+ e3.bl_count[o3] = 0;
+ for (h3[2 * e3.heap[e3.heap_max] + 1] = 0, r3 = e3.heap_max + 1; r3 < ar; r3++)
+ (o3 = h3[2 * h3[2 * (n3 = e3.heap[r3]) + 1] + 1] + 1) > p2 && (o3 = p2, _2++), h3[2 * n3 + 1] = o3, n3 > l3 || (e3.bl_count[o3]++, a3 = 0, n3 >= d2 && (a3 = u2[n3 - d2]), s3 = h3[2 * n3], e3.opt_len += s3 * (o3 + a3), c2 && (e3.static_len += s3 * (f2[2 * n3 + 1] + a3)));
+ if (0 !== _2) {
+ do {
+ for (o3 = p2 - 1; 0 === e3.bl_count[o3]; )
+ o3--;
+ e3.bl_count[o3]--, e3.bl_count[o3 + 1] += 2, e3.bl_count[p2]--, _2 -= 2;
+ } while (_2 > 0);
+ for (o3 = p2; 0 !== o3; o3--)
+ for (n3 = e3.bl_count[o3]; 0 !== n3; )
+ (i3 = e3.heap[--r3]) > l3 || (h3[2 * i3 + 1] !== o3 && (e3.opt_len += (o3 - h3[2 * i3 + 1]) * h3[2 * i3], h3[2 * i3 + 1] = o3), n3--);
+ }
+ }(e2, t2), Dr(o2, l2, e2.bl_count);
+}
+function Nr(e2, t2, r2) {
+ var n2, i2, o2 = -1, a2 = t2[1], s2 = 0, h2 = 7, l2 = 4;
+ for (0 === a2 && (h2 = 138, l2 = 3), t2[2 * (r2 + 1) + 1] = 65535, n2 = 0; n2 <= r2; n2++)
+ i2 = a2, a2 = t2[2 * (n2 + 1) + 1], ++s2 < h2 && i2 === a2 || (s2 < l2 ? e2.bl_tree[2 * i2] += s2 : 0 !== i2 ? (i2 !== o2 && e2.bl_tree[2 * i2]++, e2.bl_tree[2 * cr]++) : s2 <= 10 ? e2.bl_tree[2 * ur]++ : e2.bl_tree[2 * dr]++, s2 = 0, o2 = i2, 0 === a2 ? (h2 = 138, l2 = 3) : i2 === a2 ? (h2 = 6, l2 = 3) : (h2 = 7, l2 = 4));
+}
+function Zr(e2, t2, r2) {
+ var n2, i2, o2 = -1, a2 = t2[1], s2 = 0, h2 = 7, l2 = 4;
+ for (0 === a2 && (h2 = 138, l2 = 3), n2 = 0; n2 <= r2; n2++)
+ if (i2 = a2, a2 = t2[2 * (n2 + 1) + 1], !(++s2 < h2 && i2 === a2)) {
+ if (s2 < l2)
+ do {
+ Mr(e2, i2, e2.bl_tree);
+ } while (0 != --s2);
+ else
+ 0 !== i2 ? (i2 !== o2 && (Mr(e2, i2, e2.bl_tree), s2--), Mr(e2, cr, e2.bl_tree), Tr(e2, s2 - 3, 2)) : s2 <= 10 ? (Mr(e2, ur, e2.bl_tree), Tr(e2, s2 - 3, 3)) : (Mr(e2, dr, e2.bl_tree), Tr(e2, s2 - 11, 7));
+ s2 = 0, o2 = i2, 0 === a2 ? (h2 = 138, l2 = 3) : i2 === a2 ? (h2 = 6, l2 = 3) : (h2 = 7, l2 = 4);
+ }
+}
+$t(Rr);
+var jr = false;
+function Wr(e2) {
+ jr || (!function() {
+ var e3, t2, r2, n2, i2, o2 = new Array(sr + 1);
+ for (r2 = 0, n2 = 0; n2 < tr - 1; n2++)
+ for (kr[n2] = r2, e3 = 0; e3 < 1 << pr[n2]; e3++)
+ mr[r2++] = n2;
+ for (mr[r2 - 1] = n2, i2 = 0, n2 = 0; n2 < 16; n2++)
+ for (Rr[n2] = i2, e3 = 0; e3 < 1 << _r[n2]; e3++)
+ yr[i2++] = n2;
+ for (i2 >>= 7; n2 < ir; n2++)
+ for (Rr[n2] = i2 << 7, e3 = 0; e3 < 1 << _r[n2] - 7; e3++)
+ yr[256 + i2++] = n2;
+ for (t2 = 0; t2 <= sr; t2++)
+ o2[t2] = 0;
+ for (e3 = 0; e3 <= 143; )
+ wr[2 * e3 + 1] = 8, e3++, o2[8]++;
+ for (; e3 <= 255; )
+ wr[2 * e3 + 1] = 9, e3++, o2[9]++;
+ for (; e3 <= 279; )
+ wr[2 * e3 + 1] = 7, e3++, o2[7]++;
+ for (; e3 <= 287; )
+ wr[2 * e3 + 1] = 8, e3++, o2[8]++;
+ for (Dr(wr, nr + 1, o2), e3 = 0; e3 < ir; e3++)
+ br[2 * e3 + 1] = 5, br[2 * e3] = Cr(e3, 5);
+ Er = new Ar(wr, pr, rr + 1, nr, sr), Sr = new Ar(br, _r, 0, ir, sr), xr = new Ar(new Array(0), gr, 0, or, lr);
+ }(), jr = true), e2.l_desc = new Br(e2.dyn_ltree, Er), e2.d_desc = new Br(e2.dyn_dtree, Sr), e2.bl_desc = new Br(e2.bl_tree, xr), e2.bi_buf = 0, e2.bi_valid = 0, Ir(e2);
+}
+function Yr(e2, t2, r2, n2) {
+ Tr(e2, (Jt << 1) + (n2 ? 1 : 0), 3), function(e3, t3, r3, n3) {
+ Pr(e3), n3 && (Lr(e3, r3), Lr(e3, ~r3)), jt(e3.pending_buf, e3.window, t3, r3, e3.pending), e3.pending += r3;
+ }(e2, t2, r2, true);
+}
+function Kr(e2) {
+ Tr(e2, Qt << 1, 3), Mr(e2, fr, wr), function(e3) {
+ 16 === e3.bi_valid ? (Lr(e3, e3.bi_buf), e3.bi_buf = 0, e3.bi_valid = 0) : e3.bi_valid >= 8 && (e3.pending_buf[e3.pending++] = 255 & e3.bi_buf, e3.bi_buf >>= 8, e3.bi_valid -= 8);
+ }(e2);
+}
+function Xr(e2, t2, r2, n2) {
+ var i2, o2, a2 = 0;
+ e2.level > 0 ? (e2.strm.data_type === Gt && (e2.strm.data_type = function(e3) {
+ var t3, r3 = 4093624447;
+ for (t3 = 0; t3 <= 31; t3++, r3 >>>= 1)
+ if (1 & r3 && 0 !== e3.dyn_ltree[2 * t3])
+ return qt;
+ if (0 !== e3.dyn_ltree[18] || 0 !== e3.dyn_ltree[20] || 0 !== e3.dyn_ltree[26])
+ return Vt;
+ for (t3 = 32; t3 < rr; t3++)
+ if (0 !== e3.dyn_ltree[2 * t3])
+ return Vt;
+ return qt;
+ }(e2)), Fr(e2, e2.l_desc), Fr(e2, e2.d_desc), a2 = function(e3) {
+ var t3;
+ for (Nr(e3, e3.dyn_ltree, e3.l_desc.max_code), Nr(e3, e3.dyn_dtree, e3.d_desc.max_code), Fr(e3, e3.bl_desc), t3 = or - 1; t3 >= 3 && 0 === e3.bl_tree[2 * vr[t3] + 1]; t3--)
+ ;
+ return e3.opt_len += 3 * (t3 + 1) + 5 + 5 + 4, t3;
+ }(e2), i2 = e2.opt_len + 3 + 7 >>> 3, (o2 = e2.static_len + 3 + 7 >>> 3) <= i2 && (i2 = o2)) : i2 = o2 = r2 + 5, r2 + 4 <= i2 && -1 !== t2 ? Yr(e2, t2, r2, n2) : e2.strategy === Xt || o2 === i2 ? (Tr(e2, (Qt << 1) + (n2 ? 1 : 0), 3), Hr(e2, wr, br)) : (Tr(e2, (er << 1) + (n2 ? 1 : 0), 3), function(e3, t3, r3, n3) {
+ var i3;
+ for (Tr(e3, t3 - 257, 5), Tr(e3, r3 - 1, 5), Tr(e3, n3 - 4, 4), i3 = 0; i3 < n3; i3++)
+ Tr(e3, e3.bl_tree[2 * vr[i3] + 1], 3);
+ Zr(e3, e3.dyn_ltree, t3 - 1), Zr(e3, e3.dyn_dtree, r3 - 1);
+ }(e2, e2.l_desc.max_code + 1, e2.d_desc.max_code + 1, a2 + 1), Hr(e2, e2.dyn_ltree, e2.dyn_dtree)), Ir(e2), n2 && Pr(e2);
+}
+function qr(e2, t2, r2) {
+ return e2.pending_buf[e2.d_buf + 2 * e2.last_lit] = t2 >>> 8 & 255, e2.pending_buf[e2.d_buf + 2 * e2.last_lit + 1] = 255 & t2, e2.pending_buf[e2.l_buf + e2.last_lit] = 255 & r2, e2.last_lit++, 0 === t2 ? e2.dyn_ltree[2 * r2]++ : (e2.matches++, t2--, e2.dyn_ltree[2 * (mr[r2] + rr + 1)]++, e2.dyn_dtree[2 * zr(t2)]++), e2.last_lit === e2.lit_bufsize - 1;
+}
+function Vr(e2, t2, r2, n2) {
+ for (var i2 = 65535 & e2 | 0, o2 = e2 >>> 16 & 65535 | 0, a2 = 0; 0 !== r2; ) {
+ r2 -= a2 = r2 > 2e3 ? 2e3 : r2;
+ do {
+ o2 = o2 + (i2 = i2 + t2[n2++] | 0) | 0;
+ } while (--a2);
+ i2 %= 65521, o2 %= 65521;
+ }
+ return i2 | o2 << 16 | 0;
+}
+var Gr = function() {
+ for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) {
+ e2 = r2;
+ for (var n2 = 0; n2 < 8; n2++)
+ e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1;
+ t2[r2] = e2;
+ }
+ return t2;
+}();
+function $r(e2, t2, r2, n2) {
+ var i2 = Gr, o2 = n2 + r2;
+ e2 ^= -1;
+ for (var a2 = n2; a2 < o2; a2++)
+ e2 = e2 >>> 8 ^ i2[255 & (e2 ^ t2[a2])];
+ return -1 ^ e2;
+}
+var Jr, Qr = 0, en = 1, tn = 3, rn = 4, nn = 5, on = 0, an = 1, sn = -2, hn = -3, ln = -5, fn = -1, cn = 1, un = 2, dn = 3, pn = 4, _n = 2, gn = 8, vn = 9, wn = 286, bn = 30, yn = 19, mn = 2 * wn + 1, kn = 15, En = 3, Sn = 258, xn = Sn + En + 1, Rn = 32, An = 42, Bn = 69, zn = 73, Ln = 91, Tn = 103, Mn = 113, Cn = 666, Dn = 1, In = 2, Pn = 3, On = 4, Un = 3;
+function Hn(e2, t2) {
+ return e2.msg = Nt[t2], t2;
+}
+function Fn(e2) {
+ return (e2 << 1) - (e2 > 4 ? 9 : 0);
+}
+function Nn(e2) {
+ for (var t2 = e2.length; --t2 >= 0; )
+ e2[t2] = 0;
+}
+function Zn(e2) {
+ var t2 = e2.state, r2 = t2.pending;
+ r2 > e2.avail_out && (r2 = e2.avail_out), 0 !== r2 && (jt(e2.output, t2.pending_buf, t2.pending_out, r2, e2.next_out), e2.next_out += r2, t2.pending_out += r2, e2.total_out += r2, e2.avail_out -= r2, t2.pending -= r2, 0 === t2.pending && (t2.pending_out = 0));
+}
+function jn(e2, t2) {
+ Xr(e2, e2.block_start >= 0 ? e2.block_start : -1, e2.strstart - e2.block_start, t2), e2.block_start = e2.strstart, Zn(e2.strm);
+}
+function Wn(e2, t2) {
+ e2.pending_buf[e2.pending++] = t2;
+}
+function Yn(e2, t2) {
+ e2.pending_buf[e2.pending++] = t2 >>> 8 & 255, e2.pending_buf[e2.pending++] = 255 & t2;
+}
+function Kn(e2, t2) {
+ var r2, n2, i2 = e2.max_chain_length, o2 = e2.strstart, a2 = e2.prev_length, s2 = e2.nice_match, h2 = e2.strstart > e2.w_size - xn ? e2.strstart - (e2.w_size - xn) : 0, l2 = e2.window, f2 = e2.w_mask, c2 = e2.prev, u2 = e2.strstart + Sn, d2 = l2[o2 + a2 - 1], p2 = l2[o2 + a2];
+ e2.prev_length >= e2.good_match && (i2 >>= 2), s2 > e2.lookahead && (s2 = e2.lookahead);
+ do {
+ if (l2[(r2 = t2) + a2] === p2 && l2[r2 + a2 - 1] === d2 && l2[r2] === l2[o2] && l2[++r2] === l2[o2 + 1]) {
+ o2 += 2, r2++;
+ do {
+ } while (l2[++o2] === l2[++r2] && l2[++o2] === l2[++r2] && l2[++o2] === l2[++r2] && l2[++o2] === l2[++r2] && l2[++o2] === l2[++r2] && l2[++o2] === l2[++r2] && l2[++o2] === l2[++r2] && l2[++o2] === l2[++r2] && o2 < u2);
+ if (n2 = Sn - (u2 - o2), o2 = u2 - Sn, n2 > a2) {
+ if (e2.match_start = t2, a2 = n2, n2 >= s2)
+ break;
+ d2 = l2[o2 + a2 - 1], p2 = l2[o2 + a2];
+ }
+ }
+ } while ((t2 = c2[t2 & f2]) > h2 && 0 != --i2);
+ return a2 <= e2.lookahead ? a2 : e2.lookahead;
+}
+function Xn(e2) {
+ var t2, r2, n2, i2, o2, a2, s2, h2, l2, f2, c2 = e2.w_size;
+ do {
+ if (i2 = e2.window_size - e2.lookahead - e2.strstart, e2.strstart >= c2 + (c2 - xn)) {
+ jt(e2.window, e2.window, c2, c2, 0), e2.match_start -= c2, e2.strstart -= c2, e2.block_start -= c2, t2 = r2 = e2.hash_size;
+ do {
+ n2 = e2.head[--t2], e2.head[t2] = n2 >= c2 ? n2 - c2 : 0;
+ } while (--r2);
+ t2 = r2 = c2;
+ do {
+ n2 = e2.prev[--t2], e2.prev[t2] = n2 >= c2 ? n2 - c2 : 0;
+ } while (--r2);
+ i2 += c2;
+ }
+ if (0 === e2.strm.avail_in)
+ break;
+ if (a2 = e2.strm, s2 = e2.window, h2 = e2.strstart + e2.lookahead, l2 = i2, f2 = void 0, (f2 = a2.avail_in) > l2 && (f2 = l2), r2 = 0 === f2 ? 0 : (a2.avail_in -= f2, jt(s2, a2.input, a2.next_in, f2, h2), 1 === a2.state.wrap ? a2.adler = Vr(a2.adler, s2, f2, h2) : 2 === a2.state.wrap && (a2.adler = $r(a2.adler, s2, f2, h2)), a2.next_in += f2, a2.total_in += f2, f2), e2.lookahead += r2, e2.lookahead + e2.insert >= En)
+ for (o2 = e2.strstart - e2.insert, e2.ins_h = e2.window[o2], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[o2 + 1]) & e2.hash_mask; e2.insert && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[o2 + En - 1]) & e2.hash_mask, e2.prev[o2 & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = o2, o2++, e2.insert--, !(e2.lookahead + e2.insert < En)); )
+ ;
+ } while (e2.lookahead < xn && 0 !== e2.strm.avail_in);
+}
+function qn(e2, t2) {
+ for (var r2, n2; ; ) {
+ if (e2.lookahead < xn) {
+ if (Xn(e2), e2.lookahead < xn && t2 === Qr)
+ return Dn;
+ if (0 === e2.lookahead)
+ break;
+ }
+ if (r2 = 0, e2.lookahead >= En && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + En - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 !== r2 && e2.strstart - r2 <= e2.w_size - xn && (e2.match_length = Kn(e2, r2)), e2.match_length >= En)
+ if (n2 = qr(e2, e2.strstart - e2.match_start, e2.match_length - En), e2.lookahead -= e2.match_length, e2.match_length <= e2.max_lazy_match && e2.lookahead >= En) {
+ e2.match_length--;
+ do {
+ e2.strstart++, e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + En - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart;
+ } while (0 != --e2.match_length);
+ e2.strstart++;
+ } else
+ e2.strstart += e2.match_length, e2.match_length = 0, e2.ins_h = e2.window[e2.strstart], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + 1]) & e2.hash_mask;
+ else
+ n2 = qr(e2, 0, e2.window[e2.strstart]), e2.lookahead--, e2.strstart++;
+ if (n2 && (jn(e2, false), 0 === e2.strm.avail_out))
+ return Dn;
+ }
+ return e2.insert = e2.strstart < En - 1 ? e2.strstart : En - 1, t2 === rn ? (jn(e2, true), 0 === e2.strm.avail_out ? Pn : On) : e2.last_lit && (jn(e2, false), 0 === e2.strm.avail_out) ? Dn : In;
+}
+function Vn(e2, t2) {
+ for (var r2, n2, i2; ; ) {
+ if (e2.lookahead < xn) {
+ if (Xn(e2), e2.lookahead < xn && t2 === Qr)
+ return Dn;
+ if (0 === e2.lookahead)
+ break;
+ }
+ if (r2 = 0, e2.lookahead >= En && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + En - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), e2.prev_length = e2.match_length, e2.prev_match = e2.match_start, e2.match_length = En - 1, 0 !== r2 && e2.prev_length < e2.max_lazy_match && e2.strstart - r2 <= e2.w_size - xn && (e2.match_length = Kn(e2, r2), e2.match_length <= 5 && (e2.strategy === cn || e2.match_length === En && e2.strstart - e2.match_start > 4096) && (e2.match_length = En - 1)), e2.prev_length >= En && e2.match_length <= e2.prev_length) {
+ i2 = e2.strstart + e2.lookahead - En, n2 = qr(e2, e2.strstart - 1 - e2.prev_match, e2.prev_length - En), e2.lookahead -= e2.prev_length - 1, e2.prev_length -= 2;
+ do {
+ ++e2.strstart <= i2 && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + En - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart);
+ } while (0 != --e2.prev_length);
+ if (e2.match_available = 0, e2.match_length = En - 1, e2.strstart++, n2 && (jn(e2, false), 0 === e2.strm.avail_out))
+ return Dn;
+ } else if (e2.match_available) {
+ if ((n2 = qr(e2, 0, e2.window[e2.strstart - 1])) && jn(e2, false), e2.strstart++, e2.lookahead--, 0 === e2.strm.avail_out)
+ return Dn;
+ } else
+ e2.match_available = 1, e2.strstart++, e2.lookahead--;
+ }
+ return e2.match_available && (n2 = qr(e2, 0, e2.window[e2.strstart - 1]), e2.match_available = 0), e2.insert = e2.strstart < En - 1 ? e2.strstart : En - 1, t2 === rn ? (jn(e2, true), 0 === e2.strm.avail_out ? Pn : On) : e2.last_lit && (jn(e2, false), 0 === e2.strm.avail_out) ? Dn : In;
+}
+function Gn(e2, t2, r2, n2, i2) {
+ this.good_length = e2, this.max_lazy = t2, this.nice_length = r2, this.max_chain = n2, this.func = i2;
+}
+function $n() {
+ this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = gn, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Yt(2 * mn), this.dyn_dtree = new Yt(2 * (2 * bn + 1)), this.bl_tree = new Yt(2 * (2 * yn + 1)), Nn(this.dyn_ltree), Nn(this.dyn_dtree), Nn(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Yt(kn + 1), this.heap = new Yt(2 * wn + 1), Nn(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Yt(2 * wn + 1), Nn(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
+}
+function Jn(e2) {
+ var t2, r2 = function(e3) {
+ var t3;
+ return e3 && e3.state ? (e3.total_in = e3.total_out = 0, e3.data_type = _n, (t3 = e3.state).pending = 0, t3.pending_out = 0, t3.wrap < 0 && (t3.wrap = -t3.wrap), t3.status = t3.wrap ? An : Mn, e3.adler = 2 === t3.wrap ? 0 : 1, t3.last_flush = Qr, Wr(t3), on) : Hn(e3, sn);
+ }(e2);
+ return r2 === on && ((t2 = e2.state).window_size = 2 * t2.w_size, Nn(t2.head), t2.max_lazy_match = Jr[t2.level].max_lazy, t2.good_match = Jr[t2.level].good_length, t2.nice_match = Jr[t2.level].nice_length, t2.max_chain_length = Jr[t2.level].max_chain, t2.strstart = 0, t2.block_start = 0, t2.lookahead = 0, t2.insert = 0, t2.match_length = t2.prev_length = En - 1, t2.match_available = 0, t2.ins_h = 0), r2;
+}
+function Qn(e2, t2) {
+ var r2, n2, i2, o2;
+ if (!e2 || !e2.state || t2 > nn || t2 < 0)
+ return e2 ? Hn(e2, sn) : sn;
+ if (n2 = e2.state, !e2.output || !e2.input && 0 !== e2.avail_in || n2.status === Cn && t2 !== rn)
+ return Hn(e2, 0 === e2.avail_out ? ln : sn);
+ if (n2.strm = e2, r2 = n2.last_flush, n2.last_flush = t2, n2.status === An)
+ if (2 === n2.wrap)
+ e2.adler = 0, Wn(n2, 31), Wn(n2, 139), Wn(n2, 8), n2.gzhead ? (Wn(n2, (n2.gzhead.text ? 1 : 0) + (n2.gzhead.hcrc ? 2 : 0) + (n2.gzhead.extra ? 4 : 0) + (n2.gzhead.name ? 8 : 0) + (n2.gzhead.comment ? 16 : 0)), Wn(n2, 255 & n2.gzhead.time), Wn(n2, n2.gzhead.time >> 8 & 255), Wn(n2, n2.gzhead.time >> 16 & 255), Wn(n2, n2.gzhead.time >> 24 & 255), Wn(n2, 9 === n2.level ? 2 : n2.strategy >= un || n2.level < 2 ? 4 : 0), Wn(n2, 255 & n2.gzhead.os), n2.gzhead.extra && n2.gzhead.extra.length && (Wn(n2, 255 & n2.gzhead.extra.length), Wn(n2, n2.gzhead.extra.length >> 8 & 255)), n2.gzhead.hcrc && (e2.adler = $r(e2.adler, n2.pending_buf, n2.pending, 0)), n2.gzindex = 0, n2.status = Bn) : (Wn(n2, 0), Wn(n2, 0), Wn(n2, 0), Wn(n2, 0), Wn(n2, 0), Wn(n2, 9 === n2.level ? 2 : n2.strategy >= un || n2.level < 2 ? 4 : 0), Wn(n2, Un), n2.status = Mn);
+ else {
+ var a2 = gn + (n2.w_bits - 8 << 4) << 8;
+ a2 |= (n2.strategy >= un || n2.level < 2 ? 0 : n2.level < 6 ? 1 : 6 === n2.level ? 2 : 3) << 6, 0 !== n2.strstart && (a2 |= Rn), a2 += 31 - a2 % 31, n2.status = Mn, Yn(n2, a2), 0 !== n2.strstart && (Yn(n2, e2.adler >>> 16), Yn(n2, 65535 & e2.adler)), e2.adler = 1;
+ }
+ if (n2.status === Bn)
+ if (n2.gzhead.extra) {
+ for (i2 = n2.pending; n2.gzindex < (65535 & n2.gzhead.extra.length) && (n2.pending !== n2.pending_buf_size || (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = $r(e2.adler, n2.pending_buf, n2.pending - i2, i2)), Zn(e2), i2 = n2.pending, n2.pending !== n2.pending_buf_size)); )
+ Wn(n2, 255 & n2.gzhead.extra[n2.gzindex]), n2.gzindex++;
+ n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = $r(e2.adler, n2.pending_buf, n2.pending - i2, i2)), n2.gzindex === n2.gzhead.extra.length && (n2.gzindex = 0, n2.status = zn);
+ } else
+ n2.status = zn;
+ if (n2.status === zn)
+ if (n2.gzhead.name) {
+ i2 = n2.pending;
+ do {
+ if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = $r(e2.adler, n2.pending_buf, n2.pending - i2, i2)), Zn(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) {
+ o2 = 1;
+ break;
+ }
+ o2 = n2.gzindex < n2.gzhead.name.length ? 255 & n2.gzhead.name.charCodeAt(n2.gzindex++) : 0, Wn(n2, o2);
+ } while (0 !== o2);
+ n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = $r(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === o2 && (n2.gzindex = 0, n2.status = Ln);
+ } else
+ n2.status = Ln;
+ if (n2.status === Ln)
+ if (n2.gzhead.comment) {
+ i2 = n2.pending;
+ do {
+ if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = $r(e2.adler, n2.pending_buf, n2.pending - i2, i2)), Zn(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) {
+ o2 = 1;
+ break;
+ }
+ o2 = n2.gzindex < n2.gzhead.comment.length ? 255 & n2.gzhead.comment.charCodeAt(n2.gzindex++) : 0, Wn(n2, o2);
+ } while (0 !== o2);
+ n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = $r(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === o2 && (n2.status = Tn);
+ } else
+ n2.status = Tn;
+ if (n2.status === Tn && (n2.gzhead.hcrc ? (n2.pending + 2 > n2.pending_buf_size && Zn(e2), n2.pending + 2 <= n2.pending_buf_size && (Wn(n2, 255 & e2.adler), Wn(n2, e2.adler >> 8 & 255), e2.adler = 0, n2.status = Mn)) : n2.status = Mn), 0 !== n2.pending) {
+ if (Zn(e2), 0 === e2.avail_out)
+ return n2.last_flush = -1, on;
+ } else if (0 === e2.avail_in && Fn(t2) <= Fn(r2) && t2 !== rn)
+ return Hn(e2, ln);
+ if (n2.status === Cn && 0 !== e2.avail_in)
+ return Hn(e2, ln);
+ if (0 !== e2.avail_in || 0 !== n2.lookahead || t2 !== Qr && n2.status !== Cn) {
+ var s2 = n2.strategy === un ? function(e3, t3) {
+ for (var r3; ; ) {
+ if (0 === e3.lookahead && (Xn(e3), 0 === e3.lookahead)) {
+ if (t3 === Qr)
+ return Dn;
+ break;
+ }
+ if (e3.match_length = 0, r3 = qr(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++, r3 && (jn(e3, false), 0 === e3.strm.avail_out))
+ return Dn;
+ }
+ return e3.insert = 0, t3 === rn ? (jn(e3, true), 0 === e3.strm.avail_out ? Pn : On) : e3.last_lit && (jn(e3, false), 0 === e3.strm.avail_out) ? Dn : In;
+ }(n2, t2) : n2.strategy === dn ? function(e3, t3) {
+ for (var r3, n3, i3, o3, a3 = e3.window; ; ) {
+ if (e3.lookahead <= Sn) {
+ if (Xn(e3), e3.lookahead <= Sn && t3 === Qr)
+ return Dn;
+ if (0 === e3.lookahead)
+ break;
+ }
+ if (e3.match_length = 0, e3.lookahead >= En && e3.strstart > 0 && (n3 = a3[i3 = e3.strstart - 1]) === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3]) {
+ o3 = e3.strstart + Sn;
+ do {
+ } while (n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && i3 < o3);
+ e3.match_length = Sn - (o3 - i3), e3.match_length > e3.lookahead && (e3.match_length = e3.lookahead);
+ }
+ if (e3.match_length >= En ? (r3 = qr(e3, 1, e3.match_length - En), e3.lookahead -= e3.match_length, e3.strstart += e3.match_length, e3.match_length = 0) : (r3 = qr(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++), r3 && (jn(e3, false), 0 === e3.strm.avail_out))
+ return Dn;
+ }
+ return e3.insert = 0, t3 === rn ? (jn(e3, true), 0 === e3.strm.avail_out ? Pn : On) : e3.last_lit && (jn(e3, false), 0 === e3.strm.avail_out) ? Dn : In;
+ }(n2, t2) : Jr[n2.level].func(n2, t2);
+ if (s2 !== Pn && s2 !== On || (n2.status = Cn), s2 === Dn || s2 === Pn)
+ return 0 === e2.avail_out && (n2.last_flush = -1), on;
+ if (s2 === In && (t2 === en ? Kr(n2) : t2 !== nn && (Yr(n2, 0, 0, false), t2 === tn && (Nn(n2.head), 0 === n2.lookahead && (n2.strstart = 0, n2.block_start = 0, n2.insert = 0))), Zn(e2), 0 === e2.avail_out))
+ return n2.last_flush = -1, on;
+ }
+ return t2 !== rn ? on : n2.wrap <= 0 ? an : (2 === n2.wrap ? (Wn(n2, 255 & e2.adler), Wn(n2, e2.adler >> 8 & 255), Wn(n2, e2.adler >> 16 & 255), Wn(n2, e2.adler >> 24 & 255), Wn(n2, 255 & e2.total_in), Wn(n2, e2.total_in >> 8 & 255), Wn(n2, e2.total_in >> 16 & 255), Wn(n2, e2.total_in >> 24 & 255)) : (Yn(n2, e2.adler >>> 16), Yn(n2, 65535 & e2.adler)), Zn(e2), n2.wrap > 0 && (n2.wrap = -n2.wrap), 0 !== n2.pending ? on : an);
+}
+Jr = [new Gn(0, 0, 0, 0, function(e2, t2) {
+ var r2 = 65535;
+ for (r2 > e2.pending_buf_size - 5 && (r2 = e2.pending_buf_size - 5); ; ) {
+ if (e2.lookahead <= 1) {
+ if (Xn(e2), 0 === e2.lookahead && t2 === Qr)
+ return Dn;
+ if (0 === e2.lookahead)
+ break;
+ }
+ e2.strstart += e2.lookahead, e2.lookahead = 0;
+ var n2 = e2.block_start + r2;
+ if ((0 === e2.strstart || e2.strstart >= n2) && (e2.lookahead = e2.strstart - n2, e2.strstart = n2, jn(e2, false), 0 === e2.strm.avail_out))
+ return Dn;
+ if (e2.strstart - e2.block_start >= e2.w_size - xn && (jn(e2, false), 0 === e2.strm.avail_out))
+ return Dn;
+ }
+ return e2.insert = 0, t2 === rn ? (jn(e2, true), 0 === e2.strm.avail_out ? Pn : On) : (e2.strstart > e2.block_start && (jn(e2, false), e2.strm.avail_out), Dn);
+}), new Gn(4, 4, 8, 4, qn), new Gn(4, 5, 16, 8, qn), new Gn(4, 6, 32, 32, qn), new Gn(4, 4, 16, 16, Vn), new Gn(8, 16, 32, 32, Vn), new Gn(8, 16, 128, 128, Vn), new Gn(8, 32, 128, 256, Vn), new Gn(32, 128, 258, 1024, Vn), new Gn(32, 258, 258, 4096, Vn)];
+var ei = 30, ti = 12;
+function ri(e2, t2) {
+ var r2, n2, i2, o2, a2, s2, h2, l2, f2, c2, u2, d2, p2, _2, g2, v2, w2, b2, y2, m2, k2, E2, S2, x2, R2;
+ r2 = e2.state, n2 = e2.next_in, x2 = e2.input, i2 = n2 + (e2.avail_in - 5), o2 = e2.next_out, R2 = e2.output, a2 = o2 - (t2 - e2.avail_out), s2 = o2 + (e2.avail_out - 257), h2 = r2.dmax, l2 = r2.wsize, f2 = r2.whave, c2 = r2.wnext, u2 = r2.window, d2 = r2.hold, p2 = r2.bits, _2 = r2.lencode, g2 = r2.distcode, v2 = (1 << r2.lenbits) - 1, w2 = (1 << r2.distbits) - 1;
+ e:
+ do {
+ p2 < 15 && (d2 += x2[n2++] << p2, p2 += 8, d2 += x2[n2++] << p2, p2 += 8), b2 = _2[d2 & v2];
+ t:
+ for (; ; ) {
+ if (d2 >>>= y2 = b2 >>> 24, p2 -= y2, 0 === (y2 = b2 >>> 16 & 255))
+ R2[o2++] = 65535 & b2;
+ else {
+ if (!(16 & y2)) {
+ if (0 == (64 & y2)) {
+ b2 = _2[(65535 & b2) + (d2 & (1 << y2) - 1)];
+ continue t;
+ }
+ if (32 & y2) {
+ r2.mode = ti;
+ break e;
+ }
+ e2.msg = "invalid literal/length code", r2.mode = ei;
+ break e;
+ }
+ m2 = 65535 & b2, (y2 &= 15) && (p2 < y2 && (d2 += x2[n2++] << p2, p2 += 8), m2 += d2 & (1 << y2) - 1, d2 >>>= y2, p2 -= y2), p2 < 15 && (d2 += x2[n2++] << p2, p2 += 8, d2 += x2[n2++] << p2, p2 += 8), b2 = g2[d2 & w2];
+ r:
+ for (; ; ) {
+ if (d2 >>>= y2 = b2 >>> 24, p2 -= y2, !(16 & (y2 = b2 >>> 16 & 255))) {
+ if (0 == (64 & y2)) {
+ b2 = g2[(65535 & b2) + (d2 & (1 << y2) - 1)];
+ continue r;
+ }
+ e2.msg = "invalid distance code", r2.mode = ei;
+ break e;
+ }
+ if (k2 = 65535 & b2, p2 < (y2 &= 15) && (d2 += x2[n2++] << p2, (p2 += 8) < y2 && (d2 += x2[n2++] << p2, p2 += 8)), (k2 += d2 & (1 << y2) - 1) > h2) {
+ e2.msg = "invalid distance too far back", r2.mode = ei;
+ break e;
+ }
+ if (d2 >>>= y2, p2 -= y2, k2 > (y2 = o2 - a2)) {
+ if ((y2 = k2 - y2) > f2 && r2.sane) {
+ e2.msg = "invalid distance too far back", r2.mode = ei;
+ break e;
+ }
+ if (E2 = 0, S2 = u2, 0 === c2) {
+ if (E2 += l2 - y2, y2 < m2) {
+ m2 -= y2;
+ do {
+ R2[o2++] = u2[E2++];
+ } while (--y2);
+ E2 = o2 - k2, S2 = R2;
+ }
+ } else if (c2 < y2) {
+ if (E2 += l2 + c2 - y2, (y2 -= c2) < m2) {
+ m2 -= y2;
+ do {
+ R2[o2++] = u2[E2++];
+ } while (--y2);
+ if (E2 = 0, c2 < m2) {
+ m2 -= y2 = c2;
+ do {
+ R2[o2++] = u2[E2++];
+ } while (--y2);
+ E2 = o2 - k2, S2 = R2;
+ }
+ }
+ } else if (E2 += c2 - y2, y2 < m2) {
+ m2 -= y2;
+ do {
+ R2[o2++] = u2[E2++];
+ } while (--y2);
+ E2 = o2 - k2, S2 = R2;
+ }
+ for (; m2 > 2; )
+ R2[o2++] = S2[E2++], R2[o2++] = S2[E2++], R2[o2++] = S2[E2++], m2 -= 3;
+ m2 && (R2[o2++] = S2[E2++], m2 > 1 && (R2[o2++] = S2[E2++]));
+ } else {
+ E2 = o2 - k2;
+ do {
+ R2[o2++] = R2[E2++], R2[o2++] = R2[E2++], R2[o2++] = R2[E2++], m2 -= 3;
+ } while (m2 > 2);
+ m2 && (R2[o2++] = R2[E2++], m2 > 1 && (R2[o2++] = R2[E2++]));
+ }
+ break;
+ }
+ }
+ break;
+ }
+ } while (n2 < i2 && o2 < s2);
+ n2 -= m2 = p2 >> 3, d2 &= (1 << (p2 -= m2 << 3)) - 1, e2.next_in = n2, e2.next_out = o2, e2.avail_in = n2 < i2 ? i2 - n2 + 5 : 5 - (n2 - i2), e2.avail_out = o2 < s2 ? s2 - o2 + 257 : 257 - (o2 - s2), r2.hold = d2, r2.bits = p2;
+}
+var ni = 15, ii = 852, oi = 592, ai = 0, si = 1, hi = 2, li = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], fi = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], ci = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], ui = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64];
+function di(e2, t2, r2, n2, i2, o2, a2, s2) {
+ var h2, l2, f2, c2, u2, d2, p2, _2, g2, v2 = s2.bits, w2 = 0, b2 = 0, y2 = 0, m2 = 0, k2 = 0, E2 = 0, S2 = 0, x2 = 0, R2 = 0, A2 = 0, B2 = null, z2 = 0, L2 = new Yt(ni + 1), T2 = new Yt(ni + 1), M2 = null, C2 = 0;
+ for (w2 = 0; w2 <= ni; w2++)
+ L2[w2] = 0;
+ for (b2 = 0; b2 < n2; b2++)
+ L2[t2[r2 + b2]]++;
+ for (k2 = v2, m2 = ni; m2 >= 1 && 0 === L2[m2]; m2--)
+ ;
+ if (k2 > m2 && (k2 = m2), 0 === m2)
+ return i2[o2++] = 20971520, i2[o2++] = 20971520, s2.bits = 1, 0;
+ for (y2 = 1; y2 < m2 && 0 === L2[y2]; y2++)
+ ;
+ for (k2 < y2 && (k2 = y2), x2 = 1, w2 = 1; w2 <= ni; w2++)
+ if (x2 <<= 1, (x2 -= L2[w2]) < 0)
+ return -1;
+ if (x2 > 0 && (e2 === ai || 1 !== m2))
+ return -1;
+ for (T2[1] = 0, w2 = 1; w2 < ni; w2++)
+ T2[w2 + 1] = T2[w2] + L2[w2];
+ for (b2 = 0; b2 < n2; b2++)
+ 0 !== t2[r2 + b2] && (a2[T2[t2[r2 + b2]]++] = b2);
+ if (e2 === ai ? (B2 = M2 = a2, d2 = 19) : e2 === si ? (B2 = li, z2 -= 257, M2 = fi, C2 -= 257, d2 = 256) : (B2 = ci, M2 = ui, d2 = -1), A2 = 0, b2 = 0, w2 = y2, u2 = o2, E2 = k2, S2 = 0, f2 = -1, c2 = (R2 = 1 << k2) - 1, e2 === si && R2 > ii || e2 === hi && R2 > oi)
+ return 1;
+ for (; ; ) {
+ p2 = w2 - S2, a2[b2] < d2 ? (_2 = 0, g2 = a2[b2]) : a2[b2] > d2 ? (_2 = M2[C2 + a2[b2]], g2 = B2[z2 + a2[b2]]) : (_2 = 96, g2 = 0), h2 = 1 << w2 - S2, y2 = l2 = 1 << E2;
+ do {
+ i2[u2 + (A2 >> S2) + (l2 -= h2)] = p2 << 24 | _2 << 16 | g2 | 0;
+ } while (0 !== l2);
+ for (h2 = 1 << w2 - 1; A2 & h2; )
+ h2 >>= 1;
+ if (0 !== h2 ? (A2 &= h2 - 1, A2 += h2) : A2 = 0, b2++, 0 == --L2[w2]) {
+ if (w2 === m2)
+ break;
+ w2 = t2[r2 + a2[b2]];
+ }
+ if (w2 > k2 && (A2 & c2) !== f2) {
+ for (0 === S2 && (S2 = k2), u2 += y2, x2 = 1 << (E2 = w2 - S2); E2 + S2 < m2 && !((x2 -= L2[E2 + S2]) <= 0); )
+ E2++, x2 <<= 1;
+ if (R2 += 1 << E2, e2 === si && R2 > ii || e2 === hi && R2 > oi)
+ return 1;
+ i2[f2 = A2 & c2] = k2 << 24 | E2 << 16 | u2 - o2 | 0;
+ }
+ }
+ return 0 !== A2 && (i2[u2 + A2] = w2 - S2 << 24 | 64 << 16 | 0), s2.bits = k2, 0;
+}
+var pi = 0, _i = 1, gi = 2, vi = 4, wi = 5, bi = 6, yi = 0, mi = 1, ki = 2, Ei = -2, Si = -3, xi = -4, Ri = -5, Ai = 8, Bi = 1, zi = 2, Li = 3, Ti = 4, Mi = 5, Ci = 6, Di = 7, Ii = 8, Pi = 9, Oi = 10, Ui = 11, Hi = 12, Fi = 13, Ni = 14, Zi = 15, ji = 16, Wi = 17, Yi = 18, Ki = 19, Xi = 20, qi = 21, Vi = 22, Gi = 23, $i = 24, Ji = 25, Qi = 26, eo = 27, to = 28, ro = 29, no = 30, io = 31, oo = 32, ao = 852, so = 592;
+function ho(e2) {
+ return (e2 >>> 24 & 255) + (e2 >>> 8 & 65280) + ((65280 & e2) << 8) + ((255 & e2) << 24);
+}
+function lo() {
+ this.mode = 0, this.last = false, this.wrap = 0, this.havedict = false, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Yt(320), this.work = new Yt(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
+}
+function fo(e2) {
+ var t2;
+ return e2 && e2.state ? ((t2 = e2.state).wsize = 0, t2.whave = 0, t2.wnext = 0, function(e3) {
+ var t3;
+ return e3 && e3.state ? (t3 = e3.state, e3.total_in = e3.total_out = t3.total = 0, e3.msg = "", t3.wrap && (e3.adler = 1 & t3.wrap), t3.mode = Bi, t3.last = 0, t3.havedict = 0, t3.dmax = 32768, t3.head = null, t3.hold = 0, t3.bits = 0, t3.lencode = t3.lendyn = new Kt(ao), t3.distcode = t3.distdyn = new Kt(so), t3.sane = 1, t3.back = -1, yi) : Ei;
+ }(e2)) : Ei;
+}
+function co(e2, t2) {
+ var r2, n2;
+ return e2 ? (n2 = new lo(), e2.state = n2, n2.window = null, (r2 = function(e3, t3) {
+ var r3, n3;
+ return e3 && e3.state ? (n3 = e3.state, t3 < 0 ? (r3 = 0, t3 = -t3) : (r3 = 1 + (t3 >> 4), t3 < 48 && (t3 &= 15)), t3 && (t3 < 8 || t3 > 15) ? Ei : (null !== n3.window && n3.wbits !== t3 && (n3.window = null), n3.wrap = r3, n3.wbits = t3, fo(e3))) : Ei;
+ }(e2, t2)) !== yi && (e2.state = null), r2) : Ei;
+}
+var uo, po, _o = true;
+function go(e2) {
+ if (_o) {
+ var t2;
+ for (uo = new Kt(512), po = new Kt(32), t2 = 0; t2 < 144; )
+ e2.lens[t2++] = 8;
+ for (; t2 < 256; )
+ e2.lens[t2++] = 9;
+ for (; t2 < 280; )
+ e2.lens[t2++] = 7;
+ for (; t2 < 288; )
+ e2.lens[t2++] = 8;
+ for (di(_i, e2.lens, 0, 288, uo, 0, e2.work, { bits: 9 }), t2 = 0; t2 < 32; )
+ e2.lens[t2++] = 5;
+ di(gi, e2.lens, 0, 32, po, 0, e2.work, { bits: 5 }), _o = false;
+ }
+ e2.lencode = uo, e2.lenbits = 9, e2.distcode = po, e2.distbits = 5;
+}
+function vo(e2, t2) {
+ var r2, n2, i2, o2, a2, s2, h2, l2, f2, c2, u2, d2, p2, _2, g2, v2, w2, b2, y2, m2, k2, E2, S2, x2, R2 = 0, A2 = new Wt(4), B2 = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
+ if (!e2 || !e2.state || !e2.output || !e2.input && 0 !== e2.avail_in)
+ return Ei;
+ (r2 = e2.state).mode === Hi && (r2.mode = Fi), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, o2 = e2.next_in, n2 = e2.input, s2 = e2.avail_in, l2 = r2.hold, f2 = r2.bits, c2 = s2, u2 = h2, E2 = yi;
+ e:
+ for (; ; )
+ switch (r2.mode) {
+ case Bi:
+ if (0 === r2.wrap) {
+ r2.mode = Fi;
+ break;
+ }
+ for (; f2 < 16; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ if (2 & r2.wrap && 35615 === l2) {
+ r2.check = 0, A2[0] = 255 & l2, A2[1] = l2 >>> 8 & 255, r2.check = $r(r2.check, A2, 2, 0), l2 = 0, f2 = 0, r2.mode = zi;
+ break;
+ }
+ if (r2.flags = 0, r2.head && (r2.head.done = false), !(1 & r2.wrap) || (((255 & l2) << 8) + (l2 >> 8)) % 31) {
+ e2.msg = "incorrect header check", r2.mode = no;
+ break;
+ }
+ if ((15 & l2) !== Ai) {
+ e2.msg = "unknown compression method", r2.mode = no;
+ break;
+ }
+ if (f2 -= 4, k2 = 8 + (15 & (l2 >>>= 4)), 0 === r2.wbits)
+ r2.wbits = k2;
+ else if (k2 > r2.wbits) {
+ e2.msg = "invalid window size", r2.mode = no;
+ break;
+ }
+ r2.dmax = 1 << k2, e2.adler = r2.check = 1, r2.mode = 512 & l2 ? Oi : Hi, l2 = 0, f2 = 0;
+ break;
+ case zi:
+ for (; f2 < 16; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ if (r2.flags = l2, (255 & r2.flags) !== Ai) {
+ e2.msg = "unknown compression method", r2.mode = no;
+ break;
+ }
+ if (57344 & r2.flags) {
+ e2.msg = "unknown header flags set", r2.mode = no;
+ break;
+ }
+ r2.head && (r2.head.text = l2 >> 8 & 1), 512 & r2.flags && (A2[0] = 255 & l2, A2[1] = l2 >>> 8 & 255, r2.check = $r(r2.check, A2, 2, 0)), l2 = 0, f2 = 0, r2.mode = Li;
+ case Li:
+ for (; f2 < 32; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ r2.head && (r2.head.time = l2), 512 & r2.flags && (A2[0] = 255 & l2, A2[1] = l2 >>> 8 & 255, A2[2] = l2 >>> 16 & 255, A2[3] = l2 >>> 24 & 255, r2.check = $r(r2.check, A2, 4, 0)), l2 = 0, f2 = 0, r2.mode = Ti;
+ case Ti:
+ for (; f2 < 16; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ r2.head && (r2.head.xflags = 255 & l2, r2.head.os = l2 >> 8), 512 & r2.flags && (A2[0] = 255 & l2, A2[1] = l2 >>> 8 & 255, r2.check = $r(r2.check, A2, 2, 0)), l2 = 0, f2 = 0, r2.mode = Mi;
+ case Mi:
+ if (1024 & r2.flags) {
+ for (; f2 < 16; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ r2.length = l2, r2.head && (r2.head.extra_len = l2), 512 & r2.flags && (A2[0] = 255 & l2, A2[1] = l2 >>> 8 & 255, r2.check = $r(r2.check, A2, 2, 0)), l2 = 0, f2 = 0;
+ } else
+ r2.head && (r2.head.extra = null);
+ r2.mode = Ci;
+ case Ci:
+ if (1024 & r2.flags && ((d2 = r2.length) > s2 && (d2 = s2), d2 && (r2.head && (k2 = r2.head.extra_len - r2.length, r2.head.extra || (r2.head.extra = new Array(r2.head.extra_len)), jt(r2.head.extra, n2, o2, d2, k2)), 512 & r2.flags && (r2.check = $r(r2.check, n2, d2, o2)), s2 -= d2, o2 += d2, r2.length -= d2), r2.length))
+ break e;
+ r2.length = 0, r2.mode = Di;
+ case Di:
+ if (2048 & r2.flags) {
+ if (0 === s2)
+ break e;
+ d2 = 0;
+ do {
+ k2 = n2[o2 + d2++], r2.head && k2 && r2.length < 65536 && (r2.head.name += String.fromCharCode(k2));
+ } while (k2 && d2 < s2);
+ if (512 & r2.flags && (r2.check = $r(r2.check, n2, d2, o2)), s2 -= d2, o2 += d2, k2)
+ break e;
+ } else
+ r2.head && (r2.head.name = null);
+ r2.length = 0, r2.mode = Ii;
+ case Ii:
+ if (4096 & r2.flags) {
+ if (0 === s2)
+ break e;
+ d2 = 0;
+ do {
+ k2 = n2[o2 + d2++], r2.head && k2 && r2.length < 65536 && (r2.head.comment += String.fromCharCode(k2));
+ } while (k2 && d2 < s2);
+ if (512 & r2.flags && (r2.check = $r(r2.check, n2, d2, o2)), s2 -= d2, o2 += d2, k2)
+ break e;
+ } else
+ r2.head && (r2.head.comment = null);
+ r2.mode = Pi;
+ case Pi:
+ if (512 & r2.flags) {
+ for (; f2 < 16; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ if (l2 !== (65535 & r2.check)) {
+ e2.msg = "header crc mismatch", r2.mode = no;
+ break;
+ }
+ l2 = 0, f2 = 0;
+ }
+ r2.head && (r2.head.hcrc = r2.flags >> 9 & 1, r2.head.done = true), e2.adler = r2.check = 0, r2.mode = Hi;
+ break;
+ case Oi:
+ for (; f2 < 32; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ e2.adler = r2.check = ho(l2), l2 = 0, f2 = 0, r2.mode = Ui;
+ case Ui:
+ if (0 === r2.havedict)
+ return e2.next_out = a2, e2.avail_out = h2, e2.next_in = o2, e2.avail_in = s2, r2.hold = l2, r2.bits = f2, ki;
+ e2.adler = r2.check = 1, r2.mode = Hi;
+ case Hi:
+ if (t2 === wi || t2 === bi)
+ break e;
+ case Fi:
+ if (r2.last) {
+ l2 >>>= 7 & f2, f2 -= 7 & f2, r2.mode = eo;
+ break;
+ }
+ for (; f2 < 3; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ switch (r2.last = 1 & l2, f2 -= 1, 3 & (l2 >>>= 1)) {
+ case 0:
+ r2.mode = Ni;
+ break;
+ case 1:
+ if (go(r2), r2.mode = Xi, t2 === bi) {
+ l2 >>>= 2, f2 -= 2;
+ break e;
+ }
+ break;
+ case 2:
+ r2.mode = Wi;
+ break;
+ case 3:
+ e2.msg = "invalid block type", r2.mode = no;
+ }
+ l2 >>>= 2, f2 -= 2;
+ break;
+ case Ni:
+ for (l2 >>>= 7 & f2, f2 -= 7 & f2; f2 < 32; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ if ((65535 & l2) != (l2 >>> 16 ^ 65535)) {
+ e2.msg = "invalid stored block lengths", r2.mode = no;
+ break;
+ }
+ if (r2.length = 65535 & l2, l2 = 0, f2 = 0, r2.mode = Zi, t2 === bi)
+ break e;
+ case Zi:
+ r2.mode = ji;
+ case ji:
+ if (d2 = r2.length) {
+ if (d2 > s2 && (d2 = s2), d2 > h2 && (d2 = h2), 0 === d2)
+ break e;
+ jt(i2, n2, o2, d2, a2), s2 -= d2, o2 += d2, h2 -= d2, a2 += d2, r2.length -= d2;
+ break;
+ }
+ r2.mode = Hi;
+ break;
+ case Wi:
+ for (; f2 < 14; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ if (r2.nlen = 257 + (31 & l2), l2 >>>= 5, f2 -= 5, r2.ndist = 1 + (31 & l2), l2 >>>= 5, f2 -= 5, r2.ncode = 4 + (15 & l2), l2 >>>= 4, f2 -= 4, r2.nlen > 286 || r2.ndist > 30) {
+ e2.msg = "too many length or distance symbols", r2.mode = no;
+ break;
+ }
+ r2.have = 0, r2.mode = Yi;
+ case Yi:
+ for (; r2.have < r2.ncode; ) {
+ for (; f2 < 3; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ r2.lens[B2[r2.have++]] = 7 & l2, l2 >>>= 3, f2 -= 3;
+ }
+ for (; r2.have < 19; )
+ r2.lens[B2[r2.have++]] = 0;
+ if (r2.lencode = r2.lendyn, r2.lenbits = 7, S2 = { bits: r2.lenbits }, E2 = di(pi, r2.lens, 0, 19, r2.lencode, 0, r2.work, S2), r2.lenbits = S2.bits, E2) {
+ e2.msg = "invalid code lengths set", r2.mode = no;
+ break;
+ }
+ r2.have = 0, r2.mode = Ki;
+ case Ki:
+ for (; r2.have < r2.nlen + r2.ndist; ) {
+ for (; v2 = (R2 = r2.lencode[l2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, w2 = 65535 & R2, !((g2 = R2 >>> 24) <= f2); ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ if (w2 < 16)
+ l2 >>>= g2, f2 -= g2, r2.lens[r2.have++] = w2;
+ else {
+ if (16 === w2) {
+ for (x2 = g2 + 2; f2 < x2; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ if (l2 >>>= g2, f2 -= g2, 0 === r2.have) {
+ e2.msg = "invalid bit length repeat", r2.mode = no;
+ break;
+ }
+ k2 = r2.lens[r2.have - 1], d2 = 3 + (3 & l2), l2 >>>= 2, f2 -= 2;
+ } else if (17 === w2) {
+ for (x2 = g2 + 3; f2 < x2; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ f2 -= g2, k2 = 0, d2 = 3 + (7 & (l2 >>>= g2)), l2 >>>= 3, f2 -= 3;
+ } else {
+ for (x2 = g2 + 7; f2 < x2; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ f2 -= g2, k2 = 0, d2 = 11 + (127 & (l2 >>>= g2)), l2 >>>= 7, f2 -= 7;
+ }
+ if (r2.have + d2 > r2.nlen + r2.ndist) {
+ e2.msg = "invalid bit length repeat", r2.mode = no;
+ break;
+ }
+ for (; d2--; )
+ r2.lens[r2.have++] = k2;
+ }
+ }
+ if (r2.mode === no)
+ break;
+ if (0 === r2.lens[256]) {
+ e2.msg = "invalid code -- missing end-of-block", r2.mode = no;
+ break;
+ }
+ if (r2.lenbits = 9, S2 = { bits: r2.lenbits }, E2 = di(_i, r2.lens, 0, r2.nlen, r2.lencode, 0, r2.work, S2), r2.lenbits = S2.bits, E2) {
+ e2.msg = "invalid literal/lengths set", r2.mode = no;
+ break;
+ }
+ if (r2.distbits = 6, r2.distcode = r2.distdyn, S2 = { bits: r2.distbits }, E2 = di(gi, r2.lens, r2.nlen, r2.ndist, r2.distcode, 0, r2.work, S2), r2.distbits = S2.bits, E2) {
+ e2.msg = "invalid distances set", r2.mode = no;
+ break;
+ }
+ if (r2.mode = Xi, t2 === bi)
+ break e;
+ case Xi:
+ r2.mode = qi;
+ case qi:
+ if (s2 >= 6 && h2 >= 258) {
+ e2.next_out = a2, e2.avail_out = h2, e2.next_in = o2, e2.avail_in = s2, r2.hold = l2, r2.bits = f2, ri(e2, u2), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, o2 = e2.next_in, n2 = e2.input, s2 = e2.avail_in, l2 = r2.hold, f2 = r2.bits, r2.mode === Hi && (r2.back = -1);
+ break;
+ }
+ for (r2.back = 0; v2 = (R2 = r2.lencode[l2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, w2 = 65535 & R2, !((g2 = R2 >>> 24) <= f2); ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ if (v2 && 0 == (240 & v2)) {
+ for (b2 = g2, y2 = v2, m2 = w2; v2 = (R2 = r2.lencode[m2 + ((l2 & (1 << b2 + y2) - 1) >> b2)]) >>> 16 & 255, w2 = 65535 & R2, !(b2 + (g2 = R2 >>> 24) <= f2); ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ l2 >>>= b2, f2 -= b2, r2.back += b2;
+ }
+ if (l2 >>>= g2, f2 -= g2, r2.back += g2, r2.length = w2, 0 === v2) {
+ r2.mode = Qi;
+ break;
+ }
+ if (32 & v2) {
+ r2.back = -1, r2.mode = Hi;
+ break;
+ }
+ if (64 & v2) {
+ e2.msg = "invalid literal/length code", r2.mode = no;
+ break;
+ }
+ r2.extra = 15 & v2, r2.mode = Vi;
+ case Vi:
+ if (r2.extra) {
+ for (x2 = r2.extra; f2 < x2; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ r2.length += l2 & (1 << r2.extra) - 1, l2 >>>= r2.extra, f2 -= r2.extra, r2.back += r2.extra;
+ }
+ r2.was = r2.length, r2.mode = Gi;
+ case Gi:
+ for (; v2 = (R2 = r2.distcode[l2 & (1 << r2.distbits) - 1]) >>> 16 & 255, w2 = 65535 & R2, !((g2 = R2 >>> 24) <= f2); ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ if (0 == (240 & v2)) {
+ for (b2 = g2, y2 = v2, m2 = w2; v2 = (R2 = r2.distcode[m2 + ((l2 & (1 << b2 + y2) - 1) >> b2)]) >>> 16 & 255, w2 = 65535 & R2, !(b2 + (g2 = R2 >>> 24) <= f2); ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ l2 >>>= b2, f2 -= b2, r2.back += b2;
+ }
+ if (l2 >>>= g2, f2 -= g2, r2.back += g2, 64 & v2) {
+ e2.msg = "invalid distance code", r2.mode = no;
+ break;
+ }
+ r2.offset = w2, r2.extra = 15 & v2, r2.mode = $i;
+ case $i:
+ if (r2.extra) {
+ for (x2 = r2.extra; f2 < x2; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ r2.offset += l2 & (1 << r2.extra) - 1, l2 >>>= r2.extra, f2 -= r2.extra, r2.back += r2.extra;
+ }
+ if (r2.offset > r2.dmax) {
+ e2.msg = "invalid distance too far back", r2.mode = no;
+ break;
+ }
+ r2.mode = Ji;
+ case Ji:
+ if (0 === h2)
+ break e;
+ if (d2 = u2 - h2, r2.offset > d2) {
+ if ((d2 = r2.offset - d2) > r2.whave && r2.sane) {
+ e2.msg = "invalid distance too far back", r2.mode = no;
+ break;
+ }
+ d2 > r2.wnext ? (d2 -= r2.wnext, p2 = r2.wsize - d2) : p2 = r2.wnext - d2, d2 > r2.length && (d2 = r2.length), _2 = r2.window;
+ } else
+ _2 = i2, p2 = a2 - r2.offset, d2 = r2.length;
+ d2 > h2 && (d2 = h2), h2 -= d2, r2.length -= d2;
+ do {
+ i2[a2++] = _2[p2++];
+ } while (--d2);
+ 0 === r2.length && (r2.mode = qi);
+ break;
+ case Qi:
+ if (0 === h2)
+ break e;
+ i2[a2++] = r2.length, h2--, r2.mode = qi;
+ break;
+ case eo:
+ if (r2.wrap) {
+ for (; f2 < 32; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 |= n2[o2++] << f2, f2 += 8;
+ }
+ if (u2 -= h2, e2.total_out += u2, r2.total += u2, u2 && (e2.adler = r2.check = r2.flags ? $r(r2.check, i2, u2, a2 - u2) : Vr(r2.check, i2, u2, a2 - u2)), u2 = h2, (r2.flags ? l2 : ho(l2)) !== r2.check) {
+ e2.msg = "incorrect data check", r2.mode = no;
+ break;
+ }
+ l2 = 0, f2 = 0;
+ }
+ r2.mode = to;
+ case to:
+ if (r2.wrap && r2.flags) {
+ for (; f2 < 32; ) {
+ if (0 === s2)
+ break e;
+ s2--, l2 += n2[o2++] << f2, f2 += 8;
+ }
+ if (l2 !== (4294967295 & r2.total)) {
+ e2.msg = "incorrect length check", r2.mode = no;
+ break;
+ }
+ l2 = 0, f2 = 0;
+ }
+ r2.mode = ro;
+ case ro:
+ E2 = mi;
+ break e;
+ case no:
+ E2 = Si;
+ break e;
+ case io:
+ return xi;
+ case oo:
+ default:
+ return Ei;
+ }
+ return e2.next_out = a2, e2.avail_out = h2, e2.next_in = o2, e2.avail_in = s2, r2.hold = l2, r2.bits = f2, (r2.wsize || u2 !== e2.avail_out && r2.mode < no && (r2.mode < eo || t2 !== vi)) && function(e3, t3, r3, n3) {
+ var i3, o3 = e3.state;
+ null === o3.window && (o3.wsize = 1 << o3.wbits, o3.wnext = 0, o3.whave = 0, o3.window = new Wt(o3.wsize)), n3 >= o3.wsize ? (jt(o3.window, t3, r3 - o3.wsize, o3.wsize, 0), o3.wnext = 0, o3.whave = o3.wsize) : ((i3 = o3.wsize - o3.wnext) > n3 && (i3 = n3), jt(o3.window, t3, r3 - n3, i3, o3.wnext), (n3 -= i3) ? (jt(o3.window, t3, r3 - n3, n3, 0), o3.wnext = n3, o3.whave = o3.wsize) : (o3.wnext += i3, o3.wnext === o3.wsize && (o3.wnext = 0), o3.whave < o3.wsize && (o3.whave += i3)));
+ }(e2, e2.output, e2.next_out, u2 - e2.avail_out), c2 -= e2.avail_in, u2 -= e2.avail_out, e2.total_in += c2, e2.total_out += u2, r2.total += u2, r2.wrap && u2 && (e2.adler = r2.check = r2.flags ? $r(r2.check, i2, u2, e2.next_out - u2) : Vr(r2.check, i2, u2, e2.next_out - u2)), e2.data_type = r2.bits + (r2.last ? 64 : 0) + (r2.mode === Hi ? 128 : 0) + (r2.mode === Xi || r2.mode === Zi ? 256 : 0), (0 === c2 && 0 === u2 || t2 === vi) && E2 === yi && (E2 = Ri), E2;
+}
+var wo, bo = 1, yo = 7;
+function mo(e2) {
+ if (e2 < bo || e2 > yo)
+ throw new TypeError("Bad argument");
+ this.mode = e2, this.init_done = false, this.write_in_progress = false, this.pending_close = false, this.windowBits = 0, this.level = 0, this.memLevel = 0, this.strategy = 0, this.dictionary = null;
+}
+function ko(e2, t2) {
+ for (var r2 = 0; r2 < e2.length; r2++)
+ this[t2 + r2] = e2[r2];
+}
+mo.prototype.init = function(e2, t2, r2, n2, i2) {
+ var o2;
+ switch (this.windowBits = e2, this.level = t2, this.memLevel = r2, this.strategy = n2, 3 !== this.mode && 4 !== this.mode || (this.windowBits += 16), this.mode === yo && (this.windowBits += 32), 5 !== this.mode && 6 !== this.mode || (this.windowBits = -this.windowBits), this.strm = new Zt(), this.mode) {
+ case bo:
+ case 3:
+ case 5:
+ o2 = function(e3, t3, r3, n3, i3, o3) {
+ if (!e3)
+ return sn;
+ var a2 = 1;
+ if (t3 === fn && (t3 = 6), n3 < 0 ? (a2 = 0, n3 = -n3) : n3 > 15 && (a2 = 2, n3 -= 16), i3 < 1 || i3 > vn || r3 !== gn || n3 < 8 || n3 > 15 || t3 < 0 || t3 > 9 || o3 < 0 || o3 > pn)
+ return Hn(e3, sn);
+ 8 === n3 && (n3 = 9);
+ var s2 = new $n();
+ return e3.state = s2, s2.strm = e3, s2.wrap = a2, s2.gzhead = null, s2.w_bits = n3, s2.w_size = 1 << s2.w_bits, s2.w_mask = s2.w_size - 1, s2.hash_bits = i3 + 7, s2.hash_size = 1 << s2.hash_bits, s2.hash_mask = s2.hash_size - 1, s2.hash_shift = ~~((s2.hash_bits + En - 1) / En), s2.window = new Wt(2 * s2.w_size), s2.head = new Yt(s2.hash_size), s2.prev = new Yt(s2.w_size), s2.lit_bufsize = 1 << i3 + 6, s2.pending_buf_size = 4 * s2.lit_bufsize, s2.pending_buf = new Wt(s2.pending_buf_size), s2.d_buf = 1 * s2.lit_bufsize, s2.l_buf = 3 * s2.lit_bufsize, s2.level = t3, s2.strategy = o3, s2.method = r3, Jn(e3);
+ }(this.strm, this.level, 8, this.windowBits, this.memLevel, this.strategy);
+ break;
+ case 2:
+ case 4:
+ case 6:
+ case yo:
+ o2 = co(this.strm, this.windowBits);
+ break;
+ default:
+ throw new Error("Unknown mode " + this.mode);
+ }
+ 0 === o2 ? (this.write_in_progress = false, this.init_done = true) : this._error(o2);
+}, mo.prototype.params = function() {
+ throw new Error("deflateParams Not supported");
+}, mo.prototype._writeCheck = function() {
+ if (!this.init_done)
+ throw new Error("write before init");
+ if (0 === this.mode)
+ throw new Error("already finalized");
+ if (this.write_in_progress)
+ throw new Error("write already in progress");
+ if (this.pending_close)
+ throw new Error("close is pending");
+}, mo.prototype.write = function(e2, t2, r2, n2, i2, o2, a2) {
+ this._writeCheck(), this.write_in_progress = true;
+ var s2 = this;
+ return de(function() {
+ s2.write_in_progress = false;
+ var h2 = s2._write(e2, t2, r2, n2, i2, o2, a2);
+ s2.callback(h2[0], h2[1]), s2.pending_close && s2.close();
+ }), this;
+}, mo.prototype.writeSync = function(e2, t2, r2, n2, i2, o2, a2) {
+ return this._writeCheck(), this._write(e2, t2, r2, n2, i2, o2, a2);
+}, mo.prototype._write = function(e2, t2, r2, n2, i2, o2, a2) {
+ if (this.write_in_progress = true, 0 !== e2 && 1 !== e2 && 2 !== e2 && 3 !== e2 && 4 !== e2 && 5 !== e2)
+ throw new Error("Invalid flush value");
+ null == t2 && (t2 = new p(0), n2 = 0, r2 = 0), i2._set ? i2.set = i2._set : i2.set = ko;
+ var s2, h2 = this.strm;
+ switch (h2.avail_in = n2, h2.input = t2, h2.next_in = r2, h2.avail_out = a2, h2.output = i2, h2.next_out = o2, this.mode) {
+ case bo:
+ case 3:
+ case 5:
+ s2 = Qn(h2, e2);
+ break;
+ case yo:
+ case 2:
+ case 4:
+ case 6:
+ s2 = vo(h2, e2);
+ break;
+ default:
+ throw new Error("Unknown mode " + this.mode);
+ }
+ return 1 !== s2 && 0 !== s2 && this._error(s2), this.write_in_progress = false, [h2.avail_in, h2.avail_out];
+}, mo.prototype.close = function() {
+ this.write_in_progress ? this.pending_close = true : (this.pending_close = false, this.mode === bo || 3 === this.mode || 5 === this.mode ? function(e2) {
+ var t2;
+ e2 && e2.state && ((t2 = e2.state.status) !== An && t2 !== Bn && t2 !== zn && t2 !== Ln && t2 !== Tn && t2 !== Mn && t2 !== Cn ? Hn(e2, sn) : (e2.state = null, t2 === Mn && Hn(e2, hn)));
+ }(this.strm) : function(e2) {
+ if (!e2 || !e2.state)
+ return Ei;
+ var t2 = e2.state;
+ t2.window && (t2.window = null), e2.state = null;
+ }(this.strm), this.mode = 0);
+}, mo.prototype.reset = function() {
+ switch (this.mode) {
+ case bo:
+ case 5:
+ wo = Jn(this.strm);
+ break;
+ case 2:
+ case 6:
+ wo = fo(this.strm);
+ }
+ 0 !== wo && this._error(wo);
+}, mo.prototype._error = function(e2) {
+ this.onerror(Nt[e2] + ": " + this.strm.msg, e2), this.write_in_progress = false, this.pending_close && this.close();
+};
+var Eo = Object.freeze({ NONE: 0, DEFLATE: bo, INFLATE: 2, GZIP: 3, GUNZIP: 4, DEFLATERAW: 5, INFLATERAW: 6, UNZIP: yo, Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8, Zlib: mo });
+var So = {};
+Object.keys(Eo).forEach(function(e2) {
+ So[e2] = Eo[e2];
+}), So.Z_MIN_WINDOWBITS = 8, So.Z_MAX_WINDOWBITS = 15, So.Z_DEFAULT_WINDOWBITS = 15, So.Z_MIN_CHUNK = 64, So.Z_MAX_CHUNK = 1 / 0, So.Z_DEFAULT_CHUNK = 16384, So.Z_MIN_MEMLEVEL = 1, So.Z_MAX_MEMLEVEL = 9, So.Z_DEFAULT_MEMLEVEL = 8, So.Z_MIN_LEVEL = -1, So.Z_MAX_LEVEL = 9, So.Z_DEFAULT_LEVEL = So.Z_DEFAULT_COMPRESSION;
+var xo = { Z_OK: So.Z_OK, Z_STREAM_END: So.Z_STREAM_END, Z_NEED_DICT: So.Z_NEED_DICT, Z_ERRNO: So.Z_ERRNO, Z_STREAM_ERROR: So.Z_STREAM_ERROR, Z_DATA_ERROR: So.Z_DATA_ERROR, Z_MEM_ERROR: So.Z_MEM_ERROR, Z_BUF_ERROR: So.Z_BUF_ERROR, Z_VERSION_ERROR: So.Z_VERSION_ERROR };
+function Bo(e2) {
+ if (!(this instanceof Bo))
+ return new Bo(e2);
+ Io.call(this, e2, So.DEFLATE);
+}
+function zo(e2) {
+ if (!(this instanceof zo))
+ return new zo(e2);
+ Io.call(this, e2, So.INFLATE);
+}
+function Lo(e2) {
+ if (!(this instanceof Lo))
+ return new Lo(e2);
+ Io.call(this, e2, So.GZIP);
+}
+function To(e2) {
+ if (!(this instanceof To))
+ return new To(e2);
+ Io.call(this, e2, So.GUNZIP);
+}
+function Mo(e2) {
+ if (!(this instanceof Mo))
+ return new Mo(e2);
+ Io.call(this, e2, So.DEFLATERAW);
+}
+function Co(e2) {
+ if (!(this instanceof Co))
+ return new Co(e2);
+ Io.call(this, e2, So.INFLATERAW);
+}
+function Do(e2) {
+ if (!(this instanceof Do))
+ return new Do(e2);
+ Io.call(this, e2, So.UNZIP);
+}
+function Io(e2, t2) {
+ if (this._opts = e2 = e2 || {}, this._chunkSize = e2.chunkSize || So.Z_DEFAULT_CHUNK, Ot.call(this, e2), e2.flush && e2.flush !== So.Z_NO_FLUSH && e2.flush !== So.Z_PARTIAL_FLUSH && e2.flush !== So.Z_SYNC_FLUSH && e2.flush !== So.Z_FULL_FLUSH && e2.flush !== So.Z_FINISH && e2.flush !== So.Z_BLOCK)
+ throw new Error("Invalid flush flag: " + e2.flush);
+ if (this._flushFlag = e2.flush || So.Z_NO_FLUSH, e2.chunkSize && (e2.chunkSize < So.Z_MIN_CHUNK || e2.chunkSize > So.Z_MAX_CHUNK))
+ throw new Error("Invalid chunk size: " + e2.chunkSize);
+ if (e2.windowBits && (e2.windowBits < So.Z_MIN_WINDOWBITS || e2.windowBits > So.Z_MAX_WINDOWBITS))
+ throw new Error("Invalid windowBits: " + e2.windowBits);
+ if (e2.level && (e2.level < So.Z_MIN_LEVEL || e2.level > So.Z_MAX_LEVEL))
+ throw new Error("Invalid compression level: " + e2.level);
+ if (e2.memLevel && (e2.memLevel < So.Z_MIN_MEMLEVEL || e2.memLevel > So.Z_MAX_MEMLEVEL))
+ throw new Error("Invalid memLevel: " + e2.memLevel);
+ if (e2.strategy && e2.strategy != So.Z_FILTERED && e2.strategy != So.Z_HUFFMAN_ONLY && e2.strategy != So.Z_RLE && e2.strategy != So.Z_FIXED && e2.strategy != So.Z_DEFAULT_STRATEGY)
+ throw new Error("Invalid strategy: " + e2.strategy);
+ if (e2.dictionary && !$(e2.dictionary))
+ throw new Error("Invalid dictionary: it should be a Buffer instance");
+ this._binding = new So.Zlib(t2);
+ var r2 = this;
+ this._hadError = false, this._binding.onerror = function(e3, t3) {
+ r2._binding = null, r2._hadError = true;
+ var n3 = new Error(e3);
+ n3.errno = t3, n3.code = So.codes[t3], r2.emit("error", n3);
+ };
+ var n2 = So.Z_DEFAULT_COMPRESSION;
+ "number" == typeof e2.level && (n2 = e2.level);
+ var i2 = So.Z_DEFAULT_STRATEGY;
+ "number" == typeof e2.strategy && (i2 = e2.strategy), this._binding.init(e2.windowBits || So.Z_DEFAULT_WINDOWBITS, n2, e2.memLevel || So.Z_DEFAULT_MEMLEVEL, i2, e2.dictionary), this._buffer = new p(this._chunkSize), this._offset = 0, this._closed = false, this._level = n2, this._strategy = i2, this.once("end", this.close);
+}
+Object.keys(xo).forEach(function(e2) {
+ xo[xo[e2]] = e2;
+}), Be(Io, Ot), Io.prototype.params = function(e2, t2, r2) {
+ if (e2 < So.Z_MIN_LEVEL || e2 > So.Z_MAX_LEVEL)
+ throw new RangeError("Invalid compression level: " + e2);
+ if (t2 != So.Z_FILTERED && t2 != So.Z_HUFFMAN_ONLY && t2 != So.Z_RLE && t2 != So.Z_FIXED && t2 != So.Z_DEFAULT_STRATEGY)
+ throw new TypeError("Invalid strategy: " + t2);
+ if (this._level !== e2 || this._strategy !== t2) {
+ var n2 = this;
+ this.flush(So.Z_SYNC_FLUSH, function() {
+ n2._binding.params(e2, t2), n2._hadError || (n2._level = e2, n2._strategy = t2, r2 && r2());
+ });
+ } else
+ de(r2);
+}, Io.prototype.reset = function() {
+ return this._binding.reset();
+}, Io.prototype._flush = function(e2) {
+ this._transform(new p(0), "", e2);
+}, Io.prototype.flush = function(e2, t2) {
+ var r2 = this._writableState;
+ if (("function" == typeof e2 || void 0 === e2 && !t2) && (t2 = e2, e2 = So.Z_FULL_FLUSH), r2.ended)
+ t2 && de(t2);
+ else if (r2.ending)
+ t2 && this.once("end", t2);
+ else if (r2.needDrain) {
+ var n2 = this;
+ this.once("drain", function() {
+ n2.flush(t2);
+ });
+ } else
+ this._flushFlag = e2, this.write(new p(0), "", t2);
+}, Io.prototype.close = function(e2) {
+ if (e2 && de(e2), !this._closed) {
+ this._closed = true, this._binding.close();
+ var t2 = this;
+ de(function() {
+ t2.emit("close");
+ });
+ }
+}, Io.prototype._transform = function(e2, t2, r2) {
+ var n2, i2 = this._writableState, o2 = (i2.ending || i2.ended) && (!e2 || i2.length === e2.length);
+ if (null === !e2 && !$(e2))
+ return r2(new Error("invalid input"));
+ o2 ? n2 = So.Z_FINISH : (n2 = this._flushFlag, e2.length >= i2.length && (this._flushFlag = this._opts.flush || So.Z_NO_FLUSH)), this._processChunk(e2, n2, r2);
+}, Io.prototype._processChunk = function(e2, t2, r2) {
+ var n2 = e2 && e2.length, i2 = this._chunkSize - this._offset, o2 = 0, a2 = this, s2 = "function" == typeof r2;
+ if (!s2) {
+ var h2, l2 = [], f2 = 0;
+ this.on("error", function(e3) {
+ h2 = e3;
+ });
+ do {
+ var c2 = this._binding.writeSync(t2, e2, o2, n2, this._buffer, this._offset, i2);
+ } while (!this._hadError && _2(c2[0], c2[1]));
+ if (this._hadError)
+ throw h2;
+ var u2 = p.concat(l2, f2);
+ return this.close(), u2;
+ }
+ var d2 = this._binding.write(t2, e2, o2, n2, this._buffer, this._offset, i2);
+ function _2(h3, c3) {
+ if (!a2._hadError) {
+ var u3 = i2 - c3;
+ if (function(e3, t3) {
+ if (!e3)
+ throw new Error(t3);
+ }(u3 >= 0, "have should not go down"), u3 > 0) {
+ var d3 = a2._buffer.slice(a2._offset, a2._offset + u3);
+ a2._offset += u3, s2 ? a2.push(d3) : (l2.push(d3), f2 += d3.length);
+ }
+ if ((0 === c3 || a2._offset >= a2._chunkSize) && (i2 = a2._chunkSize, a2._offset = 0, a2._buffer = new p(a2._chunkSize)), 0 === c3) {
+ if (o2 += n2 - h3, n2 = h3, !s2)
+ return true;
+ var g2 = a2._binding.write(t2, e2, o2, n2, a2._buffer, a2._offset, a2._chunkSize);
+ return g2.callback = _2, void (g2.buffer = e2);
+ }
+ if (!s2)
+ return false;
+ r2();
+ }
+ }
+ d2.buffer = e2, d2.callback = _2;
+}, Be(Bo, Io), Be(zo, Io), Be(Lo, Io), Be(To, Io), Be(Mo, Io), Be(Co, Io), Be(Do, Io);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/debug/lib-generate-test-usersig-es.min.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/index.js
new file mode 100644
index 0000000..151628f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/index.js
@@ -0,0 +1,10 @@
+"use strict";
+require("../common/vendor.js");
+require("./debug/lib-generate-test-usersig-es.min.js");
+const TUIKit_server = require("./server.js");
+require("./components/index.js");
+require("./components/TUIChat/config.js");
+const TUIChatKit = new TUIKit_server.TUIChatKit();
+TUIChatKit.init();
+exports.TUIChatKit = TUIChatKit;
+//# sourceMappingURL=../../.sourcemap/mp-weixin/TUIKit/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/extension-server/callkit.js b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/extension-server/callkit.js
new file mode 100644
index 0000000..c1b4645
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/extension-server/callkit.js
@@ -0,0 +1,164 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+class CallkitPluginServer {
+ constructor() {
+ common_vendor.R.registerEvent(common_vendor.E.TUILogin.EVENT.LOGIN_STATE_CHANGED, common_vendor.E.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS, this);
+ common_vendor.R.registerService(common_vendor.E.TUICalling.SERVICE.NAME, this);
+ common_vendor.R.registerExtension(common_vendor.E.TUIChat.EXTENSION.INPUT_MORE.EXT_ID, this);
+ }
+ /**
+ * Listen for the successful notification of TUILogin.login and then log in with callkit
+ */
+ onNotifyEvent(eventName, subKey) {
+ if (eventName === common_vendor.E.TUILogin.EVENT.LOGIN_STATE_CHANGED) {
+ let SDKAppID, userID, userSig, context;
+ switch (subKey) {
+ case common_vendor.E.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS:
+ context = common_vendor.A.getContext();
+ SDKAppID = context.SDKAppID;
+ userID = context.userID;
+ userSig = context.userSig;
+ common_vendor.i.$TUICallKit && common_vendor.i.$TUICallKit.login({
+ SDKAppID,
+ userID,
+ userSig
+ }, (res) => {
+ if (res.code === 0) {
+ common_vendor.index.__f__("log", "at TUIKit/plugins/extension-server/callkit.ts:32", "TUICallkit login success!");
+ common_vendor.i.$TUICallKit.enableFloatWindow(true);
+ } else {
+ common_vendor.index.__f__("error", "at TUIKit/plugins/extension-server/callkit.ts:36", `TUICallkit login failed,${res.msg}`);
+ }
+ });
+ break;
+ }
+ }
+ }
+ /**
+ * Native plugin callkit implements onGetExtension method
+ */
+ onGetExtension(extensionID, params) {
+ if (!common_vendor.i.$TUICallKit) {
+ common_vendor.index.__f__("warn", "at TUIKit/plugins/extension-server/callkit.ts:49", "请检查原生插件 TencentCloud-TUICallKit 是否已集成");
+ return [];
+ }
+ if (extensionID === common_vendor.E.TUIChat.EXTENSION.INPUT_MORE.EXT_ID) {
+ const list = [];
+ const voiceCallExtension = {
+ weight: 1e3,
+ text: "语音通话",
+ icon: "https://web.sdk.qcloud.com/component/TUIKit/assets/call.png",
+ data: {
+ name: "voiceCall"
+ },
+ listener: {
+ onClicked: (options) => {
+ this.setCallExtension(options);
+ }
+ }
+ };
+ const videoCallExtension = {
+ weight: 900,
+ text: "视频通话",
+ icon: "https://web.sdk.qcloud.com/component/TUIKit/assets/call-video-reverse.svg",
+ data: {
+ name: "videoCall"
+ },
+ listener: {
+ onClicked: (options) => {
+ this.setCallExtension(options);
+ }
+ }
+ };
+ if (!(params == null ? void 0 : params.filterVoice)) {
+ list.push(voiceCallExtension);
+ }
+ if (!(params == null ? void 0 : params.filterVideo)) {
+ list.push(videoCallExtension);
+ }
+ return list;
+ }
+ }
+ /**
+ * Native plugin callkit implements onCall method
+ */
+ onCall(method, params) {
+ if (!common_vendor.i.$TUICallKit) {
+ common_vendor.index.__f__("warn", "at TUIKit/plugins/extension-server/callkit.ts:95", "请检查原生插件 TencentCloud-TUICallKit 是否已集成");
+ return;
+ }
+ if (method === common_vendor.E.TUICalling.SERVICE.METHOD.START_CALL) {
+ const { groupID = void 0, userIDList = [], type, callParams } = params;
+ if (groupID) {
+ common_vendor.i.$TUICallKit.groupCall({
+ groupID,
+ userIDList,
+ callMediaType: type,
+ callParams
+ }, (res) => {
+ if (res.code === 0) {
+ common_vendor.index.__f__("log", "at TUIKit/plugins/extension-server/callkit.ts:108", "TUICallkit groupCall success");
+ } else {
+ common_vendor.index.__f__("error", "at TUIKit/plugins/extension-server/callkit.ts:110", `TUICallkit groupCall failed,${res.msg}`);
+ }
+ });
+ } else if (userIDList.length === 1) {
+ common_vendor.i.$TUICallKit.call(
+ {
+ userID: userIDList[0],
+ callMediaType: type,
+ callParams
+ },
+ (res) => {
+ if (res.code === 0) {
+ common_vendor.index.__f__("log", "at TUIKit/plugins/extension-server/callkit.ts:122", "TUICallkit call success");
+ } else {
+ common_vendor.index.__f__("log", "at TUIKit/plugins/extension-server/callkit.ts:124", `TUICallkit call failed,${res.msg}`);
+ }
+ }
+ );
+ }
+ }
+ }
+ setCallExtension(options) {
+ const { groupID = void 0, userIDList = [], type, callParams } = options;
+ try {
+ if (groupID) {
+ common_vendor.i.$TUICallKit.groupCall({
+ groupID,
+ userIDList,
+ callMediaType: type,
+ callParams
+ }, (res) => {
+ if (res.code === 0) {
+ common_vendor.index.__f__("log", "at TUIKit/plugins/extension-server/callkit.ts:143", "TUICallkit groupCall success");
+ } else {
+ common_vendor.index.__f__("log", "at TUIKit/plugins/extension-server/callkit.ts:145", `TUICallkit groupCall failed,${res.msg}`);
+ }
+ });
+ } else if (userIDList.length === 1) {
+ common_vendor.i.$TUICallKit.call(
+ {
+ userID: userIDList[0],
+ callMediaType: type,
+ callParams
+ },
+ (res) => {
+ if (res.code === 0) {
+ common_vendor.index.__f__("log", "at TUIKit/plugins/extension-server/callkit.ts:158", "TUICallkit call success");
+ } else {
+ common_vendor.index.__f__("log", "at TUIKit/plugins/extension-server/callkit.ts:160", `TUICallkit call failed,${res.msg}`);
+ }
+ }
+ );
+ }
+ } catch (error) {
+ common_vendor.i.showToast({
+ title: "拨打失败!",
+ icon: "error"
+ });
+ }
+ }
+}
+exports.CallkitPluginServer = CallkitPluginServer;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/plugins/extension-server/callkit.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/index.js
new file mode 100644
index 0000000..d931fd2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/index.js
@@ -0,0 +1,32 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const TUIKit_plugins_pluginComponents_messageCustomer_index = require("./message-customer/index.js");
+const TUIKit_utils_typeCheck = require("../../utils/type-check.js");
+function isCallMessage(message) {
+ var _a;
+ const payloadData = TUIKit_utils_typeCheck.JSONToObject((_a = message == null ? void 0 : message.payload) == null ? void 0 : _a.data);
+ if ((payloadData == null ? void 0 : payloadData.businessID) === 1 && (payloadData == null ? void 0 : payloadData.data)) {
+ const payloadDataData = TUIKit_utils_typeCheck.JSONToObject(payloadData.data);
+ if (payloadDataData.businessID === "av_call") {
+ return true;
+ }
+ }
+ return false;
+}
+function isRoomSignalingMessage(message) {
+ var _a;
+ const payloadData = TUIKit_utils_typeCheck.JSONToObject((_a = message == null ? void 0 : message.payload) == null ? void 0 : _a.data);
+ return (payloadData == null ? void 0 : payloadData.businessID) === "ROOM_INVITE_ACTION" || (payloadData == null ? void 0 : payloadData.businessID) === "tuikit_engine_room";
+}
+function isRoomCardMessage(message) {
+ var _a;
+ const payloadData = TUIKit_utils_typeCheck.JSONToObject((_a = message == null ? void 0 : message.payload) == null ? void 0 : _a.data);
+ return (payloadData == null ? void 0 : payloadData.businessID) === "group_room_message";
+}
+function isPluginMessage(message) {
+ return message.type === common_vendor.qt.TYPES.MSG_CUSTOM && (isCallMessage(message) || TUIKit_plugins_pluginComponents_messageCustomer_index.isCustomerServicePluginMessage(message) || isRoomCardMessage(message) || isRoomSignalingMessage(message));
+}
+exports.isCallMessage = isCallMessage;
+exports.isPluginMessage = isPluginMessage;
+exports.isRoomCardMessage = isRoomCardMessage;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/plugins/plugin-components/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.js b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.js
new file mode 100644
index 0000000..bf00f52
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.js
@@ -0,0 +1,95 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const TUIKit_utils_typeCheck = require("../../../utils/type-check.js");
+const common_assets = require("../../../../common/assets.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_index = require("../../../components/TUIChat/offlinePushInfoManager/index.js");
+const TUIKit_components_TUIChat_offlinePushInfoManager_const = require("../../../components/TUIChat/offlinePushInfoManager/const.js");
+if (!Math) {
+ Icon();
+}
+const Icon = () => "../../../components/common/Icon.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-call-c2c",
+ props: {
+ message: {
+ type: Object,
+ default: () => ({})
+ },
+ signalingInfo: {
+ type: Object,
+ default: () => ({})
+ },
+ customContent: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ setup(__props) {
+ const props = __props;
+ const TYPES = common_vendor.ref(common_vendor.qt.TYPES);
+ const isCallMessage = common_vendor.computed(() => props.signalingInfo != null);
+ const callInfo = common_vendor.computed(() => {
+ var _a, _b;
+ const callType = (_b = TUIKit_utils_typeCheck.JSONToObject((_a = props.signalingInfo) == null ? void 0 : _a.data)) == null ? void 0 : _b.call_type;
+ switch (callType) {
+ case 1:
+ return {
+ type: 1,
+ icon: common_assets.callVoiceSVG
+ };
+ case 2:
+ return {
+ type: 2,
+ icon: common_assets.callVideoSVG
+ };
+ }
+ return {
+ type: 0,
+ icon: ""
+ };
+ });
+ const conversationType = common_vendor.computed(() => {
+ var _a;
+ return (_a = props.message) == null ? void 0 : _a.conversationType;
+ });
+ const custom = common_vendor.computed(() => {
+ var _a;
+ return (_a = props.customContent) == null ? void 0 : _a.custom;
+ });
+ const callAgain = () => {
+ var _a, _b, _c, _d;
+ if (conversationType.value === common_vendor.qt.TYPES.CONV_C2C) {
+ const userID = ((_a = props.message) == null ? void 0 : _a.flow) === "out" ? (_b = props.message) == null ? void 0 : _b.to : (_c = props.message) == null ? void 0 : _c.from;
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUICalling.SERVICE.NAME,
+ method: common_vendor.E.TUICalling.SERVICE.METHOD.START_CALL,
+ params: {
+ userIDList: [userID],
+ type: (_d = callInfo == null ? void 0 : callInfo.value) == null ? void 0 : _d.type,
+ callParams: {
+ offlinePushInfo: TUIKit_components_TUIChat_offlinePushInfoManager_index.OfflinePushInfoManager.getOfflinePushInfo(TUIKit_components_TUIChat_offlinePushInfoManager_const.PUSH_SCENE.CALL)
+ }
+ }
+ });
+ }
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isCallMessage) && common_vendor.unref(conversationType) === common_vendor.unref(TYPES).CONV_C2C
+ }, common_vendor.unref(isCallMessage) && common_vendor.unref(conversationType) === common_vendor.unref(TYPES).CONV_C2C ? {
+ b: common_vendor.p({
+ file: common_vendor.unref(callInfo).icon
+ }),
+ c: common_vendor.n(__props.message.flow === "out" && common_vendor.unref(callInfo).type === 2 && "icon-reverse"),
+ d: common_vendor.t(common_vendor.unref(custom)),
+ e: common_vendor.n("call-" + common_vendor.unref(conversationType)),
+ f: common_vendor.n(__props.message.flow === "out" && "call-reverse"),
+ g: common_vendor.o$1(callAgain)
+ } : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-6d96978f"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.json b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.json
new file mode 100644
index 0000000..c4beaaa
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../../../components/common/Icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.wxml
new file mode 100644
index 0000000..0a4d6f9
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.wxml
@@ -0,0 +1 @@
+{{d}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.wxss
new file mode 100644
index 0000000..a10d722
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-c2c.wxss
@@ -0,0 +1,53 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.call.data-v-6d96978f {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+}
+.call-C2C.data-v-6d96978f {
+ cursor: pointer;
+}
+.call-GROUP.data-v-6d96978f {
+ cursor: default;
+}
+.call-content.data-v-6d96978f {
+ padding-left: 5px;
+}
+.call .icon.data-v-6d96978f {
+ width: 20px;
+ height: 20px;
+}
+.call-reverse.data-v-6d96978f {
+ flex-direction: row-reverse;
+}
+.call-reverse .icon-reverse.data-v-6d96978f {
+ transform: rotate(180deg);
+}
+.call-reverse .call-content.data-v-6d96978f {
+ padding-right: 5px;
+ padding-left: 0;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.js b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.js
new file mode 100644
index 0000000..1058c89
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.js
@@ -0,0 +1,43 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+require("../../../adapter-vue.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-call-group",
+ props: {
+ message: { default: () => ({}) },
+ signalingInfo: { default: () => ({}) },
+ customContent: { default: () => ({}) },
+ blinkMessageIDList: { default: () => [] }
+ },
+ setup(__props) {
+ const props = __props;
+ const TYPES = common_vendor.qt.TYPES;
+ const isCallMessage = common_vendor.computed(() => !!props.signalingInfo);
+ const conversationType = common_vendor.computed(() => {
+ var _a;
+ return (_a = props.message) == null ? void 0 : _a.conversationType;
+ });
+ const custom = common_vendor.computed(() => {
+ var _a;
+ return (_a = props.customContent) == null ? void 0 : _a.custom;
+ });
+ const isBlink = common_vendor.computed(() => {
+ var _a, _b;
+ if ((_a = props.message) == null ? void 0 : _a.ID) {
+ return (_b = props.blinkMessageIDList) == null ? void 0 : _b.includes(props.message.ID);
+ }
+ return false;
+ });
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.unref(isCallMessage) && common_vendor.unref(conversationType) === common_vendor.unref(TYPES).CONV_GROUP
+ }, common_vendor.unref(isCallMessage) && common_vendor.unref(conversationType) === common_vendor.unref(TYPES).CONV_GROUP ? {
+ b: common_vendor.t(common_vendor.unref(custom)),
+ c: common_vendor.unref(isBlink) ? 1 : ""
+ } : {});
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-80245e9e"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.json b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.wxml
new file mode 100644
index 0000000..3c02999
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.wxml
@@ -0,0 +1 @@
+{{b}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.wxss
new file mode 100644
index 0000000..9c04a02
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-call/message-call-group.wxss
@@ -0,0 +1,33 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+@keyframes blink-text-80245e9e {
+50% {
+ color: #ff9c19;
+}
+}
+.blink-text.data-v-80245e9e {
+ animation: blinkText 1s linear 3;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/index.js
new file mode 100644
index 0000000..4070cce
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/index.js
@@ -0,0 +1,8 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_server = require("../../../tui-customer-service-plugin/server.js");
+const TUICustomerServer = TUIKit_tuiCustomerServicePlugin_server.TUICustomerServer.getInstance();
+const isCustomerServicePluginMessage = TUICustomerServer.isCustomerServicePluginMessage.bind(TUICustomerServer);
+TUICustomerServer.setCustomerServiceAccounts.bind(TUICustomerServer);
+TUICustomerServer.getCustomerServiceAccounts.bind(TUICustomerServer);
+exports.isCustomerServicePluginMessage = isCustomerServicePluginMessage;
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/plugins/plugin-components/message-customer/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.js b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.js
new file mode 100644
index 0000000..52d27d3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.js
@@ -0,0 +1,25 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+if (!Math) {
+ TUICustomerServicePlugin();
+}
+const TUICustomerServicePlugin = () => "../../../tui-customer-service-plugin/index.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-customer-service",
+ props: {
+ message: { default: () => ({}) }
+ },
+ setup(__props) {
+ const props = __props;
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.p({
+ message: props.message
+ })
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-d1833b46"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.json b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.json
new file mode 100644
index 0000000..090c35e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "t-u-i-customer-service-plugin": "../../../tui-customer-service-plugin/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.wxml
new file mode 100644
index 0000000..81618c9
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.wxss
new file mode 100644
index 0000000..6c22806
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-customer/message-customer-service.wxss
@@ -0,0 +1,26 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+/* stylelint-disable-next-line no-empty-source */
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.js b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.js
new file mode 100644
index 0000000..fe2110b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.js
@@ -0,0 +1,62 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+require("../../adapter-vue.js");
+const TUIKit_utils_env = require("../../utils/env.js");
+if (!Math) {
+ MessageBubble();
+}
+const MessageBubble = () => "../../components/TUIChat/message-list/message-elements/message-bubble.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-plugin-layout",
+ props: {
+ message: { default: () => ({}) },
+ showStyle: { default: "" },
+ bubbleClassNameList: { default: () => [] },
+ blinkMessageIDList: { default: () => [] }
+ },
+ emits: ["resendMessage", "handleToggleMessageItem", "handleH5LongPress"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const emits = __emit;
+ const messageModel = common_vendor.computed(() => {
+ var _a;
+ return common_vendor.Jt.getMessageModel((_a = props.message) == null ? void 0 : _a.ID);
+ });
+ const resendMessage = (message) => {
+ emits("resendMessage", message);
+ };
+ const handleToggleMessageItem = (e, message, isLongpress = false) => {
+ emits("handleToggleMessageItem", e, message, isLongpress);
+ };
+ const handleH5LongPress = (e, message, type) => {
+ emits("handleH5LongPress", e, message, type);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: props.showStyle === "tip"
+ }, props.showStyle === "tip" ? {} : props.showStyle === "bubble" ? common_vendor.e({
+ c: !common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, !common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? {} : {}, {
+ d: common_vendor.unref(TUIKit_utils_env.isUniFrameWork)
+ }, common_vendor.unref(TUIKit_utils_env.isUniFrameWork) ? {} : {}, {
+ e: common_vendor.o$1(($event) => resendMessage(common_vendor.unref(messageModel))),
+ f: common_vendor.p({
+ messageItem: common_vendor.unref(messageModel),
+ content: common_vendor.unref(messageModel).getMessageContent(),
+ blinkMessageIDList: props.blinkMessageIDList,
+ classNameList: props.bubbleClassNameList
+ }),
+ g: common_vendor.o$1(($event) => handleToggleMessageItem($event, common_vendor.unref(messageModel), true)),
+ h: common_vendor.o$1(($event) => handleToggleMessageItem($event, common_vendor.unref(messageModel))),
+ i: common_vendor.o$1(($event) => handleH5LongPress($event, common_vendor.unref(messageModel), "touchstart")),
+ j: common_vendor.o$1(($event) => handleH5LongPress($event, common_vendor.unref(messageModel), "touchend")),
+ k: common_vendor.o$1(($event) => handleH5LongPress($event, common_vendor.unref(messageModel), "touchend"))
+ }) : {}, {
+ b: props.showStyle === "bubble"
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-60deb703"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.json b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.json
new file mode 100644
index 0000000..e0befde
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "message-bubble": "../../components/TUIChat/message-list/message-elements/message-bubble"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.wxml
new file mode 100644
index 0000000..c31ee79
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.wxss
new file mode 100644
index 0000000..bfd97af
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin-layout.wxss
@@ -0,0 +1,53 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-plugin-tip.data-v-60deb703 {
+ color: #999;
+ font-size: 12px;
+ overflow-wrap: anywhere;
+ display: flex;
+ place-content: center center;
+ align-items: center;
+ text-align: center;
+ margin: 0 10px 10px;
+}
+.message-tip-highlight.data-v-60deb703 {
+ animation: highlight-60deb703 1000ms infinite;
+}
+@keyframes highlight-60deb703 {
+50% {
+ color: #ff9c19;
+}
+}
+@keyframes highlight-60deb703 {
+50% {
+ color: #ff9c19;
+}
+}
+.data-v-60deb703 .message-bubble-room .message-bubble-main-content .message-body .message-body-main .message-body-content.content-in,.data-v-60deb703 .message-bubble-room .message-bubble-main-content .message-body .message-body-main .message-body-content.content-out {
+ background-color: transparent;
+ border-radius: 0;
+ padding: 0;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.js b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.js
new file mode 100644
index 0000000..60ea5f3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.js
@@ -0,0 +1,106 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+require("../../adapter-vue.js");
+const TUIKit_plugins_pluginComponents_messageCustomer_index = require("./message-customer/index.js");
+const TUIKit_plugins_pluginComponents_index = require("./index.js");
+const TUIKit_tuiCustomerServicePlugin_utils_index = require("../../tui-customer-service-plugin/utils/index.js");
+if (!Math) {
+ (MessageCallGroup + MessageCallC2C + MessageCustomerService + MessageRoom + MessagePluginLayout)();
+}
+const MessagePluginLayout = () => "./message-plugin-layout.js";
+const MessageCallGroup = () => "./message-call/message-call-group.js";
+const MessageCallC2C = () => "./message-call/message-call-c2c.js";
+const MessageCustomerService = () => "./message-customer/message-customer-service.js";
+const MessageRoom = () => "./message-room/message-room-default.js";
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-plugin",
+ props: {
+ message: { default: () => ({}) },
+ blinkMessageIDList: { default: () => [] }
+ },
+ emits: ["resendMessage", "handleToggleMessageItem", "handleH5LongPress"],
+ setup(__props, { emit: __emit }) {
+ const props = __props;
+ const emits = __emit;
+ const messageModel = common_vendor.computed(() => common_vendor.Jt.getMessageModel(props.message.ID));
+ const messageSignalingInfo = common_vendor.computed(() => {
+ var _a;
+ return (_a = messageModel == null ? void 0 : messageModel.value) == null ? void 0 : _a.getSignalingInfo();
+ });
+ const messageCustomContent = common_vendor.computed(() => {
+ var _a;
+ return (_a = messageModel == null ? void 0 : messageModel.value) == null ? void 0 : _a.getMessageContent();
+ });
+ const pluginMessageType = common_vendor.computed(() => {
+ var _a;
+ let typeObj = { pluginType: "", showStyle: "" };
+ if (TUIKit_plugins_pluginComponents_index.isCallMessage(messageModel.value)) {
+ typeObj = {
+ pluginType: "call",
+ showStyle: ((_a = messageModel.value) == null ? void 0 : _a.conversationType) === common_vendor.qt.TYPES.CONV_GROUP ? "tip" : "bubble"
+ };
+ } else if (TUIKit_plugins_pluginComponents_index.isRoomCardMessage(messageModel.value)) {
+ typeObj = {
+ pluginType: "room",
+ showStyle: "bubble"
+ };
+ } else if (TUIKit_plugins_pluginComponents_messageCustomer_index.isCustomerServicePluginMessage(messageModel.value)) {
+ typeObj = {
+ pluginType: "customer",
+ showStyle: TUIKit_tuiCustomerServicePlugin_utils_index.isMessageInvisible(messageModel.value) ? "" : "bubble"
+ };
+ }
+ return typeObj;
+ });
+ const resendMessage = (message) => {
+ emits("resendMessage", message);
+ };
+ const handleToggleMessageItem = (e, message, isLongpress = false) => {
+ emits("handleToggleMessageItem", e, message, isLongpress);
+ };
+ const handleH5LongPress = (e, message, type) => {
+ emits("handleH5LongPress", e, message, type);
+ };
+ return (_ctx, _cache) => {
+ return common_vendor.e({
+ a: common_vendor.p({
+ message: props.message,
+ signalingInfo: common_vendor.unref(messageSignalingInfo),
+ customContent: common_vendor.unref(messageCustomContent),
+ blinkMessageIDList: props.blinkMessageIDList
+ }),
+ b: common_vendor.unref(pluginMessageType).pluginType === "call"
+ }, common_vendor.unref(pluginMessageType).pluginType === "call" ? {
+ c: common_vendor.p({
+ message: props.message,
+ signalingInfo: common_vendor.unref(messageSignalingInfo),
+ customContent: common_vendor.unref(messageCustomContent)
+ })
+ } : {}, {
+ d: common_vendor.unref(pluginMessageType).pluginType === "customer"
+ }, common_vendor.unref(pluginMessageType).pluginType === "customer" ? {
+ e: common_vendor.p({
+ message: props.message
+ })
+ } : {}, {
+ f: common_vendor.unref(pluginMessageType).pluginType === "room"
+ }, common_vendor.unref(pluginMessageType).pluginType === "room" ? {
+ g: common_vendor.p({
+ message: props.message
+ })
+ } : {}, {
+ h: common_vendor.o$1(resendMessage),
+ i: common_vendor.o$1(handleToggleMessageItem),
+ j: common_vendor.o$1(handleH5LongPress),
+ k: common_vendor.p({
+ message: props.message,
+ showStyle: common_vendor.unref(pluginMessageType).showStyle,
+ bubbleClassNameList: [common_vendor.unref(pluginMessageType).pluginType === "room" ? "message-bubble-room" : ""]
+ })
+ });
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-f303f15f"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.json b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.json
new file mode 100644
index 0000000..226f5c7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "message-plugin-layout": "./message-plugin-layout",
+ "message-call-group": "./message-call/message-call-group",
+ "message-call-c2-c": "./message-call/message-call-c2c",
+ "message-customer-service": "./message-customer/message-customer-service",
+ "message-room": "./message-room/message-room-default"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.wxml
new file mode 100644
index 0000000..e78880e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.wxss
new file mode 100644
index 0000000..6c22806
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-plugin.wxss
@@ -0,0 +1,26 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+/* stylelint-disable-next-line no-empty-source */
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.js b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.js
new file mode 100644
index 0000000..94b1f70
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.js
@@ -0,0 +1,22 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const TUIKit_utils_env = require("../../../utils/env.js");
+const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
+ __name: "message-room-default",
+ props: {
+ message: { default: () => ({}) }
+ },
+ setup(__props) {
+ const props = __props;
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.t(common_vendor.unref(common_vendor.Wt).t("message.custom.自定义消息")),
+ b: common_vendor.n(common_vendor.unref(TUIKit_utils_env.isUniFrameWork) && "room-default-uni"),
+ c: common_vendor.n(props.message.flow === "in" ? "room-default-in" : "room-default-out")
+ };
+ };
+ }
+});
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-bc20f5ec"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.json b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.wxml
new file mode 100644
index 0000000..72d25c9
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.wxml
@@ -0,0 +1 @@
+{{a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.wxss
new file mode 100644
index 0000000..5a86988
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/plugins/plugin-components/message-room/message-room-default.wxss
@@ -0,0 +1,40 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.room-default.data-v-bc20f5ec {
+ padding: 12px;
+ font-size: 14px;
+}
+.room-default-uni.data-v-bc20f5ec {
+ padding: 0;
+}
+.room-default-in.data-v-bc20f5ec {
+ background: #fbfbfb;
+ border-radius: 0 10px;
+}
+.room-default-out.data-v-bc20f5ec {
+ background: #dceafd;
+ border-radius: 10px 0 10px 10px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/server.js b/unpackage/dist/dev/mp-weixin/TUIKit/server.js
new file mode 100644
index 0000000..f9b8533
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/server.js
@@ -0,0 +1,153 @@
+"use strict";
+const common_vendor = require("../common/vendor.js");
+const TUIKit_utils_typeCheck = require("./utils/type-check.js");
+const TUIKit_utils_env = require("./utils/env.js");
+const TUIKit_plugins_extensionServer_callkit = require("./plugins/extension-server/callkit.js");
+class TUIChatKit {
+ constructor() {
+ this.TUIComponents = {};
+ this.TUIPlugins = {};
+ this.TUICore = common_vendor.R;
+ this.TUIChatEngine = common_vendor.qt;
+ this.TUIGlobal = common_vendor.i;
+ this.SDKAppID = 0;
+ this.TUIGlobal._isTIMCallKit = true;
+ common_vendor.R.registerEvent(common_vendor.E.TUILogin.EVENT.LOGIN_STATE_CHANGED, common_vendor.E.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS, this);
+ common_vendor.R.registerEvent(common_vendor.E.TUITranslate.EVENT.LANGUAGE_CHANGED, common_vendor.E.TUITranslate.EVENT_SUB_KEY.CHANGE_SUCCESS, this);
+ common_vendor.R.registerService(common_vendor.E.TUITranslatePlugin.SERVICE.NAME, 1);
+ common_vendor.R.registerService(common_vendor.E.TUIVoiceToTextPlugin.SERVICE.NAME, 1);
+ }
+ /**
+ * Listen for the success notification of TUILogin.login
+ */
+ onNotifyEvent(eventName, subKey, params) {
+ if (eventName === common_vendor.E.TUILogin.EVENT.LOGIN_STATE_CHANGED) {
+ switch (subKey) {
+ case common_vendor.E.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS:
+ this.login();
+ break;
+ }
+ }
+ if (eventName === common_vendor.E.TUITranslate.EVENT.LANGUAGE_CHANGED) {
+ switch (subKey) {
+ case common_vendor.E.TUITranslate.EVENT_SUB_KEY.CHANGE_SUCCESS:
+ if (params == null ? void 0 : params.language) {
+ common_vendor.Wt.changeLanguage(params.language);
+ }
+ break;
+ }
+ }
+ }
+ /**
+ * init
+ */
+ init() {
+ if (TUIChatKit.isInitialized) {
+ return;
+ }
+ TUIChatKit.isInitialized = true;
+ if (TUIKit_utils_env.isApp) {
+ new TUIKit_plugins_extensionServer_callkit.CallkitPluginServer();
+ }
+ common_vendor.i.TUIComponents = this.TUIComponents;
+ common_vendor.i.TUIPlugins = this.TUIPlugins;
+ common_vendor.index.__f__("warn", "at TUIKit/server.ts:79", "[TUIChatKit]: init success.");
+ }
+ /**
+ * login
+ */
+ login() {
+ const { chat, SDKAppID, userID, userSig } = common_vendor.A.getContext();
+ this.SDKAppID = SDKAppID;
+ this.TUIChatEngine.login({
+ chat,
+ SDKAppID,
+ userID,
+ userSig
+ });
+ this.chat = chat;
+ return this.TUIChatEngine;
+ }
+ /**
+ * Single component mounting
+ *
+ * @param {string} componentName
+ * @param {any} component
+ * @param {any=} env
+ * @returns {TUICore} mounted instance
+ */
+ component(componentName, component, env) {
+ var _a, _b;
+ if ((_a = this == null ? void 0 : this.TUIComponents) == null ? void 0 : _a.componentName) {
+ common_vendor.index.__f__(
+ "warn",
+ "at TUIKit/server.ts:108",
+ `[TUIChatKit]: ${(_b = this == null ? void 0 : this.TUIComponents) == null ? void 0 : _b.componentName} component has already been applied to target TUIChatEngine.`
+ );
+ } else {
+ this.TUIComponents[componentName] = component;
+ env == null ? void 0 : env.component(componentName, component);
+ }
+ if (env) {
+ !common_vendor.i.Vue && (common_vendor.i.Vue = env);
+ }
+ return this.TUIChatEngine;
+ }
+ /**
+ * Component list mount
+ *
+ * @param {object} components
+ * @param {any=} env: Vue2/Vue3 environment
+ * @returns {TUICore} mounted instance
+ */
+ components(components, env) {
+ var _a;
+ if (!components || !TUIKit_utils_typeCheck.isObject(components)) {
+ common_vendor.index.__f__("warn", "at TUIKit/server.ts:130", "[TUIChatKit]: components is empty or not object.");
+ } else {
+ (_a = Object == null ? void 0 : Object.keys(components)) == null ? void 0 : _a.forEach((key) => {
+ this.component(key, components[key], env);
+ });
+ }
+ return this.TUIChatEngine;
+ }
+ /**
+ * Plugin Injection
+ *
+ * @param {any} TUIPlugin
+ * @param {any} options
+ * @returns {TUICore} mounted instance
+ */
+ use(TUIPluginName, TUIPlugin, options) {
+ if (!this.TUICore) {
+ common_vendor.index.__f__(
+ "warn",
+ "at TUIKit/server.ts:148",
+ `[TUIChatKit]: Plugin ${this.TUIPlugins[TUIPluginName]} can't be used before init.`
+ );
+ return;
+ }
+ if (this.TUIPlugins[TUIPluginName]) {
+ common_vendor.index.__f__(
+ "warn",
+ "at TUIKit/server.ts:154",
+ `[TUIChatKit]: Plugin ${this.TUIPlugins[TUIPluginName]} has already been applied to target TUIChatEngine.`
+ );
+ } else if (TUIPlugin && TUIKit_utils_typeCheck.isFunction(TUIPlugin == null ? void 0 : TUIPlugin.plugin)) {
+ this.TUIPlugins[TUIPluginName] = TUIPlugin;
+ TUIPlugin == null ? void 0 : TUIPlugin.plugin(this, options);
+ } else if (TUIKit_utils_typeCheck.isFunction(TUIPlugin)) {
+ this.TUIPlugins[TUIPluginName] = TUIPlugin;
+ TUIPlugin(this, options);
+ } else {
+ common_vendor.index.__f__(
+ "warn",
+ "at TUIKit/server.ts:164",
+ '[TUIChatKit]: A plugin must either be a function or an object with an "plugin" function.' + this.TUIPlugins[TUIPluginName] + "does not comply with the above rules."
+ );
+ }
+ return this.TUIChatEngine;
+ }
+}
+exports.TUIChatKit = TUIChatKit;
+//# sourceMappingURL=../../.sourcemap/mp-weixin/TUIKit/server.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue-uniapp.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue-uniapp.js
new file mode 100644
index 0000000..f836678
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue-uniapp.js
@@ -0,0 +1,140 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+let vueVersion;
+vueVersion = 3;
+const VueUni = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+ __proto__: null,
+ EMPTY_OBJ: common_vendor.EMPTY_OBJ,
+ EffectScope: common_vendor.EffectScope,
+ Fragment: common_vendor.Fragment,
+ ReactiveEffect: common_vendor.ReactiveEffect,
+ Text: common_vendor.Text,
+ c: common_vendor.c,
+ callWithAsyncErrorHandling: common_vendor.callWithAsyncErrorHandling,
+ callWithErrorHandling: common_vendor.callWithErrorHandling,
+ camelize: common_vendor.camelize,
+ computed: common_vendor.computed,
+ createApp: common_vendor.createApp,
+ createPropsRestProxy: common_vendor.createPropsRestProxy,
+ createSSRApp: common_vendor.createSSRApp,
+ createVNode: common_vendor.createVNode,
+ createVueApp: common_vendor.createVueApp,
+ customRef: common_vendor.customRef,
+ d: common_vendor.d,
+ defineAsyncComponent: common_vendor.defineAsyncComponent,
+ defineComponent: common_vendor.defineComponent,
+ defineEmits: common_vendor.defineEmits,
+ defineExpose: common_vendor.defineExpose,
+ defineProps: common_vendor.defineProps,
+ devtoolsComponentAdded: common_vendor.devtoolsComponentAdded,
+ devtoolsComponentRemoved: common_vendor.devtoolsComponentRemoved,
+ devtoolsComponentUpdated: common_vendor.devtoolsComponentUpdated,
+ diff: common_vendor.diff,
+ e: common_vendor.e,
+ effect: common_vendor.effect,
+ effectScope: common_vendor.effectScope,
+ f: common_vendor.f,
+ findComponentPropsData: common_vendor.findComponentPropsData,
+ gei: common_vendor.gei,
+ getCurrentInstance: common_vendor.getCurrentInstance,
+ getCurrentScope: common_vendor.getCurrentScope,
+ getExposeProxy: common_vendor.getExposeProxy,
+ guardReactiveProps: common_vendor.guardReactiveProps,
+ h: common_vendor.h,
+ hasInjectionContext: common_vendor.hasInjectionContext,
+ hasQueueJob: common_vendor.hasQueueJob,
+ inject: common_vendor.inject,
+ injectHook: common_vendor.injectHook,
+ invalidateJob: common_vendor.invalidateJob,
+ get isInSSRComponentSetup() {
+ return common_vendor.isInSSRComponentSetup;
+ },
+ isProxy: common_vendor.isProxy,
+ isReactive: common_vendor.isReactive,
+ isReadonly: common_vendor.isReadonly,
+ isRef: common_vendor.isRef,
+ isShallow: common_vendor.isShallow,
+ j: common_vendor.j,
+ logError: common_vendor.logError,
+ m: common_vendor.m,
+ markRaw: common_vendor.markRaw,
+ mergeDefaults: common_vendor.mergeDefaults,
+ mergeModels: common_vendor.mergeModels,
+ mergeProps: common_vendor.mergeProps,
+ n: common_vendor.n,
+ nextTick: common_vendor.nextTick$1,
+ normalizeClass: common_vendor.normalizeClass,
+ normalizeProps: common_vendor.normalizeProps,
+ normalizeStyle: common_vendor.normalizeStyle,
+ o: common_vendor.o$1,
+ onActivated: common_vendor.onActivated,
+ onBeforeMount: common_vendor.onBeforeMount,
+ onBeforeUnmount: common_vendor.onBeforeUnmount,
+ onBeforeUpdate: common_vendor.onBeforeUpdate,
+ onDeactivated: common_vendor.onDeactivated,
+ onErrorCaptured: common_vendor.onErrorCaptured,
+ onMounted: common_vendor.onMounted,
+ onRenderTracked: common_vendor.onRenderTracked,
+ onRenderTriggered: common_vendor.onRenderTriggered,
+ onScopeDispose: common_vendor.onScopeDispose,
+ onServerPrefetch: common_vendor.onServerPrefetch,
+ onUnmounted: common_vendor.onUnmounted,
+ onUpdated: common_vendor.onUpdated,
+ p: common_vendor.p,
+ patch: common_vendor.patch,
+ provide: common_vendor.provide,
+ proxyRefs: common_vendor.proxyRefs,
+ pruneComponentPropsCache: common_vendor.pruneComponentPropsCache,
+ queuePostFlushCb: common_vendor.queuePostFlushCb,
+ r: common_vendor.r,
+ reactive: common_vendor.reactive,
+ readonly: common_vendor.readonly,
+ ref: common_vendor.ref,
+ resolveComponent: common_vendor.resolveComponent,
+ resolveDirective: common_vendor.resolveDirective,
+ resolveFilter: common_vendor.resolveFilter,
+ s: common_vendor.s,
+ setCurrentRenderingInstance: common_vendor.setCurrentRenderingInstance,
+ setTemplateRef: common_vendor.setTemplateRef,
+ setupDevtoolsPlugin: common_vendor.setupDevtoolsPlugin,
+ shallowReactive: common_vendor.shallowReactive,
+ shallowReadonly: common_vendor.shallowReadonly,
+ shallowRef: common_vendor.shallowRef,
+ sr: common_vendor.sr,
+ stop: common_vendor.stop,
+ t: common_vendor.t,
+ toDisplayString: common_vendor.toDisplayString,
+ toHandlerKey: common_vendor.toHandlerKey,
+ toHandlers: common_vendor.toHandlers,
+ toRaw: common_vendor.toRaw,
+ toRef: common_vendor.toRef,
+ toRefs: common_vendor.toRefs,
+ toValue: common_vendor.toValue,
+ triggerRef: common_vendor.triggerRef,
+ unref: common_vendor.unref,
+ updateProps: common_vendor.updateProps,
+ useAttrs: common_vendor.useAttrs,
+ useCssModule: common_vendor.useCssModule,
+ useCssVars: common_vendor.useCssVars,
+ useModel: common_vendor.useModel,
+ useSSRContext: common_vendor.useSSRContext,
+ useSlots: common_vendor.useSlots,
+ version: common_vendor.version,
+ get vueVersion() {
+ return vueVersion;
+ },
+ w: common_vendor.w,
+ warn: common_vendor.warn,
+ watch: common_vendor.watch,
+ watchEffect: common_vendor.watchEffect,
+ watchPostEffect: common_vendor.watchPostEffect,
+ watchSyncEffect: common_vendor.watchSyncEffect,
+ withAsyncContext: common_vendor.withAsyncContext,
+ withCtx: common_vendor.withCtx,
+ withDefaults: common_vendor.withDefaults,
+ withDirectives: common_vendor.withDirectives,
+ withModifiers: common_vendor.withModifiers,
+ withScopeId: common_vendor.withScopeId
+}, Symbol.toStringTag, { value: "Module" }));
+exports.VueUni = VueUni;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue-uniapp.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue-web.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue-web.js
new file mode 100644
index 0000000..cab053a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue-web.js
@@ -0,0 +1,75 @@
+"use strict";
+var _a, _b, _c, _d, _e, _f;
+const common_vendor = require("../../common/vendor.js");
+let VueBasic = {
+ default: {}
+};
+VueBasic = common_vendor._Vue ? common_vendor._Vue : VueBasic;
+let vueVersion;
+let createVNode = (arg1, arg2) => {
+ return {};
+};
+let render = (arg1, arg2) => {
+ return;
+};
+let defineProps = () => {
+ return;
+};
+let defineEmits = () => {
+ return;
+};
+let withDefaults = (arg) => {
+ return arg;
+};
+try {
+ if (((_a = VueBasic == null ? void 0 : VueBasic.default) == null ? void 0 : _a.version) && ((_c = (_b = VueBasic == null ? void 0 : VueBasic.default) == null ? void 0 : _b.version) == null ? void 0 : _c.startsWith("2.7."))) {
+ vueVersion = 2.7;
+ } else if (((_d = VueBasic == null ? void 0 : VueBasic.default) == null ? void 0 : _d.version) && ((_f = (_e = VueBasic == null ? void 0 : VueBasic.default) == null ? void 0 : _e.version) == null ? void 0 : _f.startsWith("2."))) {
+ vueVersion = 2;
+ } else {
+ vueVersion = 3;
+ createVNode = VueBasic == null ? void 0 : VueBasic.createVNode;
+ render = VueBasic == null ? void 0 : VueBasic.render;
+ defineProps = VueBasic == null ? void 0 : VueBasic.defineProps;
+ defineEmits = VueBasic == null ? void 0 : VueBasic.defineEmits;
+ withDefaults = VueBasic == null ? void 0 : VueBasic.withDefaults;
+ }
+} catch (error) {
+ vueVersion = 3;
+ createVNode = VueBasic == null ? void 0 : VueBasic.createVNode;
+ render = VueBasic == null ? void 0 : VueBasic.render;
+ defineProps = VueBasic == null ? void 0 : VueBasic.defineProps;
+ defineEmits = VueBasic == null ? void 0 : VueBasic.defineEmits;
+ withDefaults = VueBasic == null ? void 0 : VueBasic.withDefaults;
+}
+common_vendor.index.__f__("warn", "at TUIKit/tui-customer-service-plugin/adapter-vue-web.ts:64", `[adapter-vue]: vue version is ${vueVersion}`);
+exports.vue = VueBasic;
+if (vueVersion === 2) {
+ exports.vue = common_vendor.VueApi;
+}
+const VueWeb = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
+ __proto__: null,
+ get createVNode() {
+ return createVNode;
+ },
+ get defineEmits() {
+ return defineEmits;
+ },
+ get defineProps() {
+ return defineProps;
+ },
+ get render() {
+ return render;
+ },
+ get vue() {
+ return exports.vue;
+ },
+ get vueVersion() {
+ return vueVersion;
+ },
+ get withDefaults() {
+ return withDefaults;
+ }
+}, Symbol.toStringTag, { value: "Module" }));
+exports.VueWeb = VueWeb;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue-web.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue.js
new file mode 100644
index 0000000..f3bd4d0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue.js
@@ -0,0 +1,10 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVueUniapp = require("./adapter-vue-uniapp.js");
+const TUIKit_tuiCustomerServicePlugin_adapterVueWeb = require("./adapter-vue-web.js");
+let vue = TUIKit_tuiCustomerServicePlugin_adapterVueUniapp.VueUni;
+if (window && !window.uni) {
+ vue = { ...TUIKit_tuiCustomerServicePlugin_adapterVueWeb.VueWeb, ...TUIKit_tuiCustomerServicePlugin_adapterVueWeb.vue };
+}
+const vue$1 = vue;
+exports.vue = vue$1;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/adapter-vue.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.js
new file mode 100644
index 0000000..34a0754
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.js
@@ -0,0 +1,41 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_utils_env = require("../utils/env.js");
+const common_vendor = require("../../../common/vendor.js");
+const _sfc_main = {
+ props: {
+ src: {
+ type: String,
+ default: ""
+ },
+ width: {
+ type: String,
+ default: "16px"
+ },
+ height: {
+ type: String,
+ default: "16px"
+ }
+ },
+ setup(props) {
+ return {
+ props,
+ isApp: TUIKit_tuiCustomerServicePlugin_utils_env.isApp
+ };
+ }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $setup.isApp
+ }, $setup.isApp ? {
+ b: $setup.props.src,
+ c: $setup.props.width,
+ d: $setup.props.height
+ } : {
+ e: $setup.props.src,
+ f: $setup.props.width,
+ g: $setup.props.height
+ });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-d0031c07"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.wxml
new file mode 100644
index 0000000..c8d9a38
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.wxss
new file mode 100644
index 0000000..d120084
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/customer-icon.wxss
@@ -0,0 +1,30 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.common-icon-container.data-v-d0031c07 {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.js
new file mode 100644
index 0000000..76c40d6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.js
@@ -0,0 +1,62 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../adapter-vue.js");
+const common_assets = require("../../../common/assets.js");
+const common_vendor = require("../../../common/vendor.js");
+const Icon = () => "./customer-icon.js";
+const { computed } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
+const _sfc_main = {
+ components: {
+ Icon
+ },
+ props: {
+ payload: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ emits: ["sendMessage"],
+ setup(props, { emit }) {
+ const content = computed(() => {
+ var _a;
+ return ((_a = props == null ? void 0 : props.payload) == null ? void 0 : _a.content) || {
+ header: void 0,
+ items: []
+ };
+ });
+ const handleContentListItemClick = (branch) => {
+ emit("sendMessage", { text: branch.content });
+ };
+ return {
+ content,
+ handleContentListItemClick,
+ iconRight: common_assets.iconRight
+ };
+ }
+};
+if (!Array) {
+ const _component_Icon = common_vendor.resolveComponent("Icon");
+ _component_Icon();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $setup.content.header || $setup.content.title
+ }, $setup.content.header || $setup.content.title ? {
+ b: common_vendor.t($setup.content.header || $setup.content.title)
+ } : {}, {
+ c: common_vendor.f($setup.content.items, (item, index, i0) => {
+ return {
+ a: common_vendor.t(item.content),
+ b: "00f6aa80-0-" + i0,
+ c: index,
+ d: common_vendor.o$1(($event) => $setup.handleContentListItemClick(item), index)
+ };
+ }),
+ d: common_vendor.p({
+ src: $setup.iconRight
+ }),
+ e: $setup.content.header ? "1px 0 0px 0" : "0px 0 1px 0"
+ });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.json
new file mode 100644
index 0000000..459633c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "./customer-icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.wxml
new file mode 100644
index 0000000..bd27224
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.wxml
@@ -0,0 +1 @@
+{{b}} {{item.a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.wxss
new file mode 100644
index 0000000..b6e12a2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-branch.wxss
@@ -0,0 +1,44 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.branch-card {
+ min-width: 250px;
+ max-width: 350px;
+}
+.branch-card .branch-title {
+ margin-bottom: 8px;
+ border-radius: 0 10px 10px;
+}
+.branch-card .branch-item {
+ display: flex;
+ justify-content: space-between;
+ border-style: dotted;
+ border-color: #d8d8d8;
+ font-weight: 400;
+ color: #368dff;
+ padding-top: 5px;
+ cursor: pointer;
+ padding-bottom: 5px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.js
new file mode 100644
index 0000000..4b82b8c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.js
@@ -0,0 +1,97 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../adapter-vue.js");
+const TUIKit_tuiCustomerServicePlugin_utils_index = require("../utils/index.js");
+const TUIKit_tuiCustomerServicePlugin_constant = require("../constant.js");
+const common_vendor = require("../../../common/vendor.js");
+const MessageBranch = () => "./message-branch.js";
+const MessageForm = () => "./message-form/index.js";
+const MessageIMRobotWelcome = () => "./message-robot-welcome.js";
+const MessageProductCard = () => "./message-product-card.js";
+const MessageRichText = () => "./message-rich-text.js";
+const MessageStream = () => "./message-stream.js";
+const { computed } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
+const _sfc_main = {
+ components: {
+ MessageBranch,
+ MessageForm,
+ MessageProductCard,
+ MessageRichText,
+ MessageIMRobotWelcome,
+ MessageStream
+ },
+ props: {
+ message: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ emits: ["sendMessage"],
+ setup(props, { emit }) {
+ const payload = computed(() => {
+ var _a, _b;
+ return props.message && TUIKit_tuiCustomerServicePlugin_utils_index.JSONToObject((_b = (_a = props.message) == null ? void 0 : _a.payload) == null ? void 0 : _b.data);
+ });
+ const sendTextMessage = (text) => {
+ emit("sendMessage", text);
+ };
+ return {
+ payload,
+ sendTextMessage,
+ CUSTOM_MESSAGE_SRC: TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC
+ };
+ }
+};
+if (!Array) {
+ const _component_MessageBranch = common_vendor.resolveComponent("MessageBranch");
+ const _component_MessageIMRobotWelcome = common_vendor.resolveComponent("MessageIMRobotWelcome");
+ const _component_MessageForm = common_vendor.resolveComponent("MessageForm");
+ const _component_MessageProductCard = common_vendor.resolveComponent("MessageProductCard");
+ const _component_MessageRichText = common_vendor.resolveComponent("MessageRichText");
+ const _component_MessageStream = common_vendor.resolveComponent("MessageStream");
+ (_component_MessageBranch + _component_MessageIMRobotWelcome + _component_MessageForm + _component_MessageProductCard + _component_MessageRichText + _component_MessageStream)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.BRANCH || $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.BRANCH_NUMBER || $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.ROBOT_MSG && $setup.payload.subtype !== "welcome_msg"
+ }, $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.BRANCH || $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.BRANCH_NUMBER || $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.ROBOT_MSG && $setup.payload.subtype !== "welcome_msg" ? {
+ b: common_vendor.o$1($setup.sendTextMessage),
+ c: common_vendor.p({
+ payload: $setup.payload
+ })
+ } : {}, {
+ d: $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.ROBOT_MSG && $setup.payload.subtype === "welcome_msg"
+ }, $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.ROBOT_MSG && $setup.payload.subtype === "welcome_msg" ? {
+ e: common_vendor.o$1($setup.sendTextMessage),
+ f: common_vendor.p({
+ payload: $setup.payload
+ })
+ } : {}, {
+ g: $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.FROM_INPUT
+ }, $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.FROM_INPUT ? {
+ h: common_vendor.o$1($setup.sendTextMessage),
+ i: common_vendor.p({
+ payload: $setup.payload
+ })
+ } : {}, {
+ j: $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.PRODUCT_CARD
+ }, $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.PRODUCT_CARD ? {
+ k: common_vendor.p({
+ payload: $setup.payload
+ })
+ } : {}, {
+ l: $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.RICH_TEXT
+ }, $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.RICH_TEXT ? {
+ m: common_vendor.p({
+ payload: $setup.payload
+ })
+ } : {}, {
+ n: $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.STREAM_TEXT
+ }, $setup.payload.src === $setup.CUSTOM_MESSAGE_SRC.STREAM_TEXT ? {
+ o: common_vendor.p({
+ payload: $setup.payload
+ })
+ } : {});
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.json
new file mode 100644
index 0000000..af931d3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.json
@@ -0,0 +1,11 @@
+{
+ "component": true,
+ "usingComponents": {
+ "message-branch": "./message-branch",
+ "message-form": "./message-form/index",
+ "message-i-m-robot-welcome": "./message-robot-welcome",
+ "message-product-card": "./message-product-card",
+ "message-rich-text": "./message-rich-text",
+ "message-stream": "./message-stream"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.wxml
new file mode 100644
index 0000000..544e612
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-customer-service.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.js
new file mode 100644
index 0000000..add5b17
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.js
@@ -0,0 +1,42 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+ props: {
+ title: {
+ type: String,
+ default: ""
+ },
+ list: {
+ type: Array,
+ default: () => []
+ }
+ },
+ emits: ["input-click"],
+ setup(props, { emit }) {
+ const listItemClick = (branch) => {
+ emit("input-click", branch);
+ };
+ return {
+ props,
+ listItemClick
+ };
+ }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $setup.props.title
+ }, $setup.props.title ? {
+ b: common_vendor.t($setup.props.title)
+ } : {}, {
+ c: common_vendor.f($setup.props.list, (item, index, i0) => {
+ return {
+ a: common_vendor.t(item.content),
+ b: index,
+ c: common_vendor.o$1(($event) => $setup.listItemClick(item), index)
+ };
+ })
+ });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.wxml
new file mode 100644
index 0000000..3b4e831
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.wxml
@@ -0,0 +1 @@
+{{b}} {{item.a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.wxss
new file mode 100644
index 0000000..1b40943
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-branch.wxss
@@ -0,0 +1,35 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.form-branch-container .card-title {
+ margin-bottom: 8px;
+}
+.form-branch-container .form-branch-item {
+ font-weight: 400;
+ color: #368dff;
+ padding-top: 5px;
+ cursor: pointer;
+ padding-bottom: 5px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.js
new file mode 100644
index 0000000..5c23bca
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.js
@@ -0,0 +1,39 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../../adapter-vue.js");
+const common_vendor = require("../../../../common/vendor.js");
+const { ref } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
+const _sfc_main = {
+ props: {
+ title: {
+ type: String,
+ default: ""
+ }
+ },
+ emits: ["input-submit"],
+ setup(props, { emit }) {
+ const disabled = ref(false);
+ const text = ref("");
+ const listItemClick = () => {
+ disabled.value = true;
+ emit("input-submit", text.value);
+ };
+ return {
+ disabled,
+ text,
+ listItemClick,
+ props
+ };
+ }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return {
+ a: common_vendor.t($setup.props.title),
+ b: $setup.text,
+ c: common_vendor.o$1(($event) => $setup.text = $event.detail.value),
+ d: $setup.disabled,
+ e: common_vendor.o$1((...args) => $setup.listItemClick && $setup.listItemClick(...args))
+ };
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.wxml
new file mode 100644
index 0000000..fd0a3e7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.wxml
@@ -0,0 +1 @@
+{{a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.wxss
new file mode 100644
index 0000000..b85e21b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/form-input.wxss
@@ -0,0 +1,62 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.form-input-container .card-title {
+ margin-bottom: 8px;
+}
+.form-input-container .form-input-box {
+ display: flex;
+}
+.form-input-container .form-input-box button:disabled {
+ background: #d8d8d8;
+}
+.form-input-container .form-input {
+ width: 100%;
+ height: 36px;
+ border-radius: 8px 0 0 8px;
+ border: 1px #dddddd solid;
+}
+.form-input-container .form-button {
+ position: relative;
+ height: 40px;
+ width: 42px;
+ font-size: 16px;
+ border-radius: 0 8px 8px 0;
+ border: 0 #dddddd solid;
+ background: #006eff;
+ color: white;
+ cursor: pointer;
+}
+.form-input-container .form-button::before {
+ content: "";
+ position: absolute;
+ width: 10px;
+ height: 10px;
+ top: 50%;
+ right: 40%;
+ border-left: 2px solid #fff;
+ border-bottom: 2px solid #fff;
+ transform: translate(0, -50%) rotate(-135deg);
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.js
new file mode 100644
index 0000000..39ee100
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.js
@@ -0,0 +1,64 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../../adapter-vue.js");
+const common_vendor = require("../../../../common/vendor.js");
+const FormBranch = () => "./form-branch.js";
+const FormInput = () => "./form-input.js";
+const { computed } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
+const _sfc_main = {
+ components: {
+ FormBranch,
+ FormInput
+ },
+ props: {
+ payload: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ emits: ["sendMessage"],
+ setup(props, { emit }) {
+ const content = computed(() => {
+ var _a;
+ return ((_a = props.payload) == null ? void 0 : _a.content) || {
+ type: 0,
+ header: "",
+ items: []
+ };
+ });
+ const handleContentListItemClick = (branch) => {
+ emit("sendMessage", { text: branch.content });
+ };
+ const handleFormSaveInputSubmit = (text) => {
+ emit("sendMessage", { text });
+ };
+ return {
+ content,
+ handleContentListItemClick,
+ handleFormSaveInputSubmit
+ };
+ }
+};
+if (!Array) {
+ const _component_FormBranch = common_vendor.resolveComponent("FormBranch");
+ const _component_FormInput = common_vendor.resolveComponent("FormInput");
+ (_component_FormBranch + _component_FormInput)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $setup.content.type === 1
+ }, $setup.content.type === 1 ? {
+ b: common_vendor.o$1($setup.handleContentListItemClick),
+ c: common_vendor.p({
+ title: $setup.content.header,
+ list: $setup.content.items
+ })
+ } : {
+ d: common_vendor.o$1($setup.handleFormSaveInputSubmit),
+ e: common_vendor.p({
+ title: $setup.content.header
+ })
+ });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.json
new file mode 100644
index 0000000..6e7857a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "form-branch": "./form-branch",
+ "form-input": "./form-input"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.wxml
new file mode 100644
index 0000000..8b2595b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.wxss
new file mode 100644
index 0000000..84aa2ba
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-form/index.wxss
@@ -0,0 +1,28 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-form {
+ max-width: 300px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.js
new file mode 100644
index 0000000..75c5496
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.js
@@ -0,0 +1,42 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+const TUIKit_tuiCustomerServicePlugin_utils_env = require("../utils/env.js");
+const _sfc_main = {
+ props: {
+ payload: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ emits: ["sendMessage"],
+ setup(props) {
+ const jumpProductCard = () => {
+ if (window) {
+ window.open(props.payload.content.url, "_blank");
+ } else {
+ common_vendor.index && common_vendor.index.navigateTo({ url: `/TUIKit/components/TUIChat/web-view?url=${props.payload.content.url}` });
+ }
+ };
+ return {
+ props,
+ isApp: TUIKit_tuiCustomerServicePlugin_utils_env.isApp,
+ jumpProductCard
+ };
+ }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $setup.isApp
+ }, $setup.isApp ? {
+ b: $setup.props.payload.content.pic
+ } : {
+ c: $setup.props.payload.content.pic
+ }, {
+ d: common_vendor.t($setup.props.payload.content.header),
+ e: common_vendor.t($setup.props.payload.content.desc),
+ f: common_vendor.o$1((...args) => $setup.jumpProductCard && $setup.jumpProductCard(...args))
+ });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-24d6579f"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.wxml
new file mode 100644
index 0000000..8b65a56
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.wxml
@@ -0,0 +1 @@
+{{d}} {{e}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.wxss
new file mode 100644
index 0000000..c852374
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-product-card.wxss
@@ -0,0 +1,62 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-product-card.data-v-24d6579f {
+ min-width: 224px;
+ max-width: 288px;
+ background: #fff;
+ border: 1px solid #ddd;
+ display: flex;
+ padding: 12px;
+ border-radius: 5px;
+}
+.message-product-card .product-img.data-v-24d6579f {
+ width: 86px;
+ height: 86px;
+}
+.message-product-card .product-card-information.data-v-24d6579f {
+ margin-left: 12px;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+.message-product-card .product-card-information .product-card-title.data-v-24d6579f {
+ font-size: 12px;
+ max-width: 165px;
+ display: -webkit-box;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+ word-break: break-all;
+}
+.message-product-card .product-card-information .product-card-description.data-v-24d6579f {
+ font-size: 16px;
+ max-width: 165px;
+ color: #ff6c2e;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.js
new file mode 100644
index 0000000..2dbc95d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.js
@@ -0,0 +1,58 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../../adapter-vue.js");
+const TUIKit_tuiCustomerServicePlugin_utils_index = require("../../utils/index.js");
+const TUIKit_tuiCustomerServicePlugin_constant = require("../../constant.js");
+const common_vendor = require("../../../../common/vendor.js");
+const RatingStar = () => "./message-rating-star.js";
+const RatingNumber = () => "./message-rating-number.js";
+const { computed } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
+const _sfc_main = {
+ components: {
+ RatingStar,
+ RatingNumber
+ },
+ props: {
+ message: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ emits: ["sendMessage"],
+ setup(props, { emit }) {
+ const ratingTemplate = computed(() => {
+ const data = props.message && TUIKit_tuiCustomerServicePlugin_utils_index.JSONToObject(props.message.payload.data);
+ return data == null ? void 0 : data.menuContent;
+ });
+ const sendCustomMessage = (data) => {
+ emit("sendMessage", data);
+ };
+ return {
+ sendCustomMessage,
+ ratingTemplate,
+ RATING_TEMPLATE_TYPE: TUIKit_tuiCustomerServicePlugin_constant.RATING_TEMPLATE_TYPE
+ };
+ }
+};
+if (!Array) {
+ const _component_RatingStar = common_vendor.resolveComponent("RatingStar");
+ const _component_RatingNumber = common_vendor.resolveComponent("RatingNumber");
+ (_component_RatingStar + _component_RatingNumber)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $setup.ratingTemplate.type === $setup.RATING_TEMPLATE_TYPE.STAR
+ }, $setup.ratingTemplate.type === $setup.RATING_TEMPLATE_TYPE.STAR ? {
+ b: common_vendor.o$1($setup.sendCustomMessage),
+ c: common_vendor.p({
+ ratingTemplate: $setup.ratingTemplate
+ })
+ } : {
+ d: common_vendor.o$1($setup.sendCustomMessage),
+ e: common_vendor.p({
+ ratingTemplate: $setup.ratingTemplate
+ })
+ });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.json
new file mode 100644
index 0000000..a88f6a1
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "rating-star": "./message-rating-star",
+ "rating-number": "./message-rating-number"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.wxml
new file mode 100644
index 0000000..c9094ec
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.js
new file mode 100644
index 0000000..43de464
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.js
@@ -0,0 +1,115 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../../adapter-vue.js");
+const TUIKit_tuiCustomerServicePlugin_constant = require("../../constant.js");
+const common_vendor = require("../../../../common/vendor.js");
+const { computed, ref, watchEffect } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
+const _sfc_main = {
+ props: {
+ ratingTemplate: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ emits: ["sendMessage"],
+ setup(props, { emit }) {
+ const hasReply = ref(false);
+ const sessionId = ref("");
+ const selectValue = ref(-1);
+ const hoverValue = ref(-1);
+ const hasExpire = ref(false);
+ const desc = computed(() => {
+ var _a;
+ return (_a = props.ratingTemplate) == null ? void 0 : _a.menu.map((item) => item.content);
+ });
+ const numberList = computed(() => {
+ var _a;
+ return (_a = props.ratingTemplate) == null ? void 0 : _a.menu.map((item, index) => index);
+ });
+ watchEffect(() => {
+ sessionId.value = props.ratingTemplate.sessionId || "";
+ if (props.ratingTemplate.selected != void 0) {
+ for (let i = 0; i < props.ratingTemplate.menu.length; i++) {
+ if (props.ratingTemplate.menu[i].id == props.ratingTemplate.selected.id) {
+ hasReply.value = true;
+ selectValue.value = i;
+ break;
+ }
+ }
+ }
+ const timestamp = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
+ if (timestamp > props.ratingTemplate.expireTime) {
+ hasExpire.value = true;
+ }
+ });
+ const setValue = (val) => {
+ if (!hasReply.value) {
+ selectValue.value = val;
+ }
+ };
+ const setHoverValue = (value) => {
+ if (!hasReply.value) {
+ hoverValue.value = value;
+ }
+ };
+ const submitRatingStar = () => {
+ if (selectValue.value >= 0) {
+ const submitData = {
+ data: JSON.stringify({
+ src: TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.MENU_SELECTED,
+ menuSelected: {
+ id: props.ratingTemplate.menu[selectValue.value].id,
+ content: props.ratingTemplate.menu[selectValue.value].content,
+ sessionId: sessionId.value
+ },
+ customerServicePlugin: 0
+ })
+ };
+ hasReply.value = true;
+ emit("sendMessage", submitData);
+ }
+ };
+ return {
+ props,
+ hasReply,
+ sessionId,
+ selectValue,
+ hoverValue,
+ hasExpire,
+ desc,
+ numberList,
+ setValue,
+ setHoverValue,
+ submitRatingStar
+ };
+ }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: common_vendor.t($setup.props.ratingTemplate.head),
+ b: common_vendor.f($setup.numberList, (item, index, i0) => {
+ return {
+ a: common_vendor.t(item + 1),
+ b: index,
+ c: !(index !== $setup.selectValue && index !== $setup.hoverValue) ? 1 : "",
+ d: index !== $setup.selectValue && index !== $setup.hoverValue ? 1 : "",
+ e: index === 0 ? "0px" : "20px",
+ f: common_vendor.o$1(($event) => $setup.setValue(index), index),
+ g: common_vendor.o$1(($event) => $setup.setHoverValue(index), index),
+ h: common_vendor.o$1(($event) => $setup.setHoverValue(-1), index)
+ };
+ }),
+ c: "5px",
+ d: common_vendor.t($setup.hoverValue === -1 ? $setup.selectValue === -1 ? "如果满意请给好评哦~" : $setup.desc[$setup.selectValue] : $setup.desc[$setup.hoverValue]),
+ e: "10px",
+ f: "10px",
+ g: $setup.hasReply || $setup.hasExpire,
+ h: common_vendor.o$1((...args) => $setup.submitRatingStar && $setup.submitRatingStar(...args)),
+ i: $setup.hasReply
+ }, $setup.hasReply ? {
+ j: common_vendor.t($setup.props.ratingTemplate.tail),
+ k: "20px"
+ } : {});
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-1a21fdf4"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.wxml
new file mode 100644
index 0000000..4ca202a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.wxml
@@ -0,0 +1 @@
+{{a}} 请对本次服务进行评价 {{item.a}} {{d}} 提交评价 {{j}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.wxss
new file mode 100644
index 0000000..001238b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-number.wxss
@@ -0,0 +1,103 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.rating-head.data-v-1a21fdf4 {
+ font-size: 14px;
+ font-weight: 400;
+ color: #999;
+}
+.rating-tail.data-v-1a21fdf4 {
+ font-size: 14px;
+ font-weight: 400;
+ color: #999;
+}
+.card-title.data-v-1a21fdf4 {
+ font-size: 14px;
+ font-weight: 500;
+}
+.rating-card.data-v-1a21fdf4 {
+ min-width: 270px;
+ width: 50%;
+ background: #fbfbfb;
+ border-radius: 20px;
+ border: 0;
+ margin-top: 10px;
+ padding-top: 20px;
+ padding-bottom: 20px;
+}
+.rating-card button.data-v-1a21fdf4:disabled {
+ background: #d8d8d8;
+}
+.message-rating-star.data-v-1a21fdf4 {
+ text-align: center;
+ display: flex;
+ flex-flow: column wrap;
+ justify-content: center;
+ padding-bottom: 30px;
+ align-items: center;
+}
+.card-wrapper.data-v-1a21fdf4 {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ padding-top: 10px;
+}
+.submit-button.data-v-1a21fdf4 {
+ width: 50%;
+ height: 50px;
+ background-color: #0365f9;
+ font-size: 18px;
+ font-weight: 400;
+ color: white;
+ border: 0;
+ border-radius: 8px;
+ cursor: pointer;
+}
+.de-active.data-v-1a21fdf4 {
+ height: 34px;
+ width: 34px;
+ display: inline-block;
+ border: 0 solid #006eff0d;
+ border-radius: 5px;
+ color: #006eff;
+ font-weight: 400;
+ font-size: 16px;
+ text-align: center;
+ line-height: 34px;
+ background: #006eff0d;
+}
+.active.data-v-1a21fdf4 {
+ width: 34px;
+ height: 34px;
+ display: inline-block;
+ background: linear-gradient(136.96deg, rgba(10, 124, 255, 0.3) -39.64%, #0a7cff 131.39%);
+ border-radius: 5px;
+ color: white;
+ font-weight: 400;
+ font-size: 16px;
+ border: 0 solid #0a7cff;
+ text-align: center;
+ line-height: 34px;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.js
new file mode 100644
index 0000000..f35b086
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.js
@@ -0,0 +1,148 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../../adapter-vue.js");
+const TUIKit_tuiCustomerServicePlugin_constant = require("../../constant.js");
+const common_assets = require("../../../../common/assets.js");
+const common_vendor = require("../../../../common/vendor.js");
+const Icon = () => "../customer-icon.js";
+const { computed, ref, watchEffect } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
+const _sfc_main = {
+ components: {
+ Icon
+ },
+ props: {
+ ratingTemplate: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ emits: ["sendMessage"],
+ setup(props, { emit }) {
+ const hasReply = ref(false);
+ const sessionId = ref("");
+ const value = ref(-1);
+ const hoverValue = ref(-1);
+ const hasExpire = ref(false);
+ watchEffect(() => {
+ sessionId.value = props.ratingTemplate.sessionId || "";
+ if (props.ratingTemplate.selected != void 0) {
+ for (let i = 0; i < props.ratingTemplate.menu.length; i++) {
+ if (props.ratingTemplate.menu[i].id == props.ratingTemplate.selected.id) {
+ hasReply.value = true;
+ value.value = i;
+ break;
+ }
+ }
+ }
+ const timestamp = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
+ if (timestamp > props.ratingTemplate.expireTime) {
+ hasExpire.value = true;
+ }
+ });
+ const desc = computed(() => {
+ var _a;
+ return (_a = props.ratingTemplate) == null ? void 0 : _a.menu.map((item) => {
+ return item.content;
+ });
+ });
+ const starList = computed(() => {
+ var _a;
+ return (_a = props.ratingTemplate) == null ? void 0 : _a.menu.map((item, index) => {
+ if (hoverValue.value !== -1) {
+ return index <= hoverValue.value ? 1 : 0;
+ } else {
+ return index <= value.value ? 1 : 0;
+ }
+ });
+ });
+ const setValue = (val) => {
+ if (hasReply.value) {
+ return;
+ }
+ value.value = val;
+ };
+ const setHoverValue = (value2) => {
+ if (hasReply.value) {
+ return;
+ }
+ hoverValue.value = value2;
+ };
+ const submitRatingStar = async () => {
+ if (value.value < 0) {
+ return;
+ }
+ const submitData = {
+ data: JSON.stringify({
+ src: TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.MENU_SELECTED,
+ menuSelected: {
+ id: props.ratingTemplate.menu[value.value].id,
+ content: props.ratingTemplate.menu[value.value].content,
+ sessionId: sessionId.value
+ },
+ customerServicePlugin: 0
+ })
+ };
+ hasReply.value = true;
+ emit("sendMessage", submitData);
+ };
+ return {
+ props,
+ hasReply,
+ sessionId,
+ value,
+ hoverValue,
+ hasExpire,
+ desc,
+ starList,
+ setValue,
+ setHoverValue,
+ submitRatingStar,
+ star: common_assets.star$1,
+ starLine: common_assets.starLine
+ };
+ }
+};
+if (!Array) {
+ const _component_Icon = common_vendor.resolveComponent("Icon");
+ _component_Icon();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: common_vendor.t($setup.props.ratingTemplate.head),
+ b: common_vendor.f($setup.starList, (item, index, i0) => {
+ return common_vendor.e({
+ a: item === 1
+ }, item === 1 ? {
+ b: "da3c7d81-0-" + i0,
+ c: common_vendor.p({
+ src: $setup.star,
+ width: "30px",
+ height: "30px"
+ })
+ } : {
+ d: "da3c7d81-1-" + i0,
+ e: common_vendor.p({
+ src: $setup.starLine,
+ width: "30px",
+ height: "30px"
+ })
+ }, {
+ f: index,
+ g: common_vendor.o$1(($event) => $setup.setValue(index), index),
+ h: common_vendor.o$1(($event) => $setup.setHoverValue(index), index),
+ i: common_vendor.o$1(($event) => $setup.setHoverValue(-1), index)
+ });
+ }),
+ c: common_vendor.t($setup.hoverValue === -1 ? $setup.value === -1 ? "如果满意请给好评哦~" : $setup.desc[$setup.value] : $setup.desc[$setup.hoverValue]),
+ d: "10px",
+ e: "10px",
+ f: $setup.hasReply || $setup.hasExpire,
+ g: common_vendor.o$1((...args) => $setup.submitRatingStar && $setup.submitRatingStar(...args)),
+ h: $setup.hasReply
+ }, $setup.hasReply ? {
+ i: common_vendor.t($setup.props.ratingTemplate.tail),
+ j: "20px"
+ } : {});
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-da3c7d81"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.json
new file mode 100644
index 0000000..b999d83
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "../customer-icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.wxml
new file mode 100644
index 0000000..ad35619
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.wxml
@@ -0,0 +1 @@
+{{a}} 请对本次服务进行评价 {{c}} 提交评价 {{i}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.wxss
new file mode 100644
index 0000000..a348f23
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rating/message-rating-star.wxss
@@ -0,0 +1,77 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.rating-head.data-v-da3c7d81 {
+ font-size: 14px;
+ font-weight: 400;
+ color: #999;
+}
+.rating-tail.data-v-da3c7d81 {
+ font-size: 14px;
+ font-weight: 400;
+ color: #999;
+}
+.card-title.data-v-da3c7d81 {
+ font-size: 14px;
+ font-weight: 500;
+}
+.rating-card.data-v-da3c7d81 {
+ min-width: 270px;
+ width: 50%;
+ background: #fbfbfb;
+ border-radius: 20px;
+ border: 0;
+ margin-top: 10px;
+ padding-top: 20px;
+ padding-bottom: 20px;
+}
+.rating-card button.data-v-da3c7d81:disabled {
+ background: #d8d8d8;
+}
+.message-rating-star.data-v-da3c7d81 {
+ text-align: center;
+ display: flex;
+ flex-flow: column wrap;
+ justify-content: center;
+ padding-bottom: 30px;
+ align-items: center;
+}
+.card-wrapper.data-v-da3c7d81 {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ padding-top: 10px;
+}
+.submit-button.data-v-da3c7d81 {
+ width: 50%;
+ height: 50px;
+ background-color: #0365f9;
+ font-size: 18px;
+ font-weight: 400;
+ color: white;
+ border: 0;
+ border-radius: 8px;
+ cursor: pointer;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rich-text.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rich-text.js
new file mode 100644
index 0000000..64f1409
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rich-text.js
@@ -0,0 +1,32 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../adapter-vue.js");
+const common_vendor = require("../../../common/vendor.js");
+const { computed } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
+const _sfc_main = {
+ props: {
+ payload: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ setup(props) {
+ const formatedContent = computed(() => {
+ let richtext = common_vendor.marked.parse(props.payload.content);
+ const regex = new RegExp("
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rich-text.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rich-text.wxss
new file mode 100644
index 0000000..f250aff
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-rich-text.wxss
@@ -0,0 +1,44 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.rich-text div,
+.rich-text ul,
+.rich-text ol,
+.rich-text dt,
+.rich-text dd,
+.rich-text li,
+.rich-text dl,
+.rich-text h1,
+.rich-text h2,
+.rich-text h3,
+.rich-text h4,
+.rich-text p,
+.rich-text img,
+.rich-text a {
+ max-width: 100%;
+}
+.rich-text a {
+ color: blue;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.js
new file mode 100644
index 0000000..3c7b79f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.js
@@ -0,0 +1,86 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../adapter-vue.js");
+const common_assets = require("../../../common/assets.js");
+const common_vendor = require("../../../common/vendor.js");
+const Icon = () => "./customer-icon.js";
+const { reactive, toRefs } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
+const _sfc_main = {
+ components: {
+ Icon
+ },
+ props: {
+ payload: {
+ type: Object,
+ default: () => ({ content: { title: "", items: [] } })
+ }
+ },
+ emits: ["sendMessage"],
+ setup(props, { emit }) {
+ var _a, _b, _c, _d, _e, _f;
+ const data = reactive({
+ // title
+ title: ((_b = (_a = props.payload) == null ? void 0 : _a.content) == null ? void 0 : _b.title) || "",
+ // all branch list
+ list: ((_d = (_c = props.payload) == null ? void 0 : _c.content) == null ? void 0 : _d.items) || [],
+ // current branch list
+ showList: (((_f = (_e = props.payload) == null ? void 0 : _e.content) == null ? void 0 : _f.items) || []).slice(0, 5),
+ // current page number
+ pageNumber: 1
+ });
+ const handleContentListItemClick = (branch) => {
+ emit("sendMessage", { text: branch.content });
+ };
+ const changeBranchList = () => {
+ var _a2, _b2;
+ if (data.pageNumber * 5 >= ((_a2 = data.list) == null ? void 0 : _a2.length)) {
+ data.pageNumber = 0;
+ }
+ data.showList = (_b2 = data.list) == null ? void 0 : _b2.slice(
+ data.pageNumber * 5,
+ data.pageNumber * 5 + 5
+ );
+ data.pageNumber += 1;
+ };
+ return {
+ ...toRefs(data),
+ handleContentListItemClick,
+ imRobotGuess: common_assets.imRobotGuess,
+ refresh: common_assets.refresh,
+ iconRight: common_assets.iconRight,
+ changeBranchList
+ };
+ }
+};
+if (!Array) {
+ const _component_Icon = common_vendor.resolveComponent("Icon");
+ _component_Icon();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: common_vendor.p({
+ src: $setup.imRobotGuess
+ }),
+ b: _ctx.title
+ }, _ctx.title ? {
+ c: common_vendor.t(_ctx.title)
+ } : {}, {
+ d: common_vendor.p({
+ src: $setup.refresh
+ }),
+ e: common_vendor.o$1(($event) => $setup.changeBranchList()),
+ f: common_vendor.f(_ctx.showList, (item, index, i0) => {
+ return {
+ a: common_vendor.t(item.content),
+ b: "4cb3a3d1-2-" + i0,
+ c: index,
+ d: common_vendor.o$1(($event) => $setup.handleContentListItemClick(item), index)
+ };
+ }),
+ g: common_vendor.p({
+ src: $setup.iconRight
+ })
+ });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.json
new file mode 100644
index 0000000..459633c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "icon": "./customer-icon"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.wxml
new file mode 100644
index 0000000..18b1134
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.wxml
@@ -0,0 +1 @@
+{{c}} {{item.a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.wxss
new file mode 100644
index 0000000..c1c6d1e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-robot-welcome.wxss
@@ -0,0 +1,77 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.welcome-card {
+ min-width: 250px;
+ max-width: 350px;
+ /* stylelint-disable */
+ /* stylelint-enable */
+}
+.welcome-card .welcome-title {
+ display: flex;
+ height: 40px;
+ justify-content: space-between;
+ align-items: center;
+}
+.welcome-card .welcome-title-left-container {
+ display: flex;
+ align-items: center;
+}
+.welcome-card .card-title {
+ display: inline-block;
+ margin-left: 8px;
+ font-size: 16px;
+}
+.welcome-card .el-link {
+ display: block;
+ font-weight: 400;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+.welcome-card .el-link__inner {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+.welcome-card .branch-number {
+ margin-left: 15px;
+ margin-right: 15px;
+ font-size: 20px;
+ display: inline-block;
+}
+.welcome-card .change-wrapper {
+ cursor: pointer;
+}
+.welcome-card .welcome-item {
+ padding: 6px;
+ color: #999;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ cursor: pointer;
+}
+.welcome-card .welcome-item:hover {
+ background: #f2f7ff;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.js
new file mode 100644
index 0000000..61c97af
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.js
@@ -0,0 +1,71 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_adapterVue = require("../adapter-vue.js");
+const common_vendor = require("../../../common/vendor.js");
+const { ref, watchEffect, onBeforeUnmount, onMounted } = TUIKit_tuiCustomerServicePlugin_adapterVue.vue;
+const _sfc_main = {
+ props: {
+ payload: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ setup(props) {
+ const content = ref("");
+ const displayedContent = ref("");
+ const isFinished = ref(false);
+ let intervalId = null;
+ let currentIndex = 0;
+ const updateDisplayedContent = () => {
+ if (intervalId) {
+ window.clearInterval(intervalId);
+ }
+ intervalId = window.setInterval(() => {
+ if (currentIndex < content.value.length) {
+ displayedContent.value += content.value[currentIndex];
+ currentIndex++;
+ } else {
+ window.clearInterval(intervalId);
+ intervalId = null;
+ }
+ }, 50);
+ };
+ onMounted(() => {
+ var _a, _b;
+ content.value = ((_b = (_a = props == null ? void 0 : props.payload) == null ? void 0 : _a.chunks) == null ? void 0 : _b.join("")) ?? "";
+ displayedContent.value = content.value;
+ currentIndex = content.value.length;
+ });
+ watchEffect(() => {
+ var _a, _b;
+ const newContent = ((_b = (_a = props == null ? void 0 : props.payload) == null ? void 0 : _a.chunks) == null ? void 0 : _b.join("")) ?? "";
+ if (newContent.length > currentIndex) {
+ content.value = newContent;
+ updateDisplayedContent();
+ }
+ });
+ watchEffect(() => {
+ var _a;
+ isFinished.value = ((_a = props == null ? void 0 : props.payload) == null ? void 0 : _a.isFinished) === 1;
+ });
+ onBeforeUnmount(() => {
+ if (intervalId) {
+ window.clearInterval(intervalId);
+ }
+ });
+ return {
+ content,
+ props,
+ isFinished,
+ displayedContent
+ };
+ }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: common_vendor.t($setup.displayedContent),
+ b: !$setup.isFinished
+ }, !$setup.isFinished ? {} : {});
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-35feeb52"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.wxml
new file mode 100644
index 0000000..11426f4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.wxml
@@ -0,0 +1 @@
+{{a}}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.wxss
new file mode 100644
index 0000000..ac8fc37
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/components/message-stream.wxss
@@ -0,0 +1,45 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.message-stream.data-v-35feeb52 {
+ word-break: break-all;
+ font-size: 14px;
+}
+.message-stream .blinking-cursor.data-v-35feeb52 {
+ display: inline-block;
+ width: 1px;
+ height: 16px;
+ background-color: black;
+ animation: blink-35feeb52 1s step-end infinite;
+ vertical-align: sub;
+}
+@keyframes blink-35feeb52 {
+0%, 100% {
+ background-color: transparent;
+}
+50% {
+ background-color: black;
+}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/constant.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/constant.js
new file mode 100644
index 0000000..fe23759
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/constant.js
@@ -0,0 +1,40 @@
+"use strict";
+const CUSTOM_MESSAGE_SRC = {
+ OFFICIAL_ACCOUNT: "1",
+ MINI_APP: "2",
+ MINI_APP_SERVICE_ACCOUNT: "3",
+ BACKEND_INTERNAL: "4",
+ WEB: "5",
+ SESSION_MESSAGE_SLICE: "6",
+ MINI_APP_AUTO: "7",
+ INTERNAL: "8",
+ MENU: "9",
+ MENU_SELECTED: "10",
+ CLIENT_STATE: "11",
+ TYPING_STATE: "12",
+ ROBOT: "13",
+ BRANCH: "15",
+ BRANCH_NUMBER: 15,
+ MEMBER: "17",
+ NO_SEAT_ONLINE: "18",
+ END: "19",
+ TIMEOUT: "20",
+ FROM_INPUT: "21",
+ PRODUCT_CARD: "22",
+ SATISFACTION_CON: "23",
+ USER_SATISFACTION: "24",
+ ROBOT_MSG: "29",
+ RICH_TEXT: "30",
+ STREAM_TEXT: "31"
+};
+const RATING_TEMPLATE_TYPE = {
+ STAR: 1,
+ NUMBER: 2
+};
+const TYPES = {
+ MSG_CUSTOM: "TIMCustomElem"
+};
+exports.CUSTOM_MESSAGE_SRC = CUSTOM_MESSAGE_SRC;
+exports.RATING_TEMPLATE_TYPE = RATING_TEMPLATE_TYPE;
+exports.TYPES = TYPES;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/constant.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.js
new file mode 100644
index 0000000..82c2626
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.js
@@ -0,0 +1,65 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const TUIKit_tuiCustomerServicePlugin_utils_index = require("./utils/index.js");
+const MessageCustomerService = () => "./components/message-customer-service.js";
+const MessageRating = () => "./components/message-rating/index.js";
+const _sfc_main = {
+ components: {
+ MessageCustomerService,
+ MessageRating
+ },
+ props: {
+ message: {
+ type: Object,
+ default: () => ({})
+ }
+ },
+ setup(props) {
+ const sendTextMessage = (payload) => {
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUIChat.SERVICE.NAME,
+ method: common_vendor.E.TUIChat.SERVICE.METHOD.SEND_TEXT_MESSAGE,
+ params: { payload }
+ });
+ };
+ const sendCustomMessage = (payload) => {
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUIChat.SERVICE.NAME,
+ method: common_vendor.E.TUIChat.SERVICE.METHOD.SEND_CUSTOM_MESSAGE,
+ params: { payload }
+ });
+ };
+ return {
+ props,
+ sendTextMessage,
+ sendCustomMessage,
+ isCustomerServiceMessage: TUIKit_tuiCustomerServicePlugin_utils_index.isCustomerServiceMessage,
+ isMessageRating: TUIKit_tuiCustomerServicePlugin_utils_index.isMessageRating
+ };
+ }
+};
+if (!Array) {
+ const _component_MessageRating = common_vendor.resolveComponent("MessageRating");
+ const _component_MessageCustomerService = common_vendor.resolveComponent("MessageCustomerService");
+ (_component_MessageRating + _component_MessageCustomerService)();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $setup.isMessageRating($setup.props.message)
+ }, $setup.isMessageRating($setup.props.message) ? {
+ b: common_vendor.o$1($setup.sendCustomMessage),
+ c: common_vendor.p({
+ message: $setup.props.message
+ })
+ } : $setup.isCustomerServiceMessage($setup.props.message) ? {
+ e: common_vendor.o$1($setup.sendTextMessage),
+ f: common_vendor.p({
+ message: $setup.props.message
+ })
+ } : {}, {
+ d: $setup.isCustomerServiceMessage($setup.props.message)
+ });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.json b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.json
new file mode 100644
index 0000000..64193c0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "message-customer-service": "./components/message-customer-service",
+ "message-rating": "./components/message-rating/index"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.wxml b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.wxml
new file mode 100644
index 0000000..8115f9c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.wxss b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/index.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/server.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/server.js
new file mode 100644
index 0000000..9b091d0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/server.js
@@ -0,0 +1,87 @@
+"use strict";
+var __defProp = Object.defineProperty;
+var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
+var __publicField = (obj, key, value) => {
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
+ return value;
+};
+const common_vendor = require("../../common/vendor.js");
+const TUIKit_tuiCustomerServicePlugin_utils_index = require("./utils/index.js");
+const _TUICustomerServer = class _TUICustomerServer {
+ constructor() {
+ __publicField(this, "customerServiceAccounts");
+ common_vendor.index.__f__("log", "at TUIKit/tui-customer-service-plugin/server.ts:12", "TUICustomerServer.init ok");
+ common_vendor.R.registerService(common_vendor.E.TUICustomerServicePlugin.SERVICE.NAME, this);
+ common_vendor.R.registerExtension(common_vendor.E.TUIContact.EXTENSION.CONTACT_LIST.EXT_ID, this);
+ this.customerServiceAccounts = ["@customer_service_account"];
+ }
+ static getInstance() {
+ if (!_TUICustomerServer.instance) {
+ _TUICustomerServer.instance = new _TUICustomerServer();
+ }
+ return _TUICustomerServer.instance;
+ }
+ // Set customer service number
+ setCustomerServiceAccounts(accounts) {
+ this.customerServiceAccounts = accounts;
+ }
+ // Obtain customer service number
+ getCustomerServiceAccounts() {
+ return this.customerServiceAccounts;
+ }
+ // Determine if the current session is a customer service session
+ isCustomerConversation(conversationID) {
+ const userID = conversationID && conversationID.slice(3) || "";
+ return this.customerServiceAccounts.indexOf(userID) > -1;
+ }
+ // Determine if the current message is a customer service message
+ isCustomerServicePluginMessage(message) {
+ if (!message || !this.isCustomerConversation(message.conversationID)) {
+ return false;
+ }
+ return TUIKit_tuiCustomerServicePlugin_utils_index.isCustomerServiceMessage(message) || TUIKit_tuiCustomerServicePlugin_utils_index.isMessageInvisible(message);
+ }
+ onGetExtension(extensionID) {
+ if (extensionID === common_vendor.E.TUIContact.EXTENSION.CONTACT_LIST.EXT_ID) {
+ return [
+ {
+ weight: 0,
+ icon: "",
+ text: "客服号",
+ data: {
+ name: "customer",
+ accountList: this.customerServiceAccounts
+ }
+ }
+ ];
+ }
+ }
+ onCall(method, params) {
+ switch (method) {
+ case common_vendor.E.TUICustomerServicePlugin.SERVICE.METHOD.ACTIVE_CONVERSATION:
+ if (this.isCustomerConversation(params.conversationID)) {
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUIChat.SERVICE.NAME,
+ method: common_vendor.E.TUIChat.SERVICE.METHOD.SET_CHAT_TYPE,
+ params: { chatType: "customerService" }
+ });
+ common_vendor.R.callService({
+ serviceName: common_vendor.E.TUIChat.SERVICE.NAME,
+ method: common_vendor.E.TUIChat.SERVICE.METHOD.SEND_CUSTOM_MESSAGE,
+ params: {
+ to: params.conversationID.slice(3),
+ conversationType: "C2C",
+ payload: {
+ data: JSON.stringify({ src: "7", customerServicePlugin: 0 })
+ }
+ }
+ });
+ }
+ break;
+ }
+ }
+};
+__publicField(_TUICustomerServer, "instance");
+let TUICustomerServer = _TUICustomerServer;
+exports.TUICustomerServer = TUICustomerServer;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/server.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/utils/env.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/utils/env.js
new file mode 100644
index 0000000..734cee2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/utils/env.js
@@ -0,0 +1,8 @@
+"use strict";
+const common_vendor = require("../../../common/vendor.js");
+common_vendor.g() === "pc";
+common_vendor.g() === "h5";
+common_vendor.g() === "wechat";
+const isApp = common_vendor.g() === "app";
+exports.isApp = isApp;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/utils/env.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/utils/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/utils/index.js
new file mode 100644
index 0000000..317c0f9
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/tui-customer-service-plugin/utils/index.js
@@ -0,0 +1,56 @@
+"use strict";
+const TUIKit_tuiCustomerServicePlugin_constant = require("../constant.js");
+function isJSON(str) {
+ if (typeof str === "string") {
+ try {
+ const data = JSON.parse(str);
+ if (data) {
+ return true;
+ }
+ return false;
+ } catch (error) {
+ return false;
+ }
+ }
+ return false;
+}
+function JSONToObject(str) {
+ if (!isJSON(str)) {
+ return str;
+ }
+ return JSON.parse(str);
+}
+function isCustomerServiceMessage(message) {
+ var _a;
+ const customerServicePayload = JSONToObject((_a = message == null ? void 0 : message.payload) == null ? void 0 : _a.data);
+ return Number(customerServicePayload == null ? void 0 : customerServicePayload.customerServicePlugin) === 0 || Number(customerServicePayload == null ? void 0 : customerServicePayload.chatbotPlugin) === 1;
+}
+const isMessageRating = (message) => {
+ var _a;
+ const customerServicePayload = JSONToObject((_a = message == null ? void 0 : message.payload) == null ? void 0 : _a.data);
+ return isCustomerServiceMessage(message) && customerServicePayload.src === TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.MENU;
+};
+const isMessageInvisible = (message) => {
+ var _a, _b;
+ const customerServicePayload = JSONToObject((_a = message == null ? void 0 : message.payload) == null ? void 0 : _a.data);
+ const robotCommandArray = ["feedback", "updateBotStatus"];
+ const whiteList = [
+ TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.MENU,
+ TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.BRANCH,
+ TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.BRANCH_NUMBER,
+ TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.FROM_INPUT,
+ TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.PRODUCT_CARD,
+ TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.ROBOT_MSG,
+ TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.RICH_TEXT,
+ TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.STREAM_TEXT
+ ];
+ const isCustomerMessage = (message == null ? void 0 : message.type) === TUIKit_tuiCustomerServicePlugin_constant.TYPES.MSG_CUSTOM;
+ const isCustomerInvisible = (customerServicePayload == null ? void 0 : customerServicePayload.src) && !whiteList.includes(customerServicePayload == null ? void 0 : customerServicePayload.src);
+ const isRobot = (customerServicePayload == null ? void 0 : customerServicePayload.src) === TUIKit_tuiCustomerServicePlugin_constant.CUSTOM_MESSAGE_SRC.ROBOT && robotCommandArray.indexOf((_b = customerServicePayload == null ? void 0 : customerServicePayload.content) == null ? void 0 : _b.command) !== -1;
+ return isCustomerMessage && (isCustomerInvisible || isRobot);
+};
+exports.JSONToObject = JSONToObject;
+exports.isCustomerServiceMessage = isCustomerServiceMessage;
+exports.isMessageInvisible = isMessageInvisible;
+exports.isMessageRating = isMessageRating;
+//# sourceMappingURL=../../../../.sourcemap/mp-weixin/TUIKit/tui-customer-service-plugin/utils/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/utils/documentLink.js b/unpackage/dist/dev/mp-weixin/TUIKit/utils/documentLink.js
new file mode 100644
index 0000000..0020bf3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/utils/documentLink.js
@@ -0,0 +1,25 @@
+"use strict";
+const Link = {
+ product: {
+ label: "产品文档",
+ url: "https://cloud.tencent.com/document/product/269/1499#.E7.BE.A4.E7.BB.84.E5.8A.9F.E8.83.BD"
+ },
+ customMessage: {
+ label: "自定义消息",
+ url: "https://web.sdk.qcloud.com/im/doc/v3/zh-cn/SDK.html#createCustomMessage"
+ },
+ complaint: {
+ label: "点此投诉",
+ url: "https://cloud.tencent.com/apply/p/xc3oaubi98g"
+ },
+ implement: {
+ label: "集成TUICallKit",
+ url: "https://cloud.tencent.com/document/product/269/79861"
+ },
+ purchase: {
+ label: "开通腾讯实时音视频服务",
+ url: "https://cloud.tencent.com/document/product/1640/79968"
+ }
+};
+exports.Link = Link;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/utils/documentLink.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/utils/enableSampleTaskStatus.js b/unpackage/dist/dev/mp-weixin/TUIKit/utils/enableSampleTaskStatus.js
new file mode 100644
index 0000000..a582867
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/utils/enableSampleTaskStatus.js
@@ -0,0 +1,11 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+function enableSampleTaskStatus(taskKey) {
+ const tasks = common_vendor.Jt.getData(common_vendor.o.APP, "tasks");
+ if (taskKey in tasks && !tasks[taskKey]) {
+ tasks[taskKey] = true;
+ common_vendor.Jt.update(common_vendor.o.APP, "tasks", tasks);
+ }
+}
+exports.enableSampleTaskStatus = enableSampleTaskStatus;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/utils/enableSampleTaskStatus.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/utils/env.js b/unpackage/dist/dev/mp-weixin/TUIKit/utils/env.js
new file mode 100644
index 0000000..4e3302b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/utils/env.js
@@ -0,0 +1,15 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const isPC = common_vendor.g() === "pc";
+const isH5 = common_vendor.g() === "h5";
+const isWeChat = common_vendor.g() === "wechat";
+const isApp = common_vendor.g() === "app";
+const isUniFrameWork = typeof common_vendor.index !== "undefined";
+const isMobile = isH5 || isWeChat || isApp;
+exports.isApp = isApp;
+exports.isH5 = isH5;
+exports.isMobile = isMobile;
+exports.isPC = isPC;
+exports.isUniFrameWork = isUniFrameWork;
+exports.isWeChat = isWeChat;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/utils/env.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/utils/index.js b/unpackage/dist/dev/mp-weixin/TUIKit/utils/index.js
new file mode 100644
index 0000000..724e016
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/utils/index.js
@@ -0,0 +1,2 @@
+"use strict";
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/utils/index.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/utils/lodash.js b/unpackage/dist/dev/mp-weixin/TUIKit/utils/lodash.js
new file mode 100644
index 0000000..b6adaf0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/utils/lodash.js
@@ -0,0 +1,105 @@
+"use strict";
+const FUNC_ERROR_TEXT = "Expected a function";
+function throttle(func, wait, options) {
+ let leading = true, trailing = true;
+ if (typeof func != "function") {
+ throw new TypeError(FUNC_ERROR_TEXT);
+ }
+ if (options && isObject(options)) {
+ leading = "leading" in options ? !!options.leading : leading;
+ trailing = "trailing" in options ? !!options.trailing : trailing;
+ }
+ return debounce(func, wait, {
+ leading,
+ maxWait: wait,
+ trailing
+ });
+}
+function debounce(func, wait, options) {
+ let lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
+ if (typeof func != "function") {
+ throw new TypeError(FUNC_ERROR_TEXT);
+ }
+ wait = wait || 0;
+ if (options && isObject(options)) {
+ leading = !!options.leading;
+ maxing = "maxWait" in options;
+ maxWait = maxing ? Math.max(options.maxWait || 0, wait) : maxWait;
+ trailing = "trailing" in options ? !!options.trailing : trailing;
+ }
+ function invokeFunc(time) {
+ const args = lastArgs, thisArg = lastThis;
+ lastArgs = lastThis = void 0;
+ lastInvokeTime = time;
+ result = func.apply(thisArg, args);
+ return result;
+ }
+ function leadingEdge(time) {
+ lastInvokeTime = time;
+ timerId = setTimeout(timerExpired, wait);
+ return leading ? invokeFunc(time) : result;
+ }
+ function remainingWait(time) {
+ const timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
+ return maxing ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
+ }
+ function shouldInvoke(time) {
+ const timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
+ return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
+ }
+ function timerExpired() {
+ const time = Date.now();
+ if (shouldInvoke(time)) {
+ return trailingEdge(time);
+ }
+ timerId = setTimeout(timerExpired, remainingWait(time));
+ }
+ function trailingEdge(time) {
+ timerId = void 0;
+ if (trailing && lastArgs) {
+ return invokeFunc(time);
+ }
+ lastArgs = lastThis = void 0;
+ return result;
+ }
+ function cancel() {
+ if (timerId !== void 0) {
+ clearTimeout(timerId);
+ }
+ lastInvokeTime = 0;
+ lastArgs = lastCallTime = lastThis = timerId = void 0;
+ }
+ function flush() {
+ return timerId === void 0 ? result : trailingEdge(Date.now());
+ }
+ function debounced() {
+ const time = Date.now(), isInvoking = shouldInvoke(time);
+ lastArgs = arguments;
+ lastThis = this;
+ lastCallTime = time;
+ if (isInvoking) {
+ if (timerId === void 0) {
+ return leadingEdge(lastCallTime);
+ }
+ if (maxing) {
+ clearTimeout(timerId);
+ timerId = setTimeout(timerExpired, wait);
+ return invokeFunc(lastCallTime);
+ }
+ }
+ if (timerId === void 0) {
+ timerId = setTimeout(timerExpired, wait);
+ }
+ return result;
+ }
+ debounced.cancel = cancel;
+ debounced.flush = flush;
+ return debounced;
+}
+function isObject(value) {
+ const type = typeof value;
+ return value != null && (type == "object" || type == "function");
+}
+exports.debounce = debounce;
+exports.throttle = throttle;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/utils/lodash.js.map
diff --git a/unpackage/dist/dev/mp-weixin/TUIKit/utils/type-check.js b/unpackage/dist/dev/mp-weixin/TUIKit/utils/type-check.js
new file mode 100644
index 0000000..32883f1
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/TUIKit/utils/type-check.js
@@ -0,0 +1,33 @@
+"use strict";
+const isFunction = (val) => typeof val === "function";
+const isObject = (val) => val !== null && typeof val === "object";
+const isUrl = (url) => {
+ return /^(https?:\/\/(([a-zA-Z0-9]+-?)+[a-zA-Z0-9]+\.)+[a-zA-Z]+)(:\d+)?(\/.*)?(\?.*)?(#.*)?$/.test(
+ url
+ );
+};
+const isJSON = (str) => {
+ if (typeof str === "string") {
+ try {
+ const data = JSON.parse(str);
+ if (data) {
+ return true;
+ }
+ return false;
+ } catch (error) {
+ return false;
+ }
+ }
+ return false;
+};
+const JSONToObject = (str) => {
+ if (!str || !isJSON(str)) {
+ return str;
+ }
+ return JSON.parse(str);
+};
+exports.JSONToObject = JSONToObject;
+exports.isFunction = isFunction;
+exports.isObject = isObject;
+exports.isUrl = isUrl;
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/TUIKit/utils/type-check.js.map
diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js
new file mode 100644
index 0000000..10404a0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/app.js
@@ -0,0 +1,80 @@
+"use strict";
+Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
+const common_vendor = require("./common/vendor.js");
+if (!Math) {
+ "./pages/Home/Home.js";
+ "./pages/Mine/Mine.js";
+ "./pages/Mine/minecomponents/pkRecord.js";
+ "./pages/Mine/minecomponents/contact.js";
+ "./pages/Mine/minecomponents/pkInformation.js";
+ "./pages/Mine/minecomponents/recompose/recompose.js";
+ "./pages/Mine/minecomponents/serviceProtocol.js";
+ "./pages/Mine/minecomponents/DetailsPKRecords/DetailsPKRecords.js";
+ "./pages/PKMessageprocessing/PKMessageprocessing.js";
+ "./pages/index/index.js";
+ "./pages/login/login.js";
+ "./pages/Forum/Forum.js";
+ "./pages/UserInformation/UserInformation.js";
+ "./pages/Setting/Setting.js";
+ "./pages/NewAddedPk/NewAddedPk.js";
+ "./pages/pkDetail/pkDetail.js";
+ "./TUIKit/components/TUIConversation/index.js";
+ "./TUIKit/components/TUIChat/index.js";
+ "./TUIKit/components/TUIChat/video-play.js";
+ "./TUIKit/components/TUIChat/web-view.js";
+ "./TUIKit/components/TUIContact/index.js";
+ "./TUIKit/components/TUIGroup/index.js";
+ "./TUIKit/components/TUISearch/index2.js";
+ "./TUIKit/components/TUIConversation/conversation-list/index2.js";
+}
+const _sfc_main = {
+ data() {
+ return {
+ info: {},
+ userSig: "",
+ chatInfo: {}
+ };
+ },
+ onLoad(option) {
+ this.AutomaticCleaning();
+ common_vendor.index.getStorage({
+ key: "userinfo",
+ success: (res) => {
+ this.info = res.data;
+ counter.$patch({ myitem: this.info });
+ },
+ fail: () => {
+ }
+ });
+ },
+ methods: {
+ //自动清理缓存
+ AutomaticCleaning() {
+ const lastCleanTime = common_vendor.index.getStorageSync("last_clean_time") || 0;
+ const now = Date.now();
+ if (now - lastCleanTime < 7 * 24 * 3600 * 1e3)
+ return;
+ common_vendor.index.clearStorage();
+ common_vendor.index.setStorageSync("last_clean_time", now);
+ }
+ },
+ provide() {
+ return {
+ $global: {
+ lastPage: null
+ }
+ };
+ }
+};
+function createApp() {
+ const app = common_vendor.createSSRApp(_sfc_main);
+ app.use(common_vendor.createPinia());
+ return {
+ app,
+ Pinia: common_vendor.Pinia
+ // 此处必须将 Pinia 返回
+ };
+}
+createApp().app.mount("#app");
+exports.createApp = createApp;
+//# sourceMappingURL=../.sourcemap/mp-weixin/app.js.map
diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json
new file mode 100644
index 0000000..5860dd1
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/app.json
@@ -0,0 +1,70 @@
+{
+ "pages": [
+ "pages/Home/Home",
+ "pages/Mine/Mine",
+ "pages/Mine/minecomponents/pkRecord",
+ "pages/Mine/minecomponents/contact",
+ "pages/Mine/minecomponents/pkInformation",
+ "pages/Mine/minecomponents/recompose/recompose",
+ "pages/Mine/minecomponents/serviceProtocol",
+ "pages/Mine/minecomponents/DetailsPKRecords/DetailsPKRecords",
+ "pages/PKMessageprocessing/PKMessageprocessing",
+ "pages/index/index",
+ "pages/login/login",
+ "pages/Forum/Forum",
+ "pages/UserInformation/UserInformation",
+ "pages/Setting/Setting",
+ "pages/NewAddedPk/NewAddedPk",
+ "pages/pkDetail/pkDetail"
+ ],
+ "subPackages": [
+ {
+ "root": "TUIKit",
+ "pages": [
+ "components/TUIConversation/index",
+ "components/TUIChat/index",
+ "components/TUIChat/video-play",
+ "components/TUIChat/web-view",
+ "components/TUIContact/index",
+ "components/TUIGroup/index",
+ "components/TUISearch/index",
+ "components/TUIConversation/conversation-list/index"
+ ]
+ }
+ ],
+ "window": {
+ "navigationStyle": "custom",
+ "statusBarBackground": "#ffffff"
+ },
+ "tabBar": {
+ "custom": true,
+ "list": [
+ {
+ "pagePath": "pages/Home/Home",
+ "text": "组件"
+ },
+ {
+ "pagePath": "pages/Mine/Mine",
+ "text": "我的"
+ },
+ {
+ "pagePath": "pages/index/index",
+ "text": "聊天"
+ },
+ {
+ "pagePath": "pages/Forum/Forum",
+ "text": "论坛"
+ }
+ ]
+ },
+ "preloadRule": {
+ "pages/index/index": {
+ "network": "all",
+ "packages": [
+ "TUIKit"
+ ]
+ }
+ },
+ "permission": {},
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/app.wxss b/unpackage/dist/dev/mp-weixin/app.wxss
new file mode 100644
index 0000000..05bcc2a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/app.wxss
@@ -0,0 +1,11 @@
+
+/* common css for page */
+uni-page-body,
+html,
+body,
+page {
+ width: 100% !important;
+ height: 100% !important;
+ overflow: hidden;
+}
+page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/add-circle.376cda7c.svg b/unpackage/dist/dev/mp-weixin/assets/add-circle.376cda7c.svg
new file mode 100644
index 0000000..aa90800
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/add-circle.376cda7c.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/add.6f2b9261.svg b/unpackage/dist/dev/mp-weixin/assets/add.6f2b9261.svg
new file mode 100644
index 0000000..f154f34
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/add.6f2b9261.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/audio.21bb2ba6.svg b/unpackage/dist/dev/mp-weixin/assets/audio.21bb2ba6.svg
new file mode 100644
index 0000000..deacede
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/audio.21bb2ba6.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/back.b82bef7a.svg b/unpackage/dist/dev/mp-weixin/assets/back.b82bef7a.svg
new file mode 100644
index 0000000..0af55aa
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/back.b82bef7a.svg
@@ -0,0 +1,16 @@
+
+
+ ic_back_white
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/call-video.21b022ad.svg b/unpackage/dist/dev/mp-weixin/assets/call-video.21b022ad.svg
new file mode 100644
index 0000000..dc76641
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/call-video.21b022ad.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/call-voice.1ef6b7f7.svg b/unpackage/dist/dev/mp-weixin/assets/call-voice.1ef6b7f7.svg
new file mode 100644
index 0000000..4793fcf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/call-voice.1ef6b7f7.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/camera-uni.e7fd6e1a.png b/unpackage/dist/dev/mp-weixin/assets/camera-uni.e7fd6e1a.png
new file mode 100644
index 0000000..5596ae2
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/assets/camera-uni.e7fd6e1a.png differ
diff --git a/unpackage/dist/dev/mp-weixin/assets/cancel.051cb10c.svg b/unpackage/dist/dev/mp-weixin/assets/cancel.051cb10c.svg
new file mode 100644
index 0000000..1cf848b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/cancel.051cb10c.svg
@@ -0,0 +1,23 @@
+
+
+ 清除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/check-sm.c3984331.svg b/unpackage/dist/dev/mp-weixin/assets/check-sm.c3984331.svg
new file mode 100644
index 0000000..69a5e1c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/check-sm.c3984331.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/close-dark.c1b1ccca.svg b/unpackage/dist/dev/mp-weixin/assets/close-dark.c1b1ccca.svg
new file mode 100644
index 0000000..cfc8bc0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/close-dark.c1b1ccca.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/convertText_zh.51e06e84.svg b/unpackage/dist/dev/mp-weixin/assets/convertText_zh.51e06e84.svg
new file mode 100644
index 0000000..ef2c643
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/convertText_zh.51e06e84.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/d-left-arrow.9b5f8cc0.svg b/unpackage/dist/dev/mp-weixin/assets/d-left-arrow.9b5f8cc0.svg
new file mode 100644
index 0000000..24d5759
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/d-left-arrow.9b5f8cc0.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/d-right-arrow.7ab4b4ba.svg b/unpackage/dist/dev/mp-weixin/assets/d-right-arrow.7ab4b4ba.svg
new file mode 100644
index 0000000..6fca7c5
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/d-right-arrow.7ab4b4ba.svg
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/del-icon.c693da44.svg b/unpackage/dist/dev/mp-weixin/assets/del-icon.c693da44.svg
new file mode 100644
index 0000000..b2832c0
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/del-icon.c693da44.svg
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/double-arrow.c51bb7cf.svg b/unpackage/dist/dev/mp-weixin/assets/double-arrow.c51bb7cf.svg
new file mode 100644
index 0000000..0496fda
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/double-arrow.c51bb7cf.svg
@@ -0,0 +1 @@
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/down-icon.50c12418.svg b/unpackage/dist/dev/mp-weixin/assets/down-icon.50c12418.svg
new file mode 100644
index 0000000..a921e8e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/down-icon.50c12418.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/edit.5adfff7a.svg b/unpackage/dist/dev/mp-weixin/assets/edit.5adfff7a.svg
new file mode 100644
index 0000000..2ad307e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/edit.5adfff7a.svg
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/face-dark.21e333dd.svg b/unpackage/dist/dev/mp-weixin/assets/face-dark.21e333dd.svg
new file mode 100644
index 0000000..fcbe3ad
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/face-dark.21e333dd.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/face-light.61678cbe.svg b/unpackage/dist/dev/mp-weixin/assets/face-light.61678cbe.svg
new file mode 100644
index 0000000..98bf563
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/face-light.61678cbe.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/face-uni.e33f5632.png b/unpackage/dist/dev/mp-weixin/assets/face-uni.e33f5632.png
new file mode 100644
index 0000000..9321487
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/assets/face-uni.e33f5632.png differ
diff --git a/unpackage/dist/dev/mp-weixin/assets/file-light.565ad764.svg b/unpackage/dist/dev/mp-weixin/assets/file-light.565ad764.svg
new file mode 100644
index 0000000..a3acf0c
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/file-light.565ad764.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/forward-each.d0857f96.svg b/unpackage/dist/dev/mp-weixin/assets/forward-each.d0857f96.svg
new file mode 100644
index 0000000..41599b4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/forward-each.d0857f96.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/forward-merge.73273fff.svg b/unpackage/dist/dev/mp-weixin/assets/forward-merge.73273fff.svg
new file mode 100644
index 0000000..7a8588a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/forward-merge.73273fff.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/icon-c2c.6e2af86f.svg b/unpackage/dist/dev/mp-weixin/assets/icon-c2c.6e2af86f.svg
new file mode 100644
index 0000000..e33ef15
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/icon-c2c.6e2af86f.svg
@@ -0,0 +1,36 @@
+
+
+ 编组 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/icon-close.90eb4be2.svg b/unpackage/dist/dev/mp-weixin/assets/icon-close.90eb4be2.svg
new file mode 100644
index 0000000..f5f3e04
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/icon-close.90eb4be2.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/iconRight.ab6f6855.svg b/unpackage/dist/dev/mp-weixin/assets/iconRight.ab6f6855.svg
new file mode 100644
index 0000000..7bcbb5d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/iconRight.ab6f6855.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/imRobotGuess.06ae9855.svg b/unpackage/dist/dev/mp-weixin/assets/imRobotGuess.06ae9855.svg
new file mode 100644
index 0000000..6beabd8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/imRobotGuess.06ae9855.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/image-dark.44be7480.svg b/unpackage/dist/dev/mp-weixin/assets/image-dark.44be7480.svg
new file mode 100644
index 0000000..6a122ae
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/image-dark.44be7480.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/image-light.ef346b4b.svg b/unpackage/dist/dev/mp-weixin/assets/image-light.ef346b4b.svg
new file mode 100644
index 0000000..1088ed6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/image-light.ef346b4b.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/image-uni.3e951cbb.png b/unpackage/dist/dev/mp-weixin/assets/image-uni.3e951cbb.png
new file mode 100644
index 0000000..7d12d84
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/assets/image-uni.3e951cbb.png differ
diff --git a/unpackage/dist/dev/mp-weixin/assets/input-close.0b5e85b2.svg b/unpackage/dist/dev/mp-weixin/assets/input-close.0b5e85b2.svg
new file mode 100644
index 0000000..b224ddd
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/input-close.0b5e85b2.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/left-arrow.be72449a.svg b/unpackage/dist/dev/mp-weixin/assets/left-arrow.be72449a.svg
new file mode 100644
index 0000000..2be419f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/left-arrow.be72449a.svg
@@ -0,0 +1,6 @@
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/loading.2a143778.png b/unpackage/dist/dev/mp-weixin/assets/loading.2a143778.png
new file mode 100644
index 0000000..6adfca7
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/assets/loading.2a143778.png differ
diff --git a/unpackage/dist/dev/mp-weixin/assets/minus.887a634f.svg b/unpackage/dist/dev/mp-weixin/assets/minus.887a634f.svg
new file mode 100644
index 0000000..b92ab01
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/minus.887a634f.svg
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/more-uni.030c2d9a.png b/unpackage/dist/dev/mp-weixin/assets/more-uni.030c2d9a.png
new file mode 100644
index 0000000..8376db2
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/assets/more-uni.030c2d9a.png differ
diff --git a/unpackage/dist/dev/mp-weixin/assets/msg-audio.ac2cd1c9.svg b/unpackage/dist/dev/mp-weixin/assets/msg-audio.ac2cd1c9.svg
new file mode 100644
index 0000000..f2315fd
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/msg-audio.ac2cd1c9.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/msg-copy.8d896bef.svg b/unpackage/dist/dev/mp-weixin/assets/msg-copy.8d896bef.svg
new file mode 100644
index 0000000..a5ed589
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/msg-copy.8d896bef.svg
@@ -0,0 +1,30 @@
+
+
+ 编组 14
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/msg-del.05341954.svg b/unpackage/dist/dev/mp-weixin/assets/msg-del.05341954.svg
new file mode 100644
index 0000000..2d01337
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/msg-del.05341954.svg
@@ -0,0 +1,33 @@
+
+
+ 矩形
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/msg-forward.1907b7f9.svg b/unpackage/dist/dev/mp-weixin/assets/msg-forward.1907b7f9.svg
new file mode 100644
index 0000000..172bfb5
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/msg-forward.1907b7f9.svg
@@ -0,0 +1,31 @@
+
+
+ 编组
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/msg-quote.550cd8cb.svg b/unpackage/dist/dev/mp-weixin/assets/msg-quote.550cd8cb.svg
new file mode 100644
index 0000000..d533271
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/msg-quote.550cd8cb.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/msg-revoke.39595cc0.svg b/unpackage/dist/dev/mp-weixin/assets/msg-revoke.39595cc0.svg
new file mode 100644
index 0000000..d3494f7
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/msg-revoke.39595cc0.svg
@@ -0,0 +1,29 @@
+
+
+ 矩形
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/multiple-select.d38619b0.svg b/unpackage/dist/dev/mp-weixin/assets/multiple-select.d38619b0.svg
new file mode 100644
index 0000000..d4da3c5
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/multiple-select.d38619b0.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/mute.81a6d6d5.svg b/unpackage/dist/dev/mp-weixin/assets/mute.81a6d6d5.svg
new file mode 100644
index 0000000..59a5f07
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/mute.81a6d6d5.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/plus.f3b9aa49.svg b/unpackage/dist/dev/mp-weixin/assets/plus.f3b9aa49.svg
new file mode 100644
index 0000000..2ccfad2
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/plus.f3b9aa49.svg
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/radio.168a4b70.svg b/unpackage/dist/dev/mp-weixin/assets/radio.168a4b70.svg
new file mode 100644
index 0000000..bb4f31b
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/radio.168a4b70.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/refresh.cddffc91.svg b/unpackage/dist/dev/mp-weixin/assets/refresh.cddffc91.svg
new file mode 100644
index 0000000..681b3e6
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/refresh.cddffc91.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/right-arrow.0c0041ad.svg b/unpackage/dist/dev/mp-weixin/assets/right-arrow.0c0041ad.svg
new file mode 100644
index 0000000..3dc5700
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/right-arrow.0c0041ad.svg
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/right-icon.b206bd3e.svg b/unpackage/dist/dev/mp-weixin/assets/right-icon.b206bd3e.svg
new file mode 100644
index 0000000..c90c2fd
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/right-icon.b206bd3e.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/search-default.4e6b7fca.svg b/unpackage/dist/dev/mp-weixin/assets/search-default.4e6b7fca.svg
new file mode 100644
index 0000000..16607cb
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/search-default.4e6b7fca.svg
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/search.980f6827.svg b/unpackage/dist/dev/mp-weixin/assets/search.980f6827.svg
new file mode 100644
index 0000000..d64b94f
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/search.980f6827.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/selected.1c6e50da.svg b/unpackage/dist/dev/mp-weixin/assets/selected.1c6e50da.svg
new file mode 100644
index 0000000..7fd5bd3
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/selected.1c6e50da.svg
@@ -0,0 +1,27 @@
+
+
+ 编组 14
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/setting.161bfa16.svg b/unpackage/dist/dev/mp-weixin/assets/setting.161bfa16.svg
new file mode 100644
index 0000000..ebda9dc
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/setting.161bfa16.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/star-light.d9a7aedf.png b/unpackage/dist/dev/mp-weixin/assets/star-light.d9a7aedf.png
new file mode 100644
index 0000000..77c9e32
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/assets/star-light.d9a7aedf.png differ
diff --git a/unpackage/dist/dev/mp-weixin/assets/star.0d13712b.png b/unpackage/dist/dev/mp-weixin/assets/star.0d13712b.png
new file mode 100644
index 0000000..29fd22a
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/assets/star.0d13712b.png differ
diff --git a/unpackage/dist/dev/mp-weixin/assets/starLine.f4211758.png b/unpackage/dist/dev/mp-weixin/assets/starLine.f4211758.png
new file mode 100644
index 0000000..27c3a6d
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/assets/starLine.f4211758.png differ
diff --git a/unpackage/dist/dev/mp-weixin/assets/start-group.5f1c641f.svg b/unpackage/dist/dev/mp-weixin/assets/start-group.5f1c641f.svg
new file mode 100644
index 0000000..6fd02f8
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/start-group.5f1c641f.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/translate.8c9408be.svg b/unpackage/dist/dev/mp-weixin/assets/translate.8c9408be.svg
new file mode 100644
index 0000000..8b7ae24
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/translate.8c9408be.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/video-dark.0bbf3476.svg b/unpackage/dist/dev/mp-weixin/assets/video-dark.0bbf3476.svg
new file mode 100644
index 0000000..1828560
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/video-dark.0bbf3476.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/video-light.c7253748.svg b/unpackage/dist/dev/mp-weixin/assets/video-light.c7253748.svg
new file mode 100644
index 0000000..d991510
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/video-light.c7253748.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/assets/video-play.58b451c9.png b/unpackage/dist/dev/mp-weixin/assets/video-play.58b451c9.png
new file mode 100644
index 0000000..15957a9
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/assets/video-play.58b451c9.png differ
diff --git a/unpackage/dist/dev/mp-weixin/assets/video-uni.0b4d3e53.png b/unpackage/dist/dev/mp-weixin/assets/video-uni.0b4d3e53.png
new file mode 100644
index 0000000..2cfe433
Binary files /dev/null and b/unpackage/dist/dev/mp-weixin/assets/video-uni.0b4d3e53.png differ
diff --git a/unpackage/dist/dev/mp-weixin/assets/words-dark.cda35c0a.svg b/unpackage/dist/dev/mp-weixin/assets/words-dark.cda35c0a.svg
new file mode 100644
index 0000000..c8f6c89
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/words-dark.cda35c0a.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/unpackage/dist/dev/mp-weixin/assets/words-light.97e1bc17.svg b/unpackage/dist/dev/mp-weixin/assets/words-light.97e1bc17.svg
new file mode 100644
index 0000000..934bcda
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/assets/words-light.97e1bc17.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/common/assets.js b/unpackage/dist/dev/mp-weixin/common/assets.js
new file mode 100644
index 0000000..627ff2a
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/common/assets.js
@@ -0,0 +1,128 @@
+"use strict";
+const createGroup = "/assets/start-group.5f1c641f.svg";
+const C2C = "/assets/icon-c2c.6e2af86f.svg";
+const settingSVG = "/assets/setting.161bfa16.svg";
+const muteIcon = "/assets/mute.81a6d6d5.svg";
+const faceIcon = "/assets/face-uni.e33f5632.png";
+const moreIcon = "/assets/more-uni.030c2d9a.png";
+const ForwardEachIcon = "/assets/forward-each.d0857f96.svg";
+const ForwardMergeIcon = "/assets/forward-merge.73273fff.svg";
+const AddIcon = "/assets/add-circle.376cda7c.svg";
+const searchIcon = "/assets/search.980f6827.svg";
+const closeIcon$2 = "/assets/input-close.0b5e85b2.svg";
+const downSVG = "/assets/down-icon.50c12418.svg";
+const closeIcon$1 = "/assets/close-dark.c1b1ccca.svg";
+const rightIcon = "/assets/right-icon.b206bd3e.svg";
+const addSVG = "/assets/add.6f2b9261.svg";
+const backIcon = "/assets/back.b82bef7a.svg";
+const editIcon = "/assets/edit.5adfff7a.svg";
+const closeIcon = "/assets/icon-close.90eb4be2.svg";
+const playIcon = "/assets/video-play.58b451c9.png";
+const audioIcon$1 = "/assets/msg-audio.ac2cd1c9.svg";
+const files = "/assets/file-light.565ad764.svg";
+const star$1 = "/assets/star-light.d9a7aedf.png";
+const loadingIcon = "/assets/loading.2a143778.png";
+const delIcon$1 = "/assets/msg-del.05341954.svg";
+const copyIcon = "/assets/msg-copy.8d896bef.svg";
+const quoteIcon = "/assets/msg-quote.550cd8cb.svg";
+const revokeIcon = "/assets/msg-revoke.39595cc0.svg";
+const forwardIcon = "/assets/msg-forward.1907b7f9.svg";
+const translateIcon = "/assets/translate.8c9408be.svg";
+const multipleSelectIcon = "/assets/multiple-select.d38619b0.svg";
+const convertText = "/assets/convertText_zh.51e06e84.svg";
+const doubleArrowIcon = "/assets/double-arrow.c51bb7cf.svg";
+const audioIcon = "/assets/audio.21bb2ba6.svg";
+const selectedIcon = "/assets/selected.1c6e50da.svg";
+const cancelIcon = "/assets/cancel.051cb10c.svg";
+const imageIconLight = "/assets/image-light.ef346b4b.svg";
+const imageIconDark = "/assets/image-dark.44be7480.svg";
+const imageUniIcon = "/assets/image-uni.3e951cbb.png";
+const cameraUniIcon = "/assets/camera-uni.e7fd6e1a.png";
+const videoIconLight = "/assets/video-light.c7253748.svg";
+const videoIconDark = "/assets/video-dark.0bbf3476.svg";
+const videoUniIcon = "/assets/video-uni.0b4d3e53.png";
+const wordsIconLight = "/assets/words-light.97e1bc17.svg";
+const wordsIconDark = "/assets/words-dark.cda35c0a.svg";
+const faceIconLight = "/assets/face-light.61678cbe.svg";
+const faceIconDark = "/assets/face-dark.21e333dd.svg";
+const SearchDefaultIcon = "/assets/search-default.4e6b7fca.svg";
+const delIcon = "/assets/del-icon.c693da44.svg";
+const plusSVG = "/assets/plus.f3b9aa49.svg";
+const minusSVG = "/assets/minus.887a634f.svg";
+const checkIcon = "/assets/check-sm.c3984331.svg";
+const radioIcon = "/assets/radio.168a4b70.svg";
+const callVideoSVG = "/assets/call-video.21b022ad.svg";
+const callVoiceSVG = "/assets/call-voice.1ef6b7f7.svg";
+const leftArrowIcon = "/assets/left-arrow.be72449a.svg";
+const rightArrowIcon = "/assets/right-arrow.0c0041ad.svg";
+const dLeftArrowIcon = "/assets/d-left-arrow.9b5f8cc0.svg";
+const dRightArrowIcon = "/assets/d-right-arrow.7ab4b4ba.svg";
+const iconRight = "/assets/iconRight.ab6f6855.svg";
+const imRobotGuess = "/assets/imRobotGuess.06ae9855.svg";
+const refresh = "/assets/refresh.cddffc91.svg";
+const star = "/assets/star.0d13712b.png";
+const starLine = "/assets/starLine.f4211758.png";
+exports.AddIcon = AddIcon;
+exports.C2C = C2C;
+exports.ForwardEachIcon = ForwardEachIcon;
+exports.ForwardMergeIcon = ForwardMergeIcon;
+exports.SearchDefaultIcon = SearchDefaultIcon;
+exports.addSVG = addSVG;
+exports.audioIcon = audioIcon$1;
+exports.audioIcon$1 = audioIcon;
+exports.backIcon = backIcon;
+exports.callVideoSVG = callVideoSVG;
+exports.callVoiceSVG = callVoiceSVG;
+exports.cameraUniIcon = cameraUniIcon;
+exports.cancelIcon = cancelIcon;
+exports.checkIcon = checkIcon;
+exports.closeIcon = closeIcon$2;
+exports.closeIcon$1 = closeIcon$1;
+exports.closeIcon$2 = closeIcon;
+exports.convertText = convertText;
+exports.copyIcon = copyIcon;
+exports.createGroup = createGroup;
+exports.dLeftArrowIcon = dLeftArrowIcon;
+exports.dRightArrowIcon = dRightArrowIcon;
+exports.delIcon = delIcon$1;
+exports.delIcon$1 = delIcon;
+exports.doubleArrowIcon = doubleArrowIcon;
+exports.downSVG = downSVG;
+exports.editIcon = editIcon;
+exports.faceIcon = faceIcon;
+exports.faceIconDark = faceIconDark;
+exports.faceIconLight = faceIconLight;
+exports.files = files;
+exports.forwardIcon = forwardIcon;
+exports.iconRight = iconRight;
+exports.imRobotGuess = imRobotGuess;
+exports.imageIconDark = imageIconDark;
+exports.imageIconLight = imageIconLight;
+exports.imageUniIcon = imageUniIcon;
+exports.leftArrowIcon = leftArrowIcon;
+exports.loadingIcon = loadingIcon;
+exports.minusSVG = minusSVG;
+exports.moreIcon = moreIcon;
+exports.multipleSelectIcon = multipleSelectIcon;
+exports.muteIcon = muteIcon;
+exports.playIcon = playIcon;
+exports.plusSVG = plusSVG;
+exports.quoteIcon = quoteIcon;
+exports.radioIcon = radioIcon;
+exports.refresh = refresh;
+exports.revokeIcon = revokeIcon;
+exports.rightArrowIcon = rightArrowIcon;
+exports.rightIcon = rightIcon;
+exports.searchIcon = searchIcon;
+exports.selectedIcon = selectedIcon;
+exports.settingSVG = settingSVG;
+exports.star = star$1;
+exports.star$1 = star;
+exports.starLine = starLine;
+exports.translateIcon = translateIcon;
+exports.videoIconDark = videoIconDark;
+exports.videoIconLight = videoIconLight;
+exports.videoUniIcon = videoUniIcon;
+exports.wordsIconDark = wordsIconDark;
+exports.wordsIconLight = wordsIconLight;
+//# sourceMappingURL=../../.sourcemap/mp-weixin/common/assets.js.map
diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js
new file mode 100644
index 0000000..d05219e
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/common/vendor.js
@@ -0,0 +1,35137 @@
+"use strict";
+/**
+* @vue/shared v3.4.21
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/
+function makeMap(str, expectsLowerCase) {
+ const set2 = new Set(str.split(","));
+ return expectsLowerCase ? (val2) => set2.has(val2.toLowerCase()) : (val2) => set2.has(val2);
+}
+const EMPTY_OBJ$1 = Object.freeze({});
+const EMPTY_ARR = Object.freeze([]);
+const NOOP = () => {
+};
+const NO = () => false;
+const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter
+(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);
+const isModelListener = (key) => key.startsWith("onUpdate:");
+const extend = Object.assign;
+const remove = (arr, el) => {
+ const i3 = arr.indexOf(el);
+ if (i3 > -1) {
+ arr.splice(i3, 1);
+ }
+};
+const hasOwnProperty$2 = Object.prototype.hasOwnProperty;
+const hasOwn$2 = (val2, key) => hasOwnProperty$2.call(val2, key);
+const isArray$1 = Array.isArray;
+const isMap$1 = (val2) => toTypeString$1(val2) === "[object Map]";
+const isSet$1 = (val2) => toTypeString$1(val2) === "[object Set]";
+const isFunction$1 = (val2) => typeof val2 === "function";
+const isString = (val2) => typeof val2 === "string";
+const isSymbol = (val2) => typeof val2 === "symbol";
+const isObject$2 = (val2) => val2 !== null && typeof val2 === "object";
+const isPromise = (val2) => {
+ return (isObject$2(val2) || isFunction$1(val2)) && isFunction$1(val2.then) && isFunction$1(val2.catch);
+};
+const objectToString$1 = Object.prototype.toString;
+const toTypeString$1 = (value) => objectToString$1.call(value);
+const toRawType = (value) => {
+ return toTypeString$1(value).slice(8, -1);
+};
+const isPlainObject$2 = (val2) => toTypeString$1(val2) === "[object Object]";
+const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
+const isReservedProp = /* @__PURE__ */ makeMap(
+ // the leading comma is intentional so empty string "" is also included
+ ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
+);
+const isBuiltInDirective = /* @__PURE__ */ makeMap(
+ "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"
+);
+const cacheStringFunction = (fn) => {
+ const cache = /* @__PURE__ */ Object.create(null);
+ return (str) => {
+ const hit = cache[str];
+ return hit || (cache[str] = fn(str));
+ };
+};
+const camelizeRE = /-(\w)/g;
+const camelize = cacheStringFunction((str) => {
+ return str.replace(camelizeRE, (_2, c2) => c2 ? c2.toUpperCase() : "");
+});
+const hyphenateRE = /\B([A-Z])/g;
+const hyphenate = cacheStringFunction(
+ (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
+);
+const capitalize = cacheStringFunction((str) => {
+ return str.charAt(0).toUpperCase() + str.slice(1);
+});
+const toHandlerKey = cacheStringFunction((str) => {
+ const s3 = str ? `on${capitalize(str)}` : ``;
+ return s3;
+});
+const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
+const invokeArrayFns$1 = (fns, arg) => {
+ for (let i3 = 0; i3 < fns.length; i3++) {
+ fns[i3](arg);
+ }
+};
+const def$1 = (obj, key, value) => {
+ Object.defineProperty(obj, key, {
+ configurable: true,
+ enumerable: false,
+ value
+ });
+};
+const looseToNumber = (val2) => {
+ const n2 = parseFloat(val2);
+ return isNaN(n2) ? val2 : n2;
+};
+const toNumber = (val2) => {
+ const n2 = isString(val2) ? Number(val2) : NaN;
+ return isNaN(n2) ? val2 : n2;
+};
+function normalizeStyle(value) {
+ if (isArray$1(value)) {
+ const res = {};
+ for (let i3 = 0; i3 < value.length; i3++) {
+ const item = value[i3];
+ const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);
+ if (normalized) {
+ for (const key in normalized) {
+ res[key] = normalized[key];
+ }
+ }
+ }
+ return res;
+ } else if (isString(value) || isObject$2(value)) {
+ return value;
+ }
+}
+const listDelimiterRE = /;(?![^(]*\))/g;
+const propertyDelimiterRE = /:([^]+)/;
+const styleCommentRE = /\/\*[^]*?\*\//g;
+function parseStringStyle(cssText) {
+ const ret = {};
+ cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => {
+ if (item) {
+ const tmp = item.split(propertyDelimiterRE);
+ tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
+ }
+ });
+ return ret;
+}
+function normalizeClass(value) {
+ let res = "";
+ if (isString(value)) {
+ res = value;
+ } else if (isArray$1(value)) {
+ for (let i3 = 0; i3 < value.length; i3++) {
+ const normalized = normalizeClass(value[i3]);
+ if (normalized) {
+ res += normalized + " ";
+ }
+ }
+ } else if (isObject$2(value)) {
+ for (const name in value) {
+ if (value[name]) {
+ res += name + " ";
+ }
+ }
+ }
+ return res.trim();
+}
+function normalizeProps(props) {
+ if (!props)
+ return null;
+ let { class: klass, style } = props;
+ if (klass && !isString(klass)) {
+ props.class = normalizeClass(klass);
+ }
+ if (style) {
+ props.style = normalizeStyle(style);
+ }
+ return props;
+}
+const toDisplayString = (val2) => {
+ return isString(val2) ? val2 : val2 == null ? "" : isArray$1(val2) || isObject$2(val2) && (val2.toString === objectToString$1 || !isFunction$1(val2.toString)) ? JSON.stringify(val2, replacer, 2) : String(val2);
+};
+const replacer = (_key, val2) => {
+ if (val2 && val2.__v_isRef) {
+ return replacer(_key, val2.value);
+ } else if (isMap$1(val2)) {
+ return {
+ [`Map(${val2.size})`]: [...val2.entries()].reduce(
+ (entries, [key, val22], i3) => {
+ entries[stringifySymbol(key, i3) + " =>"] = val22;
+ return entries;
+ },
+ {}
+ )
+ };
+ } else if (isSet$1(val2)) {
+ return {
+ [`Set(${val2.size})`]: [...val2.values()].map((v3) => stringifySymbol(v3))
+ };
+ } else if (isSymbol(val2)) {
+ return stringifySymbol(val2);
+ } else if (isObject$2(val2) && !isArray$1(val2) && !isPlainObject$2(val2)) {
+ return String(val2);
+ }
+ return val2;
+};
+const stringifySymbol = (v3, i3 = "") => {
+ var _a;
+ return isSymbol(v3) ? `Symbol(${(_a = v3.description) != null ? _a : i3})` : v3;
+};
+const isObject$1 = (val2) => val2 !== null && typeof val2 === "object";
+const defaultDelimiters = ["{", "}"];
+class BaseFormatter {
+ constructor() {
+ this._caches = /* @__PURE__ */ Object.create(null);
+ }
+ interpolate(message, values, delimiters = defaultDelimiters) {
+ if (!values) {
+ return [message];
+ }
+ let tokens = this._caches[message];
+ if (!tokens) {
+ tokens = parse(message, delimiters);
+ this._caches[message] = tokens;
+ }
+ return compile$1(tokens, values);
+ }
+}
+const RE_TOKEN_LIST_VALUE = /^(?:\d)+/;
+const RE_TOKEN_NAMED_VALUE = /^(?:\w)+/;
+function parse(format, [startDelimiter, endDelimiter]) {
+ const tokens = [];
+ let position = 0;
+ let text = "";
+ while (position < format.length) {
+ let char = format[position++];
+ if (char === startDelimiter) {
+ if (text) {
+ tokens.push({ type: "text", value: text });
+ }
+ text = "";
+ let sub = "";
+ char = format[position++];
+ while (char !== void 0 && char !== endDelimiter) {
+ sub += char;
+ char = format[position++];
+ }
+ const isClosed = char === endDelimiter;
+ const type = RE_TOKEN_LIST_VALUE.test(sub) ? "list" : isClosed && RE_TOKEN_NAMED_VALUE.test(sub) ? "named" : "unknown";
+ tokens.push({ value: sub, type });
+ } else {
+ text += char;
+ }
+ }
+ text && tokens.push({ type: "text", value: text });
+ return tokens;
+}
+function compile$1(tokens, values) {
+ const compiled = [];
+ let index2 = 0;
+ const mode = Array.isArray(values) ? "list" : isObject$1(values) ? "named" : "unknown";
+ if (mode === "unknown") {
+ return compiled;
+ }
+ while (index2 < tokens.length) {
+ const token = tokens[index2];
+ switch (token.type) {
+ case "text":
+ compiled.push(token.value);
+ break;
+ case "list":
+ compiled.push(values[parseInt(token.value, 10)]);
+ break;
+ case "named":
+ if (mode === "named") {
+ compiled.push(values[token.value]);
+ } else {
+ {
+ console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);
+ }
+ }
+ break;
+ case "unknown":
+ {
+ console.warn(`Detect 'unknown' type of token!`);
+ }
+ break;
+ }
+ index2++;
+ }
+ return compiled;
+}
+const LOCALE_ZH_HANS = "zh-Hans";
+const LOCALE_ZH_HANT = "zh-Hant";
+const LOCALE_EN = "en";
+const LOCALE_FR = "fr";
+const LOCALE_ES = "es";
+const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
+const hasOwn$1 = (val2, key) => hasOwnProperty$1.call(val2, key);
+const defaultFormatter = new BaseFormatter();
+function include(str, parts) {
+ return !!parts.find((part) => str.indexOf(part) !== -1);
+}
+function startsWith(str, parts) {
+ return parts.find((part) => str.indexOf(part) === 0);
+}
+function normalizeLocale(locale, messages) {
+ if (!locale) {
+ return;
+ }
+ locale = locale.trim().replace(/_/g, "-");
+ if (messages && messages[locale]) {
+ return locale;
+ }
+ locale = locale.toLowerCase();
+ if (locale === "chinese") {
+ return LOCALE_ZH_HANS;
+ }
+ if (locale.indexOf("zh") === 0) {
+ if (locale.indexOf("-hans") > -1) {
+ return LOCALE_ZH_HANS;
+ }
+ if (locale.indexOf("-hant") > -1) {
+ return LOCALE_ZH_HANT;
+ }
+ if (include(locale, ["-tw", "-hk", "-mo", "-cht"])) {
+ return LOCALE_ZH_HANT;
+ }
+ return LOCALE_ZH_HANS;
+ }
+ let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];
+ if (messages && Object.keys(messages).length > 0) {
+ locales = Object.keys(messages);
+ }
+ const lang = startsWith(locale, locales);
+ if (lang) {
+ return lang;
+ }
+}
+class I18n {
+ constructor({ locale, fallbackLocale, messages, watcher, formater: formater2 }) {
+ this.locale = LOCALE_EN;
+ this.fallbackLocale = LOCALE_EN;
+ this.message = {};
+ this.messages = {};
+ this.watchers = [];
+ if (fallbackLocale) {
+ this.fallbackLocale = fallbackLocale;
+ }
+ this.formater = formater2 || defaultFormatter;
+ this.messages = messages || {};
+ this.setLocale(locale || LOCALE_EN);
+ if (watcher) {
+ this.watchLocale(watcher);
+ }
+ }
+ setLocale(locale) {
+ const oldLocale = this.locale;
+ this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;
+ if (!this.messages[this.locale]) {
+ this.messages[this.locale] = {};
+ }
+ this.message = this.messages[this.locale];
+ if (oldLocale !== this.locale) {
+ this.watchers.forEach((watcher) => {
+ watcher(this.locale, oldLocale);
+ });
+ }
+ }
+ getLocale() {
+ return this.locale;
+ }
+ watchLocale(fn) {
+ const index2 = this.watchers.push(fn) - 1;
+ return () => {
+ this.watchers.splice(index2, 1);
+ };
+ }
+ add(locale, message, override = true) {
+ const curMessages = this.messages[locale];
+ if (curMessages) {
+ if (override) {
+ Object.assign(curMessages, message);
+ } else {
+ Object.keys(message).forEach((key) => {
+ if (!hasOwn$1(curMessages, key)) {
+ curMessages[key] = message[key];
+ }
+ });
+ }
+ } else {
+ this.messages[locale] = message;
+ }
+ }
+ f(message, values, delimiters) {
+ return this.formater.interpolate(message, values, delimiters).join("");
+ }
+ t(key, locale, values) {
+ let message = this.message;
+ if (typeof locale === "string") {
+ locale = normalizeLocale(locale, this.messages);
+ locale && (message = this.messages[locale]);
+ } else {
+ values = locale;
+ }
+ if (!hasOwn$1(message, key)) {
+ console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);
+ return key;
+ }
+ return this.formater.interpolate(message[key], values).join("");
+ }
+}
+function watchAppLocale(appVm, i18n) {
+ if (appVm.$watchLocale) {
+ appVm.$watchLocale((newLocale) => {
+ i18n.setLocale(newLocale);
+ });
+ } else {
+ appVm.$watch(() => appVm.$locale, (newLocale) => {
+ i18n.setLocale(newLocale);
+ });
+ }
+}
+function getDefaultLocale() {
+ if (typeof index !== "undefined" && index.getLocale) {
+ return index.getLocale();
+ }
+ if (typeof global !== "undefined" && global.getLocale) {
+ return global.getLocale();
+ }
+ return LOCALE_EN;
+}
+function initVueI18n(locale, messages = {}, fallbackLocale, watcher) {
+ if (typeof locale !== "string") {
+ const options = [
+ messages,
+ locale
+ ];
+ locale = options[0];
+ messages = options[1];
+ }
+ if (typeof locale !== "string") {
+ locale = getDefaultLocale();
+ }
+ if (typeof fallbackLocale !== "string") {
+ fallbackLocale = typeof __uniConfig !== "undefined" && __uniConfig.fallbackLocale || LOCALE_EN;
+ }
+ const i18n = new I18n({
+ locale,
+ fallbackLocale,
+ messages,
+ watcher
+ });
+ let t2 = (key, values) => {
+ if (typeof getApp !== "function") {
+ t2 = function(key2, values2) {
+ return i18n.t(key2, values2);
+ };
+ } else {
+ let isWatchedAppLocale = false;
+ t2 = function(key2, values2) {
+ const appVm = getApp().$vm;
+ if (appVm) {
+ appVm.$locale;
+ if (!isWatchedAppLocale) {
+ isWatchedAppLocale = true;
+ watchAppLocale(appVm, i18n);
+ }
+ }
+ return i18n.t(key2, values2);
+ };
+ }
+ return t2(key, values);
+ };
+ return {
+ i18n,
+ f(message, values, delimiters) {
+ return i18n.f(message, values, delimiters);
+ },
+ t(key, values) {
+ return t2(key, values);
+ },
+ add(locale2, message, override = true) {
+ return i18n.add(locale2, message, override);
+ },
+ watch(fn) {
+ return i18n.watchLocale(fn);
+ },
+ getLocale() {
+ return i18n.getLocale();
+ },
+ setLocale(newLocale) {
+ return i18n.setLocale(newLocale);
+ }
+ };
+}
+const SLOT_DEFAULT_NAME = "d";
+const ON_SHOW = "onShow";
+const ON_HIDE = "onHide";
+const ON_LAUNCH = "onLaunch";
+const ON_ERROR = "onError";
+const ON_THEME_CHANGE = "onThemeChange";
+const ON_PAGE_NOT_FOUND = "onPageNotFound";
+const ON_UNHANDLE_REJECTION = "onUnhandledRejection";
+const ON_EXIT = "onExit";
+const ON_LOAD = "onLoad";
+const ON_READY = "onReady";
+const ON_UNLOAD = "onUnload";
+const ON_INIT = "onInit";
+const ON_SAVE_EXIT_STATE = "onSaveExitState";
+const ON_RESIZE = "onResize";
+const ON_BACK_PRESS = "onBackPress";
+const ON_PAGE_SCROLL = "onPageScroll";
+const ON_TAB_ITEM_TAP = "onTabItemTap";
+const ON_REACH_BOTTOM = "onReachBottom";
+const ON_PULL_DOWN_REFRESH = "onPullDownRefresh";
+const ON_SHARE_TIMELINE = "onShareTimeline";
+const ON_SHARE_CHAT = "onShareChat";
+const ON_ADD_TO_FAVORITES = "onAddToFavorites";
+const ON_SHARE_APP_MESSAGE = "onShareAppMessage";
+const ON_NAVIGATION_BAR_BUTTON_TAP = "onNavigationBarButtonTap";
+const ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = "onNavigationBarSearchInputClicked";
+const ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = "onNavigationBarSearchInputChanged";
+const ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = "onNavigationBarSearchInputConfirmed";
+const ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = "onNavigationBarSearchInputFocusChanged";
+const VIRTUAL_HOST_STYLE = "virtualHostStyle";
+const VIRTUAL_HOST_CLASS = "virtualHostClass";
+const VIRTUAL_HOST_HIDDEN = "virtualHostHidden";
+const VIRTUAL_HOST_ID = "virtualHostId";
+function hasLeadingSlash(str) {
+ return str.indexOf("/") === 0;
+}
+function addLeadingSlash(str) {
+ return hasLeadingSlash(str) ? str : "/" + str;
+}
+const invokeArrayFns = (fns, arg) => {
+ let ret;
+ for (let i3 = 0; i3 < fns.length; i3++) {
+ ret = fns[i3](arg);
+ }
+ return ret;
+};
+function once(fn, ctx = null) {
+ let res;
+ return (...args) => {
+ if (fn) {
+ res = fn.apply(ctx, args);
+ fn = null;
+ }
+ return res;
+ };
+}
+function getValueByDataPath(obj, path) {
+ if (!isString(path)) {
+ return;
+ }
+ path = path.replace(/\[(\d+)\]/g, ".$1");
+ const parts = path.split(".");
+ let key = parts[0];
+ if (!obj) {
+ obj = {};
+ }
+ if (parts.length === 1) {
+ return obj[key];
+ }
+ return getValueByDataPath(obj[key], parts.slice(1).join("."));
+}
+function sortObject(obj) {
+ let sortObj = {};
+ if (isPlainObject$2(obj)) {
+ Object.keys(obj).sort().forEach((key) => {
+ const _key = key;
+ sortObj[_key] = obj[_key];
+ });
+ }
+ return !Object.keys(sortObj) ? obj : sortObj;
+}
+function dynamicSlotName(name) {
+ return name === "default" ? SLOT_DEFAULT_NAME : name;
+}
+const customizeRE = /:/g;
+function customizeEvent(str) {
+ return camelize(str.replace(customizeRE, "-"));
+}
+const encode = encodeURIComponent;
+function stringifyQuery(obj, encodeStr = encode) {
+ const res = obj ? Object.keys(obj).map((key) => {
+ let val2 = obj[key];
+ if (typeof val2 === void 0 || val2 === null) {
+ val2 = "";
+ } else if (isPlainObject$2(val2)) {
+ val2 = JSON.stringify(val2);
+ }
+ return encodeStr(key) + "=" + encodeStr(val2);
+ }).filter((x2) => x2.length > 0).join("&") : null;
+ return res ? `?${res}` : "";
+}
+const PAGE_HOOKS = [
+ ON_INIT,
+ ON_LOAD,
+ ON_SHOW,
+ ON_HIDE,
+ ON_UNLOAD,
+ ON_BACK_PRESS,
+ ON_PAGE_SCROLL,
+ ON_TAB_ITEM_TAP,
+ ON_REACH_BOTTOM,
+ ON_PULL_DOWN_REFRESH,
+ ON_SHARE_TIMELINE,
+ ON_SHARE_APP_MESSAGE,
+ ON_SHARE_CHAT,
+ ON_ADD_TO_FAVORITES,
+ ON_SAVE_EXIT_STATE,
+ ON_NAVIGATION_BAR_BUTTON_TAP,
+ ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,
+ ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,
+ ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,
+ ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED
+];
+function isRootHook(name) {
+ return PAGE_HOOKS.indexOf(name) > -1;
+}
+const UniLifecycleHooks = [
+ ON_SHOW,
+ ON_HIDE,
+ ON_LAUNCH,
+ ON_ERROR,
+ ON_THEME_CHANGE,
+ ON_PAGE_NOT_FOUND,
+ ON_UNHANDLE_REJECTION,
+ ON_EXIT,
+ ON_INIT,
+ ON_LOAD,
+ ON_READY,
+ ON_UNLOAD,
+ ON_RESIZE,
+ ON_BACK_PRESS,
+ ON_PAGE_SCROLL,
+ ON_TAB_ITEM_TAP,
+ ON_REACH_BOTTOM,
+ ON_PULL_DOWN_REFRESH,
+ ON_SHARE_TIMELINE,
+ ON_ADD_TO_FAVORITES,
+ ON_SHARE_APP_MESSAGE,
+ ON_SHARE_CHAT,
+ ON_SAVE_EXIT_STATE,
+ ON_NAVIGATION_BAR_BUTTON_TAP,
+ ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,
+ ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,
+ ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,
+ ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED
+];
+const MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /* @__PURE__ */ (() => {
+ return {
+ onPageScroll: 1,
+ onShareAppMessage: 1 << 1,
+ onShareTimeline: 1 << 2
+ };
+})();
+function isUniLifecycleHook(name, value, checkType = true) {
+ if (checkType && !isFunction$1(value)) {
+ return false;
+ }
+ if (UniLifecycleHooks.indexOf(name) > -1) {
+ return true;
+ } else if (name.indexOf("on") === 0) {
+ return true;
+ }
+ return false;
+}
+let vueApp;
+const createVueAppHooks = [];
+function onCreateVueApp(hook) {
+ if (vueApp) {
+ return hook(vueApp);
+ }
+ createVueAppHooks.push(hook);
+}
+function invokeCreateVueAppHook(app) {
+ vueApp = app;
+ createVueAppHooks.forEach((hook) => hook(app));
+}
+const invokeCreateErrorHandler = once((app, createErrorHandler2) => {
+ return createErrorHandler2(app);
+});
+const E$3 = function() {
+};
+E$3.prototype = {
+ _id: 1,
+ on: function(name, callback, ctx) {
+ var e2 = this.e || (this.e = {});
+ (e2[name] || (e2[name] = [])).push({
+ fn: callback,
+ ctx,
+ _id: this._id
+ });
+ return this._id++;
+ },
+ once: function(name, callback, ctx) {
+ var self2 = this;
+ function listener() {
+ self2.off(name, listener);
+ callback.apply(ctx, arguments);
+ }
+ listener._ = callback;
+ return this.on(name, listener, ctx);
+ },
+ emit: function(name) {
+ var data = [].slice.call(arguments, 1);
+ var evtArr = ((this.e || (this.e = {}))[name] || []).slice();
+ var i3 = 0;
+ var len = evtArr.length;
+ for (i3; i3 < len; i3++) {
+ evtArr[i3].fn.apply(evtArr[i3].ctx, data);
+ }
+ return this;
+ },
+ off: function(name, event) {
+ var e2 = this.e || (this.e = {});
+ var evts = e2[name];
+ var liveEvents = [];
+ if (evts && event) {
+ for (var i3 = evts.length - 1; i3 >= 0; i3--) {
+ if (evts[i3].fn === event || evts[i3].fn._ === event || evts[i3]._id === event) {
+ evts.splice(i3, 1);
+ break;
+ }
+ }
+ liveEvents = evts;
+ }
+ liveEvents.length ? e2[name] = liveEvents : delete e2[name];
+ return this;
+ }
+};
+var E$1$1 = E$3;
+/**
+* @dcloudio/uni-mp-vue v3.4.21
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/
+function warn$2(msg, ...args) {
+ console.warn(`[Vue warn] ${msg}`, ...args);
+}
+let activeEffectScope$1;
+let EffectScope$1 = class EffectScope {
+ constructor(detached = false) {
+ this.detached = detached;
+ this._active = true;
+ this.effects = [];
+ this.cleanups = [];
+ this.parent = activeEffectScope$1;
+ if (!detached && activeEffectScope$1) {
+ this.index = (activeEffectScope$1.scopes || (activeEffectScope$1.scopes = [])).push(
+ this
+ ) - 1;
+ }
+ }
+ get active() {
+ return this._active;
+ }
+ run(fn) {
+ if (this._active) {
+ const currentEffectScope = activeEffectScope$1;
+ try {
+ activeEffectScope$1 = this;
+ return fn();
+ } finally {
+ activeEffectScope$1 = currentEffectScope;
+ }
+ } else {
+ warn$2(`cannot run an inactive effect scope.`);
+ }
+ }
+ /**
+ * This should only be called on non-detached scopes
+ * @internal
+ */
+ on() {
+ activeEffectScope$1 = this;
+ }
+ /**
+ * This should only be called on non-detached scopes
+ * @internal
+ */
+ off() {
+ activeEffectScope$1 = this.parent;
+ }
+ stop(fromParent) {
+ if (this._active) {
+ let i3, l2;
+ for (i3 = 0, l2 = this.effects.length; i3 < l2; i3++) {
+ this.effects[i3].stop();
+ }
+ for (i3 = 0, l2 = this.cleanups.length; i3 < l2; i3++) {
+ this.cleanups[i3]();
+ }
+ if (this.scopes) {
+ for (i3 = 0, l2 = this.scopes.length; i3 < l2; i3++) {
+ this.scopes[i3].stop(true);
+ }
+ }
+ if (!this.detached && this.parent && !fromParent) {
+ const last = this.parent.scopes.pop();
+ if (last && last !== this) {
+ this.parent.scopes[this.index] = last;
+ last.index = this.index;
+ }
+ }
+ this.parent = void 0;
+ this._active = false;
+ }
+ }
+};
+function effectScope$1(detached) {
+ return new EffectScope$1(detached);
+}
+function recordEffectScope$1(effect2, scope = activeEffectScope$1) {
+ if (scope && scope.active) {
+ scope.effects.push(effect2);
+ }
+}
+function getCurrentScope$1() {
+ return activeEffectScope$1;
+}
+function onScopeDispose$1(fn) {
+ if (activeEffectScope$1) {
+ activeEffectScope$1.cleanups.push(fn);
+ } else {
+ warn$2(
+ `onScopeDispose() is called when there is no active effect scope to be associated with.`
+ );
+ }
+}
+let activeEffect;
+class ReactiveEffect {
+ constructor(fn, trigger2, scheduler, scope) {
+ this.fn = fn;
+ this.trigger = trigger2;
+ this.scheduler = scheduler;
+ this.active = true;
+ this.deps = [];
+ this._dirtyLevel = 4;
+ this._trackId = 0;
+ this._runnings = 0;
+ this._shouldSchedule = false;
+ this._depsLength = 0;
+ recordEffectScope$1(this, scope);
+ }
+ get dirty() {
+ if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {
+ this._dirtyLevel = 1;
+ pauseTracking();
+ for (let i3 = 0; i3 < this._depsLength; i3++) {
+ const dep = this.deps[i3];
+ if (dep.computed) {
+ triggerComputed(dep.computed);
+ if (this._dirtyLevel >= 4) {
+ break;
+ }
+ }
+ }
+ if (this._dirtyLevel === 1) {
+ this._dirtyLevel = 0;
+ }
+ resetTracking();
+ }
+ return this._dirtyLevel >= 4;
+ }
+ set dirty(v3) {
+ this._dirtyLevel = v3 ? 4 : 0;
+ }
+ run() {
+ this._dirtyLevel = 0;
+ if (!this.active) {
+ return this.fn();
+ }
+ let lastShouldTrack = shouldTrack;
+ let lastEffect = activeEffect;
+ try {
+ shouldTrack = true;
+ activeEffect = this;
+ this._runnings++;
+ preCleanupEffect(this);
+ return this.fn();
+ } finally {
+ postCleanupEffect(this);
+ this._runnings--;
+ activeEffect = lastEffect;
+ shouldTrack = lastShouldTrack;
+ }
+ }
+ stop() {
+ var _a;
+ if (this.active) {
+ preCleanupEffect(this);
+ postCleanupEffect(this);
+ (_a = this.onStop) == null ? void 0 : _a.call(this);
+ this.active = false;
+ }
+ }
+}
+function triggerComputed(computed2) {
+ return computed2.value;
+}
+function preCleanupEffect(effect2) {
+ effect2._trackId++;
+ effect2._depsLength = 0;
+}
+function postCleanupEffect(effect2) {
+ if (effect2.deps.length > effect2._depsLength) {
+ for (let i3 = effect2._depsLength; i3 < effect2.deps.length; i3++) {
+ cleanupDepEffect(effect2.deps[i3], effect2);
+ }
+ effect2.deps.length = effect2._depsLength;
+ }
+}
+function cleanupDepEffect(dep, effect2) {
+ const trackId = dep.get(effect2);
+ if (trackId !== void 0 && effect2._trackId !== trackId) {
+ dep.delete(effect2);
+ if (dep.size === 0) {
+ dep.cleanup();
+ }
+ }
+}
+function effect(fn, options) {
+ if (fn.effect instanceof ReactiveEffect) {
+ fn = fn.effect.fn;
+ }
+ const _effect = new ReactiveEffect(fn, NOOP, () => {
+ if (_effect.dirty) {
+ _effect.run();
+ }
+ });
+ if (options) {
+ extend(_effect, options);
+ if (options.scope)
+ recordEffectScope$1(_effect, options.scope);
+ }
+ if (!options || !options.lazy) {
+ _effect.run();
+ }
+ const runner = _effect.run.bind(_effect);
+ runner.effect = _effect;
+ return runner;
+}
+function stop(runner) {
+ runner.effect.stop();
+}
+let shouldTrack = true;
+let pauseScheduleStack = 0;
+const trackStack = [];
+function pauseTracking() {
+ trackStack.push(shouldTrack);
+ shouldTrack = false;
+}
+function resetTracking() {
+ const last = trackStack.pop();
+ shouldTrack = last === void 0 ? true : last;
+}
+function pauseScheduling() {
+ pauseScheduleStack++;
+}
+function resetScheduling() {
+ pauseScheduleStack--;
+ while (!pauseScheduleStack && queueEffectSchedulers.length) {
+ queueEffectSchedulers.shift()();
+ }
+}
+function trackEffect(effect2, dep, debuggerEventExtraInfo) {
+ var _a;
+ if (dep.get(effect2) !== effect2._trackId) {
+ dep.set(effect2, effect2._trackId);
+ const oldDep = effect2.deps[effect2._depsLength];
+ if (oldDep !== dep) {
+ if (oldDep) {
+ cleanupDepEffect(oldDep, effect2);
+ }
+ effect2.deps[effect2._depsLength++] = dep;
+ } else {
+ effect2._depsLength++;
+ }
+ {
+ (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));
+ }
+ }
+}
+const queueEffectSchedulers = [];
+function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
+ var _a;
+ pauseScheduling();
+ for (const effect2 of dep.keys()) {
+ let tracking;
+ if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
+ effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
+ effect2._dirtyLevel = dirtyLevel;
+ }
+ if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
+ {
+ (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));
+ }
+ effect2.trigger();
+ if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {
+ effect2._shouldSchedule = false;
+ if (effect2.scheduler) {
+ queueEffectSchedulers.push(effect2.scheduler);
+ }
+ }
+ }
+ }
+ resetScheduling();
+}
+const createDep = (cleanup, computed2) => {
+ const dep = /* @__PURE__ */ new Map();
+ dep.cleanup = cleanup;
+ dep.computed = computed2;
+ return dep;
+};
+const targetMap = /* @__PURE__ */ new WeakMap();
+const ITERATE_KEY = Symbol("iterate");
+const MAP_KEY_ITERATE_KEY = Symbol("Map key iterate");
+function track(target, type, key) {
+ if (shouldTrack && activeEffect) {
+ let depsMap = targetMap.get(target);
+ if (!depsMap) {
+ targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
+ }
+ let dep = depsMap.get(key);
+ if (!dep) {
+ depsMap.set(key, dep = createDep(() => depsMap.delete(key)));
+ }
+ trackEffect(
+ activeEffect,
+ dep,
+ {
+ target,
+ type,
+ key
+ }
+ );
+ }
+}
+function trigger(target, type, key, newValue, oldValue, oldTarget) {
+ const depsMap = targetMap.get(target);
+ if (!depsMap) {
+ return;
+ }
+ let deps = [];
+ if (type === "clear") {
+ deps = [...depsMap.values()];
+ } else if (key === "length" && isArray$1(target)) {
+ const newLength = Number(newValue);
+ depsMap.forEach((dep, key2) => {
+ if (key2 === "length" || !isSymbol(key2) && key2 >= newLength) {
+ deps.push(dep);
+ }
+ });
+ } else {
+ if (key !== void 0) {
+ deps.push(depsMap.get(key));
+ }
+ switch (type) {
+ case "add":
+ if (!isArray$1(target)) {
+ deps.push(depsMap.get(ITERATE_KEY));
+ if (isMap$1(target)) {
+ deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
+ }
+ } else if (isIntegerKey(key)) {
+ deps.push(depsMap.get("length"));
+ }
+ break;
+ case "delete":
+ if (!isArray$1(target)) {
+ deps.push(depsMap.get(ITERATE_KEY));
+ if (isMap$1(target)) {
+ deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
+ }
+ }
+ break;
+ case "set":
+ if (isMap$1(target)) {
+ deps.push(depsMap.get(ITERATE_KEY));
+ }
+ break;
+ }
+ }
+ pauseScheduling();
+ for (const dep of deps) {
+ if (dep) {
+ triggerEffects(
+ dep,
+ 4,
+ {
+ target,
+ type,
+ key,
+ newValue,
+ oldValue,
+ oldTarget
+ }
+ );
+ }
+ }
+ resetScheduling();
+}
+function getDepFromReactive(object, key) {
+ var _a;
+ return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
+}
+const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
+const builtInSymbols = new Set(
+ /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
+);
+const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
+function createArrayInstrumentations() {
+ const instrumentations = {};
+ ["includes", "indexOf", "lastIndexOf"].forEach((key) => {
+ instrumentations[key] = function(...args) {
+ const arr = toRaw$1(this);
+ for (let i3 = 0, l2 = this.length; i3 < l2; i3++) {
+ track(arr, "get", i3 + "");
+ }
+ const res = arr[key](...args);
+ if (res === -1 || res === false) {
+ return arr[key](...args.map(toRaw$1));
+ } else {
+ return res;
+ }
+ };
+ });
+ ["push", "pop", "shift", "unshift", "splice"].forEach((key) => {
+ instrumentations[key] = function(...args) {
+ pauseTracking();
+ pauseScheduling();
+ const res = toRaw$1(this)[key].apply(this, args);
+ resetScheduling();
+ resetTracking();
+ return res;
+ };
+ });
+ return instrumentations;
+}
+function hasOwnProperty(key) {
+ const obj = toRaw$1(this);
+ track(obj, "has", key);
+ return obj.hasOwnProperty(key);
+}
+class BaseReactiveHandler {
+ constructor(_isReadonly = false, _isShallow = false) {
+ this._isReadonly = _isReadonly;
+ this._isShallow = _isShallow;
+ }
+ get(target, key, receiver) {
+ const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;
+ if (key === "__v_isReactive") {
+ return !isReadonly2;
+ } else if (key === "__v_isReadonly") {
+ return isReadonly2;
+ } else if (key === "__v_isShallow") {
+ return isShallow2;
+ } else if (key === "__v_raw") {
+ if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
+ // this means the reciever is a user proxy of the reactive proxy
+ Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
+ return target;
+ }
+ return;
+ }
+ const targetIsArray = isArray$1(target);
+ if (!isReadonly2) {
+ if (targetIsArray && hasOwn$2(arrayInstrumentations, key)) {
+ return Reflect.get(arrayInstrumentations, key, receiver);
+ }
+ if (key === "hasOwnProperty") {
+ return hasOwnProperty;
+ }
+ }
+ const res = Reflect.get(target, key, receiver);
+ if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
+ return res;
+ }
+ if (!isReadonly2) {
+ track(target, "get", key);
+ }
+ if (isShallow2) {
+ return res;
+ }
+ if (isRef$1(res)) {
+ return targetIsArray && isIntegerKey(key) ? res : res.value;
+ }
+ if (isObject$2(res)) {
+ return isReadonly2 ? readonly$1(res) : reactive$1(res);
+ }
+ return res;
+ }
+}
+class MutableReactiveHandler extends BaseReactiveHandler {
+ constructor(isShallow2 = false) {
+ super(false, isShallow2);
+ }
+ set(target, key, value, receiver) {
+ let oldValue = target[key];
+ if (!this._isShallow) {
+ const isOldValueReadonly = isReadonly$1(oldValue);
+ if (!isShallow(value) && !isReadonly$1(value)) {
+ oldValue = toRaw$1(oldValue);
+ value = toRaw$1(value);
+ }
+ if (!isArray$1(target) && isRef$1(oldValue) && !isRef$1(value)) {
+ if (isOldValueReadonly) {
+ return false;
+ } else {
+ oldValue.value = value;
+ return true;
+ }
+ }
+ }
+ const hadKey = isArray$1(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$2(target, key);
+ const result = Reflect.set(target, key, value, receiver);
+ if (target === toRaw$1(receiver)) {
+ if (!hadKey) {
+ trigger(target, "add", key, value);
+ } else if (hasChanged(value, oldValue)) {
+ trigger(target, "set", key, value, oldValue);
+ }
+ }
+ return result;
+ }
+ deleteProperty(target, key) {
+ const hadKey = hasOwn$2(target, key);
+ const oldValue = target[key];
+ const result = Reflect.deleteProperty(target, key);
+ if (result && hadKey) {
+ trigger(target, "delete", key, void 0, oldValue);
+ }
+ return result;
+ }
+ has(target, key) {
+ const result = Reflect.has(target, key);
+ if (!isSymbol(key) || !builtInSymbols.has(key)) {
+ track(target, "has", key);
+ }
+ return result;
+ }
+ ownKeys(target) {
+ track(
+ target,
+ "iterate",
+ isArray$1(target) ? "length" : ITERATE_KEY
+ );
+ return Reflect.ownKeys(target);
+ }
+}
+class ReadonlyReactiveHandler extends BaseReactiveHandler {
+ constructor(isShallow2 = false) {
+ super(true, isShallow2);
+ }
+ set(target, key) {
+ {
+ warn$2(
+ `Set operation on key "${String(key)}" failed: target is readonly.`,
+ target
+ );
+ }
+ return true;
+ }
+ deleteProperty(target, key) {
+ {
+ warn$2(
+ `Delete operation on key "${String(key)}" failed: target is readonly.`,
+ target
+ );
+ }
+ return true;
+ }
+}
+const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
+const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
+const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(
+ true
+);
+const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
+const toShallow = (value) => value;
+const getProto = (v3) => Reflect.getPrototypeOf(v3);
+function get$1(target, key, isReadonly2 = false, isShallow2 = false) {
+ target = target["__v_raw"];
+ const rawTarget = toRaw$1(target);
+ const rawKey = toRaw$1(key);
+ if (!isReadonly2) {
+ if (hasChanged(key, rawKey)) {
+ track(rawTarget, "get", key);
+ }
+ track(rawTarget, "get", rawKey);
+ }
+ const { has: has2 } = getProto(rawTarget);
+ const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
+ if (has2.call(rawTarget, key)) {
+ return wrap(target.get(key));
+ } else if (has2.call(rawTarget, rawKey)) {
+ return wrap(target.get(rawKey));
+ } else if (target !== rawTarget) {
+ target.get(key);
+ }
+}
+function has$1(key, isReadonly2 = false) {
+ const target = this["__v_raw"];
+ const rawTarget = toRaw$1(target);
+ const rawKey = toRaw$1(key);
+ if (!isReadonly2) {
+ if (hasChanged(key, rawKey)) {
+ track(rawTarget, "has", key);
+ }
+ track(rawTarget, "has", rawKey);
+ }
+ return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);
+}
+function size(target, isReadonly2 = false) {
+ target = target["__v_raw"];
+ !isReadonly2 && track(toRaw$1(target), "iterate", ITERATE_KEY);
+ return Reflect.get(target, "size", target);
+}
+function add(value) {
+ value = toRaw$1(value);
+ const target = toRaw$1(this);
+ const proto = getProto(target);
+ const hadKey = proto.has.call(target, value);
+ if (!hadKey) {
+ target.add(value);
+ trigger(target, "add", value, value);
+ }
+ return this;
+}
+function set$1$1(key, value) {
+ value = toRaw$1(value);
+ const target = toRaw$1(this);
+ const { has: has2, get: get2 } = getProto(target);
+ let hadKey = has2.call(target, key);
+ if (!hadKey) {
+ key = toRaw$1(key);
+ hadKey = has2.call(target, key);
+ } else {
+ checkIdentityKeys(target, has2, key);
+ }
+ const oldValue = get2.call(target, key);
+ target.set(key, value);
+ if (!hadKey) {
+ trigger(target, "add", key, value);
+ } else if (hasChanged(value, oldValue)) {
+ trigger(target, "set", key, value, oldValue);
+ }
+ return this;
+}
+function deleteEntry(key) {
+ const target = toRaw$1(this);
+ const { has: has2, get: get2 } = getProto(target);
+ let hadKey = has2.call(target, key);
+ if (!hadKey) {
+ key = toRaw$1(key);
+ hadKey = has2.call(target, key);
+ } else {
+ checkIdentityKeys(target, has2, key);
+ }
+ const oldValue = get2 ? get2.call(target, key) : void 0;
+ const result = target.delete(key);
+ if (hadKey) {
+ trigger(target, "delete", key, void 0, oldValue);
+ }
+ return result;
+}
+function clear() {
+ const target = toRaw$1(this);
+ const hadItems = target.size !== 0;
+ const oldTarget = isMap$1(target) ? new Map(target) : new Set(target);
+ const result = target.clear();
+ if (hadItems) {
+ trigger(target, "clear", void 0, void 0, oldTarget);
+ }
+ return result;
+}
+function createForEach(isReadonly2, isShallow2) {
+ return function forEach(callback, thisArg) {
+ const observed = this;
+ const target = observed["__v_raw"];
+ const rawTarget = toRaw$1(target);
+ const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
+ !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY);
+ return target.forEach((value, key) => {
+ return callback.call(thisArg, wrap(value), wrap(key), observed);
+ });
+ };
+}
+function createIterableMethod(method, isReadonly2, isShallow2) {
+ return function(...args) {
+ const target = this["__v_raw"];
+ const rawTarget = toRaw$1(target);
+ const targetIsMap = isMap$1(rawTarget);
+ const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
+ const isKeyOnly = method === "keys" && targetIsMap;
+ const innerIterator = target[method](...args);
+ const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
+ !isReadonly2 && track(
+ rawTarget,
+ "iterate",
+ isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY
+ );
+ return {
+ // iterator protocol
+ next() {
+ const { value, done } = innerIterator.next();
+ return done ? { value, done } : {
+ value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
+ done
+ };
+ },
+ // iterable protocol
+ [Symbol.iterator]() {
+ return this;
+ }
+ };
+ };
+}
+function createReadonlyMethod(type) {
+ return function(...args) {
+ {
+ const key = args[0] ? `on key "${args[0]}" ` : ``;
+ warn$2(
+ `${capitalize(type)} operation ${key}failed: target is readonly.`,
+ toRaw$1(this)
+ );
+ }
+ return type === "delete" ? false : type === "clear" ? void 0 : this;
+ };
+}
+function createInstrumentations() {
+ const mutableInstrumentations2 = {
+ get(key) {
+ return get$1(this, key);
+ },
+ get size() {
+ return size(this);
+ },
+ has: has$1,
+ add,
+ set: set$1$1,
+ delete: deleteEntry,
+ clear,
+ forEach: createForEach(false, false)
+ };
+ const shallowInstrumentations2 = {
+ get(key) {
+ return get$1(this, key, false, true);
+ },
+ get size() {
+ return size(this);
+ },
+ has: has$1,
+ add,
+ set: set$1$1,
+ delete: deleteEntry,
+ clear,
+ forEach: createForEach(false, true)
+ };
+ const readonlyInstrumentations2 = {
+ get(key) {
+ return get$1(this, key, true);
+ },
+ get size() {
+ return size(this, true);
+ },
+ has(key) {
+ return has$1.call(this, key, true);
+ },
+ add: createReadonlyMethod("add"),
+ set: createReadonlyMethod("set"),
+ delete: createReadonlyMethod("delete"),
+ clear: createReadonlyMethod("clear"),
+ forEach: createForEach(true, false)
+ };
+ const shallowReadonlyInstrumentations2 = {
+ get(key) {
+ return get$1(this, key, true, true);
+ },
+ get size() {
+ return size(this, true);
+ },
+ has(key) {
+ return has$1.call(this, key, true);
+ },
+ add: createReadonlyMethod("add"),
+ set: createReadonlyMethod("set"),
+ delete: createReadonlyMethod("delete"),
+ clear: createReadonlyMethod("clear"),
+ forEach: createForEach(true, true)
+ };
+ const iteratorMethods = [
+ "keys",
+ "values",
+ "entries",
+ Symbol.iterator
+ ];
+ iteratorMethods.forEach((method) => {
+ mutableInstrumentations2[method] = createIterableMethod(method, false, false);
+ readonlyInstrumentations2[method] = createIterableMethod(method, true, false);
+ shallowInstrumentations2[method] = createIterableMethod(method, false, true);
+ shallowReadonlyInstrumentations2[method] = createIterableMethod(
+ method,
+ true,
+ true
+ );
+ });
+ return [
+ mutableInstrumentations2,
+ readonlyInstrumentations2,
+ shallowInstrumentations2,
+ shallowReadonlyInstrumentations2
+ ];
+}
+const [
+ mutableInstrumentations,
+ readonlyInstrumentations,
+ shallowInstrumentations,
+ shallowReadonlyInstrumentations
+] = /* @__PURE__ */ createInstrumentations();
+function createInstrumentationGetter(isReadonly2, shallow) {
+ const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations;
+ return (target, key, receiver) => {
+ if (key === "__v_isReactive") {
+ return !isReadonly2;
+ } else if (key === "__v_isReadonly") {
+ return isReadonly2;
+ } else if (key === "__v_raw") {
+ return target;
+ }
+ return Reflect.get(
+ hasOwn$2(instrumentations, key) && key in target ? instrumentations : target,
+ key,
+ receiver
+ );
+ };
+}
+const mutableCollectionHandlers = {
+ get: /* @__PURE__ */ createInstrumentationGetter(false, false)
+};
+const shallowCollectionHandlers = {
+ get: /* @__PURE__ */ createInstrumentationGetter(false, true)
+};
+const readonlyCollectionHandlers = {
+ get: /* @__PURE__ */ createInstrumentationGetter(true, false)
+};
+const shallowReadonlyCollectionHandlers = {
+ get: /* @__PURE__ */ createInstrumentationGetter(true, true)
+};
+function checkIdentityKeys(target, has2, key) {
+ const rawKey = toRaw$1(key);
+ if (rawKey !== key && has2.call(target, rawKey)) {
+ const type = toRawType(target);
+ warn$2(
+ `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`
+ );
+ }
+}
+const reactiveMap = /* @__PURE__ */ new WeakMap();
+const shallowReactiveMap = /* @__PURE__ */ new WeakMap();
+const readonlyMap = /* @__PURE__ */ new WeakMap();
+const shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
+function targetTypeMap(rawType) {
+ switch (rawType) {
+ case "Object":
+ case "Array":
+ return 1;
+ case "Map":
+ case "Set":
+ case "WeakMap":
+ case "WeakSet":
+ return 2;
+ default:
+ return 0;
+ }
+}
+function getTargetType(value) {
+ return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value));
+}
+function reactive$1(target) {
+ if (isReadonly$1(target)) {
+ return target;
+ }
+ return createReactiveObject(
+ target,
+ false,
+ mutableHandlers,
+ mutableCollectionHandlers,
+ reactiveMap
+ );
+}
+function shallowReactive$1(target) {
+ return createReactiveObject(
+ target,
+ false,
+ shallowReactiveHandlers,
+ shallowCollectionHandlers,
+ shallowReactiveMap
+ );
+}
+function readonly$1(target) {
+ return createReactiveObject(
+ target,
+ true,
+ readonlyHandlers,
+ readonlyCollectionHandlers,
+ readonlyMap
+ );
+}
+function shallowReadonly$1(target) {
+ return createReactiveObject(
+ target,
+ true,
+ shallowReadonlyHandlers,
+ shallowReadonlyCollectionHandlers,
+ shallowReadonlyMap
+ );
+}
+function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
+ if (!isObject$2(target)) {
+ {
+ warn$2(`value cannot be made reactive: ${String(target)}`);
+ }
+ return target;
+ }
+ if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
+ return target;
+ }
+ const existingProxy = proxyMap.get(target);
+ if (existingProxy) {
+ return existingProxy;
+ }
+ const targetType = getTargetType(target);
+ if (targetType === 0) {
+ return target;
+ }
+ const proxy2 = new Proxy(
+ target,
+ targetType === 2 ? collectionHandlers : baseHandlers
+ );
+ proxyMap.set(target, proxy2);
+ return proxy2;
+}
+function isReactive$1(value) {
+ if (isReadonly$1(value)) {
+ return isReactive$1(value["__v_raw"]);
+ }
+ return !!(value && value["__v_isReactive"]);
+}
+function isReadonly$1(value) {
+ return !!(value && value["__v_isReadonly"]);
+}
+function isShallow(value) {
+ return !!(value && value["__v_isShallow"]);
+}
+function isProxy(value) {
+ return isReactive$1(value) || isReadonly$1(value);
+}
+function toRaw$1(observed) {
+ const raw = observed && observed["__v_raw"];
+ return raw ? toRaw$1(raw) : observed;
+}
+function markRaw$1(value) {
+ if (Object.isExtensible(value)) {
+ def$1(value, "__v_skip", true);
+ }
+ return value;
+}
+const toReactive = (value) => isObject$2(value) ? reactive$1(value) : value;
+const toReadonly = (value) => isObject$2(value) ? readonly$1(value) : value;
+const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;
+class ComputedRefImpl {
+ constructor(getter, _setter, isReadonly2, isSSR) {
+ this.getter = getter;
+ this._setter = _setter;
+ this.dep = void 0;
+ this.__v_isRef = true;
+ this["__v_isReadonly"] = false;
+ this.effect = new ReactiveEffect(
+ () => getter(this._value),
+ () => triggerRefValue(
+ this,
+ this.effect._dirtyLevel === 2 ? 2 : 3
+ )
+ );
+ this.effect.computed = this;
+ this.effect.active = this._cacheable = !isSSR;
+ this["__v_isReadonly"] = isReadonly2;
+ }
+ get value() {
+ const self2 = toRaw$1(this);
+ if ((!self2._cacheable || self2.effect.dirty) && hasChanged(self2._value, self2._value = self2.effect.run())) {
+ triggerRefValue(self2, 4);
+ }
+ trackRefValue(self2);
+ if (self2.effect._dirtyLevel >= 2) {
+ if (this._warnRecursive) {
+ warn$2(COMPUTED_SIDE_EFFECT_WARN, `
+
+getter: `, this.getter);
+ }
+ triggerRefValue(self2, 2);
+ }
+ return self2._value;
+ }
+ set value(newValue) {
+ this._setter(newValue);
+ }
+ // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x
+ get _dirty() {
+ return this.effect.dirty;
+ }
+ set _dirty(v3) {
+ this.effect.dirty = v3;
+ }
+ // #endregion
+}
+function computed$1(getterOrOptions, debugOptions, isSSR = false) {
+ let getter;
+ let setter;
+ const onlyGetter = isFunction$1(getterOrOptions);
+ if (onlyGetter) {
+ getter = getterOrOptions;
+ setter = () => {
+ warn$2("Write operation failed: computed value is readonly");
+ };
+ } else {
+ getter = getterOrOptions.get;
+ setter = getterOrOptions.set;
+ }
+ const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
+ if (debugOptions && !isSSR) {
+ cRef.effect.onTrack = debugOptions.onTrack;
+ cRef.effect.onTrigger = debugOptions.onTrigger;
+ }
+ return cRef;
+}
+function trackRefValue(ref2) {
+ var _a;
+ if (shouldTrack && activeEffect) {
+ ref2 = toRaw$1(ref2);
+ trackEffect(
+ activeEffect,
+ (_a = ref2.dep) != null ? _a : ref2.dep = createDep(
+ () => ref2.dep = void 0,
+ ref2 instanceof ComputedRefImpl ? ref2 : void 0
+ ),
+ {
+ target: ref2,
+ type: "get",
+ key: "value"
+ }
+ );
+ }
+}
+function triggerRefValue(ref2, dirtyLevel = 4, newVal) {
+ ref2 = toRaw$1(ref2);
+ const dep = ref2.dep;
+ if (dep) {
+ triggerEffects(
+ dep,
+ dirtyLevel,
+ {
+ target: ref2,
+ type: "set",
+ key: "value",
+ newValue: newVal
+ }
+ );
+ }
+}
+function isRef$1(r22) {
+ return !!(r22 && r22.__v_isRef === true);
+}
+function ref$1(value) {
+ return createRef$1(value, false);
+}
+function shallowRef$1(value) {
+ return createRef$1(value, true);
+}
+function createRef$1(rawValue, shallow) {
+ if (isRef$1(rawValue)) {
+ return rawValue;
+ }
+ return new RefImpl$1(rawValue, shallow);
+}
+let RefImpl$1 = class RefImpl {
+ constructor(value, __v_isShallow) {
+ this.__v_isShallow = __v_isShallow;
+ this.dep = void 0;
+ this.__v_isRef = true;
+ this._rawValue = __v_isShallow ? value : toRaw$1(value);
+ this._value = __v_isShallow ? value : toReactive(value);
+ }
+ get value() {
+ trackRefValue(this);
+ return this._value;
+ }
+ set value(newVal) {
+ const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly$1(newVal);
+ newVal = useDirectValue ? newVal : toRaw$1(newVal);
+ if (hasChanged(newVal, this._rawValue)) {
+ this._rawValue = newVal;
+ this._value = useDirectValue ? newVal : toReactive(newVal);
+ triggerRefValue(this, 4, newVal);
+ }
+ }
+};
+function triggerRef$1(ref2) {
+ triggerRefValue(ref2, 4, ref2.value);
+}
+function unref$1(ref2) {
+ return isRef$1(ref2) ? ref2.value : ref2;
+}
+function toValue(source) {
+ return isFunction$1(source) ? source() : unref$1(source);
+}
+const shallowUnwrapHandlers = {
+ get: (target, key, receiver) => unref$1(Reflect.get(target, key, receiver)),
+ set: (target, key, value, receiver) => {
+ const oldValue = target[key];
+ if (isRef$1(oldValue) && !isRef$1(value)) {
+ oldValue.value = value;
+ return true;
+ } else {
+ return Reflect.set(target, key, value, receiver);
+ }
+ }
+};
+function proxyRefs$1(objectWithRefs) {
+ return isReactive$1(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);
+}
+class CustomRefImpl {
+ constructor(factory) {
+ this.dep = void 0;
+ this.__v_isRef = true;
+ const { get: get2, set: set2 } = factory(
+ () => trackRefValue(this),
+ () => triggerRefValue(this)
+ );
+ this._get = get2;
+ this._set = set2;
+ }
+ get value() {
+ return this._get();
+ }
+ set value(newVal) {
+ this._set(newVal);
+ }
+}
+function customRef$1(factory) {
+ return new CustomRefImpl(factory);
+}
+function toRefs$1(object) {
+ if (!isProxy(object)) {
+ warn$2(`toRefs() expects a reactive object but received a plain one.`);
+ }
+ const ret = isArray$1(object) ? new Array(object.length) : {};
+ for (const key in object) {
+ ret[key] = propertyToRef(object, key);
+ }
+ return ret;
+}
+class ObjectRefImpl {
+ constructor(_object, _key, _defaultValue) {
+ this._object = _object;
+ this._key = _key;
+ this._defaultValue = _defaultValue;
+ this.__v_isRef = true;
+ }
+ get value() {
+ const val2 = this._object[this._key];
+ return val2 === void 0 ? this._defaultValue : val2;
+ }
+ set value(newVal) {
+ this._object[this._key] = newVal;
+ }
+ get dep() {
+ return getDepFromReactive(toRaw$1(this._object), this._key);
+ }
+}
+class GetterRefImpl {
+ constructor(_getter) {
+ this._getter = _getter;
+ this.__v_isRef = true;
+ this.__v_isReadonly = true;
+ }
+ get value() {
+ return this._getter();
+ }
+}
+function toRef$1(source, key, defaultValue) {
+ if (isRef$1(source)) {
+ return source;
+ } else if (isFunction$1(source)) {
+ return new GetterRefImpl(source);
+ } else if (isObject$2(source) && arguments.length > 1) {
+ return propertyToRef(source, key, defaultValue);
+ } else {
+ return ref$1(source);
+ }
+}
+function propertyToRef(source, key, defaultValue) {
+ const val2 = source[key];
+ return isRef$1(val2) ? val2 : new ObjectRefImpl(source, key, defaultValue);
+}
+const stack = [];
+function pushWarningContext(vnode) {
+ stack.push(vnode);
+}
+function popWarningContext() {
+ stack.pop();
+}
+function warn$1$1(msg, ...args) {
+ pauseTracking();
+ const instance = stack.length ? stack[stack.length - 1].component : null;
+ const appWarnHandler = instance && instance.appContext.config.warnHandler;
+ const trace = getComponentTrace();
+ if (appWarnHandler) {
+ callWithErrorHandling(
+ appWarnHandler,
+ instance,
+ 11,
+ [
+ msg + args.map((a2) => {
+ var _a, _b;
+ return (_b = (_a = a2.toString) == null ? void 0 : _a.call(a2)) != null ? _b : JSON.stringify(a2);
+ }).join(""),
+ instance && instance.proxy,
+ trace.map(
+ ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`
+ ).join("\n"),
+ trace
+ ]
+ );
+ } else {
+ const warnArgs = [`[Vue warn]: ${msg}`, ...args];
+ if (trace.length && // avoid spamming console during tests
+ true) {
+ warnArgs.push(`
+`, ...formatTrace(trace));
+ }
+ console.warn(...warnArgs);
+ }
+ resetTracking();
+}
+function getComponentTrace() {
+ let currentVNode = stack[stack.length - 1];
+ if (!currentVNode) {
+ return [];
+ }
+ const normalizedStack = [];
+ while (currentVNode) {
+ const last = normalizedStack[0];
+ if (last && last.vnode === currentVNode) {
+ last.recurseCount++;
+ } else {
+ normalizedStack.push({
+ vnode: currentVNode,
+ recurseCount: 0
+ });
+ }
+ const parentInstance = currentVNode.component && currentVNode.component.parent;
+ currentVNode = parentInstance && parentInstance.vnode;
+ }
+ return normalizedStack;
+}
+function formatTrace(trace) {
+ const logs = [];
+ trace.forEach((entry, i3) => {
+ logs.push(...i3 === 0 ? [] : [`
+`], ...formatTraceEntry(entry));
+ });
+ return logs;
+}
+function formatTraceEntry({ vnode, recurseCount }) {
+ const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;
+ const isRoot = vnode.component ? vnode.component.parent == null : false;
+ const open = ` at <${formatComponentName(
+ vnode.component,
+ vnode.type,
+ isRoot
+ )}`;
+ const close = `>` + postfix;
+ return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];
+}
+function formatProps(props) {
+ const res = [];
+ const keys = Object.keys(props);
+ keys.slice(0, 3).forEach((key) => {
+ res.push(...formatProp(key, props[key]));
+ });
+ if (keys.length > 3) {
+ res.push(` ...`);
+ }
+ return res;
+}
+function formatProp(key, value, raw) {
+ if (isString(value)) {
+ value = JSON.stringify(value);
+ return raw ? value : [`${key}=${value}`];
+ } else if (typeof value === "number" || typeof value === "boolean" || value == null) {
+ return raw ? value : [`${key}=${value}`];
+ } else if (isRef$1(value)) {
+ value = formatProp(key, toRaw$1(value.value), true);
+ return raw ? value : [`${key}=Ref<`, value, `>`];
+ } else if (isFunction$1(value)) {
+ return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];
+ } else {
+ value = toRaw$1(value);
+ return raw ? value : [`${key}=`, value];
+ }
+}
+const ErrorTypeStrings = {
+ ["sp"]: "serverPrefetch hook",
+ ["bc"]: "beforeCreate hook",
+ ["c"]: "created hook",
+ ["bm"]: "beforeMount hook",
+ ["m"]: "mounted hook",
+ ["bu"]: "beforeUpdate hook",
+ ["u"]: "updated",
+ ["bum"]: "beforeUnmount hook",
+ ["um"]: "unmounted hook",
+ ["a"]: "activated hook",
+ ["da"]: "deactivated hook",
+ ["ec"]: "errorCaptured hook",
+ ["rtc"]: "renderTracked hook",
+ ["rtg"]: "renderTriggered hook",
+ [0]: "setup function",
+ [1]: "render function",
+ [2]: "watcher getter",
+ [3]: "watcher callback",
+ [4]: "watcher cleanup function",
+ [5]: "native event handler",
+ [6]: "component event handler",
+ [7]: "vnode hook",
+ [8]: "directive hook",
+ [9]: "transition hook",
+ [10]: "app errorHandler",
+ [11]: "app warnHandler",
+ [12]: "ref function",
+ [13]: "async component loader",
+ [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
+};
+function callWithErrorHandling(fn, instance, type, args) {
+ try {
+ return args ? fn(...args) : fn();
+ } catch (err) {
+ handleError(err, instance, type);
+ }
+}
+function callWithAsyncErrorHandling(fn, instance, type, args) {
+ if (isFunction$1(fn)) {
+ const res = callWithErrorHandling(fn, instance, type, args);
+ if (res && isPromise(res)) {
+ res.catch((err) => {
+ handleError(err, instance, type);
+ });
+ }
+ return res;
+ }
+ const values = [];
+ for (let i3 = 0; i3 < fn.length; i3++) {
+ values.push(callWithAsyncErrorHandling(fn[i3], instance, type, args));
+ }
+ return values;
+}
+function handleError(err, instance, type, throwInDev = true) {
+ const contextVNode = instance ? instance.vnode : null;
+ if (instance) {
+ let cur = instance.parent;
+ const exposedInstance = instance.proxy;
+ const errorInfo = ErrorTypeStrings[type] || type;
+ while (cur) {
+ const errorCapturedHooks = cur.ec;
+ if (errorCapturedHooks) {
+ for (let i3 = 0; i3 < errorCapturedHooks.length; i3++) {
+ if (errorCapturedHooks[i3](err, exposedInstance, errorInfo) === false) {
+ return;
+ }
+ }
+ }
+ cur = cur.parent;
+ }
+ const appErrorHandler = instance.appContext.config.errorHandler;
+ if (appErrorHandler) {
+ callWithErrorHandling(
+ appErrorHandler,
+ null,
+ 10,
+ [err, exposedInstance, errorInfo]
+ );
+ return;
+ }
+ }
+ logError$1(err, type, contextVNode, throwInDev);
+}
+function logError$1(err, type, contextVNode, throwInDev = true) {
+ {
+ const info = ErrorTypeStrings[type] || type;
+ if (contextVNode) {
+ pushWarningContext(contextVNode);
+ }
+ warn$1$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);
+ if (contextVNode) {
+ popWarningContext();
+ }
+ if (throwInDev) {
+ console.error(err);
+ } else {
+ console.error(err);
+ }
+ }
+}
+let isFlushing = false;
+let isFlushPending = false;
+const queue$1 = [];
+let flushIndex = 0;
+const pendingPostFlushCbs = [];
+let activePostFlushCbs = null;
+let postFlushIndex = 0;
+const resolvedPromise = /* @__PURE__ */ Promise.resolve();
+let currentFlushPromise = null;
+const RECURSION_LIMIT = 100;
+function nextTick$1(fn) {
+ const p22 = currentFlushPromise || resolvedPromise;
+ return fn ? p22.then(this ? fn.bind(this) : fn) : p22;
+}
+function findInsertionIndex(id) {
+ let start = flushIndex + 1;
+ let end = queue$1.length;
+ while (start < end) {
+ const middle = start + end >>> 1;
+ const middleJob = queue$1[middle];
+ const middleJobId = getId(middleJob);
+ if (middleJobId < id || middleJobId === id && middleJob.pre) {
+ start = middle + 1;
+ } else {
+ end = middle;
+ }
+ }
+ return start;
+}
+function queueJob(job) {
+ if (!queue$1.length || !queue$1.includes(
+ job,
+ isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex
+ )) {
+ if (job.id == null) {
+ queue$1.push(job);
+ } else {
+ queue$1.splice(findInsertionIndex(job.id), 0, job);
+ }
+ queueFlush();
+ }
+}
+function queueFlush() {
+ if (!isFlushing && !isFlushPending) {
+ isFlushPending = true;
+ currentFlushPromise = resolvedPromise.then(flushJobs);
+ }
+}
+function hasQueueJob(job) {
+ return queue$1.indexOf(job) > -1;
+}
+function invalidateJob(job) {
+ const i3 = queue$1.indexOf(job);
+ if (i3 > flushIndex) {
+ queue$1.splice(i3, 1);
+ }
+}
+function queuePostFlushCb(cb) {
+ if (!isArray$1(cb)) {
+ if (!activePostFlushCbs || !activePostFlushCbs.includes(
+ cb,
+ cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex
+ )) {
+ pendingPostFlushCbs.push(cb);
+ }
+ } else {
+ pendingPostFlushCbs.push(...cb);
+ }
+ queueFlush();
+}
+function flushPreFlushCbs(instance, seen, i3 = isFlushing ? flushIndex + 1 : 0) {
+ {
+ seen = seen || /* @__PURE__ */ new Map();
+ }
+ for (; i3 < queue$1.length; i3++) {
+ const cb = queue$1[i3];
+ if (cb && cb.pre) {
+ if (checkRecursiveUpdates(seen, cb)) {
+ continue;
+ }
+ queue$1.splice(i3, 1);
+ i3--;
+ cb();
+ }
+ }
+}
+function flushPostFlushCbs(seen) {
+ if (pendingPostFlushCbs.length) {
+ const deduped = [...new Set(pendingPostFlushCbs)].sort(
+ (a2, b2) => getId(a2) - getId(b2)
+ );
+ pendingPostFlushCbs.length = 0;
+ if (activePostFlushCbs) {
+ activePostFlushCbs.push(...deduped);
+ return;
+ }
+ activePostFlushCbs = deduped;
+ {
+ seen = seen || /* @__PURE__ */ new Map();
+ }
+ for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
+ if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {
+ continue;
+ }
+ activePostFlushCbs[postFlushIndex]();
+ }
+ activePostFlushCbs = null;
+ postFlushIndex = 0;
+ }
+}
+const getId = (job) => job.id == null ? Infinity : job.id;
+const comparator = (a2, b2) => {
+ const diff2 = getId(a2) - getId(b2);
+ if (diff2 === 0) {
+ if (a2.pre && !b2.pre)
+ return -1;
+ if (b2.pre && !a2.pre)
+ return 1;
+ }
+ return diff2;
+};
+function flushJobs(seen) {
+ isFlushPending = false;
+ isFlushing = true;
+ {
+ seen = seen || /* @__PURE__ */ new Map();
+ }
+ queue$1.sort(comparator);
+ const check = (job) => checkRecursiveUpdates(seen, job);
+ try {
+ for (flushIndex = 0; flushIndex < queue$1.length; flushIndex++) {
+ const job = queue$1[flushIndex];
+ if (job && job.active !== false) {
+ if (check(job)) {
+ continue;
+ }
+ callWithErrorHandling(job, null, 14);
+ }
+ }
+ } finally {
+ flushIndex = 0;
+ queue$1.length = 0;
+ flushPostFlushCbs(seen);
+ isFlushing = false;
+ currentFlushPromise = null;
+ if (queue$1.length || pendingPostFlushCbs.length) {
+ flushJobs(seen);
+ }
+ }
+}
+function checkRecursiveUpdates(seen, fn) {
+ if (!seen.has(fn)) {
+ seen.set(fn, 1);
+ } else {
+ const count = seen.get(fn);
+ if (count > RECURSION_LIMIT) {
+ const instance = fn.ownerInstance;
+ const componentName = instance && getComponentName(instance.type);
+ handleError(
+ `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,
+ null,
+ 10
+ );
+ return true;
+ } else {
+ seen.set(fn, count + 1);
+ }
+ }
+}
+let devtools;
+let buffer = [];
+let devtoolsNotInstalled = false;
+function emit$1(event, ...args) {
+ if (devtools) {
+ devtools.emit(event, ...args);
+ } else if (!devtoolsNotInstalled) {
+ buffer.push({ event, args });
+ }
+}
+function setDevtoolsHook(hook, target) {
+ var _a, _b;
+ devtools = hook;
+ if (devtools) {
+ devtools.enabled = true;
+ buffer.forEach(({ event, args }) => devtools.emit(event, ...args));
+ buffer = [];
+ } else if (
+ // handle late devtools injection - only do this if we are in an actual
+ // browser environment to avoid the timer handle stalling test runner exit
+ // (#4815)
+ typeof window !== "undefined" && // some envs mock window but not fully
+ window.HTMLElement && // also exclude jsdom
+ !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom"))
+ ) {
+ const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];
+ replay.push((newHook) => {
+ setDevtoolsHook(newHook, target);
+ });
+ setTimeout(() => {
+ if (!devtools) {
+ target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
+ devtoolsNotInstalled = true;
+ buffer = [];
+ }
+ }, 3e3);
+ } else {
+ devtoolsNotInstalled = true;
+ buffer = [];
+ }
+}
+function devtoolsInitApp(app, version2) {
+ emit$1("app:init", app, version2, {
+ Fragment,
+ Text,
+ Comment,
+ Static
+ });
+}
+const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(
+ "component:added"
+ /* COMPONENT_ADDED */
+);
+const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(
+ "component:updated"
+ /* COMPONENT_UPDATED */
+);
+const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(
+ "component:removed"
+ /* COMPONENT_REMOVED */
+);
+const devtoolsComponentRemoved = (component) => {
+ if (devtools && typeof devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered
+ !devtools.cleanupBuffer(component)) {
+ _devtoolsComponentRemoved(component);
+ }
+};
+/*! #__NO_SIDE_EFFECTS__ */
+// @__NO_SIDE_EFFECTS__
+function createDevtoolsComponentHook(hook) {
+ return (component) => {
+ emit$1(
+ hook,
+ component.appContext.app,
+ component.uid,
+ // fixed by xxxxxx
+ // 为 0 是 App,无 parent 是 Page 指向 App
+ component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0,
+ component
+ );
+ };
+}
+const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(
+ "perf:start"
+ /* PERFORMANCE_START */
+);
+const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(
+ "perf:end"
+ /* PERFORMANCE_END */
+);
+function createDevtoolsPerformanceHook(hook) {
+ return (component, type, time) => {
+ emit$1(hook, component.appContext.app, component.uid, component, type, time);
+ };
+}
+function devtoolsComponentEmit(component, event, params) {
+ emit$1(
+ "component:emit",
+ component.appContext.app,
+ component,
+ event,
+ params
+ );
+}
+function emit(instance, event, ...rawArgs) {
+ if (instance.isUnmounted)
+ return;
+ const props = instance.vnode.props || EMPTY_OBJ$1;
+ {
+ const {
+ emitsOptions,
+ propsOptions: [propsOptions]
+ } = instance;
+ if (emitsOptions) {
+ if (!(event in emitsOptions) && true) {
+ if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {
+ warn$1$1(
+ `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`
+ );
+ }
+ } else {
+ const validator = emitsOptions[event];
+ if (isFunction$1(validator)) {
+ const isValid = validator(...rawArgs);
+ if (!isValid) {
+ warn$1$1(
+ `Invalid event arguments: event validation failed for event "${event}".`
+ );
+ }
+ }
+ }
+ }
+ }
+ let args = rawArgs;
+ const isModelListener2 = event.startsWith("update:");
+ const modelArg = isModelListener2 && event.slice(7);
+ if (modelArg && modelArg in props) {
+ const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`;
+ const { number, trim } = props[modifiersKey] || EMPTY_OBJ$1;
+ if (trim) {
+ args = rawArgs.map((a2) => isString(a2) ? a2.trim() : a2);
+ }
+ if (number) {
+ args = rawArgs.map(looseToNumber);
+ }
+ }
+ {
+ devtoolsComponentEmit(instance, event, args);
+ }
+ {
+ const lowerCaseEvent = event.toLowerCase();
+ if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {
+ warn$1$1(
+ `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(
+ instance,
+ instance.type
+ )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(
+ event
+ )}" instead of "${event}".`
+ );
+ }
+ }
+ let handlerName;
+ let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)
+ props[handlerName = toHandlerKey(camelize(event))];
+ if (!handler && isModelListener2) {
+ handler = props[handlerName = toHandlerKey(hyphenate(event))];
+ }
+ if (handler) {
+ callWithAsyncErrorHandling(
+ handler,
+ instance,
+ 6,
+ args
+ );
+ }
+ const onceHandler = props[handlerName + `Once`];
+ if (onceHandler) {
+ if (!instance.emitted) {
+ instance.emitted = {};
+ } else if (instance.emitted[handlerName]) {
+ return;
+ }
+ instance.emitted[handlerName] = true;
+ callWithAsyncErrorHandling(
+ onceHandler,
+ instance,
+ 6,
+ args
+ );
+ }
+}
+function normalizeEmitsOptions(comp, appContext, asMixin = false) {
+ const cache = appContext.emitsCache;
+ const cached = cache.get(comp);
+ if (cached !== void 0) {
+ return cached;
+ }
+ const raw = comp.emits;
+ let normalized = {};
+ let hasExtends = false;
+ if (!isFunction$1(comp)) {
+ const extendEmits = (raw2) => {
+ const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);
+ if (normalizedFromExtend) {
+ hasExtends = true;
+ extend(normalized, normalizedFromExtend);
+ }
+ };
+ if (!asMixin && appContext.mixins.length) {
+ appContext.mixins.forEach(extendEmits);
+ }
+ if (comp.extends) {
+ extendEmits(comp.extends);
+ }
+ if (comp.mixins) {
+ comp.mixins.forEach(extendEmits);
+ }
+ }
+ if (!raw && !hasExtends) {
+ if (isObject$2(comp)) {
+ cache.set(comp, null);
+ }
+ return null;
+ }
+ if (isArray$1(raw)) {
+ raw.forEach((key) => normalized[key] = null);
+ } else {
+ extend(normalized, raw);
+ }
+ if (isObject$2(comp)) {
+ cache.set(comp, normalized);
+ }
+ return normalized;
+}
+function isEmitListener(options, key) {
+ if (!options || !isOn(key)) {
+ return false;
+ }
+ key = key.slice(2).replace(/Once$/, "");
+ return hasOwn$2(options, key[0].toLowerCase() + key.slice(1)) || hasOwn$2(options, hyphenate(key)) || hasOwn$2(options, key);
+}
+let currentRenderingInstance = null;
+function setCurrentRenderingInstance(instance) {
+ const prev = currentRenderingInstance;
+ currentRenderingInstance = instance;
+ instance && instance.type.__scopeId || null;
+ return prev;
+}
+const withScopeId = (_id) => withCtx;
+function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
+ if (!ctx)
+ return fn;
+ if (fn._n) {
+ return fn;
+ }
+ const renderFnWithContext = (...args) => {
+ if (renderFnWithContext._d)
+ ;
+ const prevInstance = setCurrentRenderingInstance(ctx);
+ let res;
+ try {
+ res = fn(...args);
+ } finally {
+ setCurrentRenderingInstance(prevInstance);
+ if (renderFnWithContext._d)
+ ;
+ }
+ {
+ devtoolsComponentUpdated(ctx);
+ }
+ return res;
+ };
+ renderFnWithContext._n = true;
+ renderFnWithContext._c = true;
+ renderFnWithContext._d = true;
+ return renderFnWithContext;
+}
+const COMPONENTS = "components";
+const DIRECTIVES = "directives";
+function resolveComponent(name, maybeSelfReference) {
+ return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
+}
+function resolveDirective(name) {
+ return resolveAsset(DIRECTIVES, name);
+}
+function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {
+ const instance = currentRenderingInstance || currentInstance$1;
+ if (instance) {
+ const Component2 = instance.type;
+ if (type === COMPONENTS) {
+ const selfName = getComponentName(
+ Component2,
+ false
+ );
+ if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {
+ return Component2;
+ }
+ }
+ const res = (
+ // local registration
+ // check instance[type] first which is resolved for options API
+ resolve(instance[type] || Component2[type], name) || // global registration
+ resolve(instance.appContext[type], name)
+ );
+ if (!res && maybeSelfReference) {
+ return Component2;
+ }
+ if (warnMissing && !res) {
+ const extra = type === COMPONENTS ? `
+If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;
+ warn$1$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);
+ }
+ return res;
+ } else {
+ warn$1$1(
+ `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`
+ );
+ }
+}
+function resolve(registry, name) {
+ return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);
+}
+const ssrContextKey = Symbol.for("v-scx");
+const useSSRContext = () => {
+ {
+ const ctx = inject$1(ssrContextKey);
+ if (!ctx) {
+ warn$1$1(
+ `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
+ );
+ }
+ return ctx;
+ }
+};
+function watchEffect$1(effect2, options) {
+ return doWatch(effect2, null, options);
+}
+function watchPostEffect$1(effect2, options) {
+ return doWatch(
+ effect2,
+ null,
+ extend({}, options, { flush: "post" })
+ );
+}
+function watchSyncEffect$1(effect2, options) {
+ return doWatch(
+ effect2,
+ null,
+ extend({}, options, { flush: "sync" })
+ );
+}
+const INITIAL_WATCHER_VALUE = {};
+function watch$1(source, cb, options) {
+ if (!isFunction$1(cb)) {
+ warn$1$1(
+ `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`
+ );
+ }
+ return doWatch(source, cb, options);
+}
+function doWatch(source, cb, {
+ immediate,
+ deep,
+ flush,
+ once: once2,
+ onTrack,
+ onTrigger
+} = EMPTY_OBJ$1) {
+ if (cb && once2) {
+ const _cb = cb;
+ cb = (...args) => {
+ _cb(...args);
+ unwatch();
+ };
+ }
+ if (deep !== void 0 && typeof deep === "number") {
+ warn$1$1(
+ `watch() "deep" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`
+ );
+ }
+ if (!cb) {
+ if (immediate !== void 0) {
+ warn$1$1(
+ `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`
+ );
+ }
+ if (deep !== void 0) {
+ warn$1$1(
+ `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`
+ );
+ }
+ if (once2 !== void 0) {
+ warn$1$1(
+ `watch() "once" option is only respected when using the watch(source, callback, options?) signature.`
+ );
+ }
+ }
+ const warnInvalidSource = (s22) => {
+ warn$1$1(
+ `Invalid watch source: `,
+ s22,
+ `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`
+ );
+ };
+ const instance = currentInstance$1;
+ const reactiveGetter = (source2) => deep === true ? source2 : (
+ // for deep: false, only traverse root-level properties
+ traverse$1(source2, deep === false ? 1 : void 0)
+ );
+ let getter;
+ let forceTrigger = false;
+ let isMultiSource = false;
+ if (isRef$1(source)) {
+ getter = () => source.value;
+ forceTrigger = isShallow(source);
+ } else if (isReactive$1(source)) {
+ getter = () => reactiveGetter(source);
+ forceTrigger = true;
+ } else if (isArray$1(source)) {
+ isMultiSource = true;
+ forceTrigger = source.some((s22) => isReactive$1(s22) || isShallow(s22));
+ getter = () => source.map((s22) => {
+ if (isRef$1(s22)) {
+ return s22.value;
+ } else if (isReactive$1(s22)) {
+ return reactiveGetter(s22);
+ } else if (isFunction$1(s22)) {
+ return callWithErrorHandling(s22, instance, 2);
+ } else {
+ warnInvalidSource(s22);
+ }
+ });
+ } else if (isFunction$1(source)) {
+ if (cb) {
+ getter = () => callWithErrorHandling(source, instance, 2);
+ } else {
+ getter = () => {
+ if (cleanup) {
+ cleanup();
+ }
+ return callWithAsyncErrorHandling(
+ source,
+ instance,
+ 3,
+ [onCleanup]
+ );
+ };
+ }
+ } else {
+ getter = NOOP;
+ warnInvalidSource(source);
+ }
+ if (cb && deep) {
+ const baseGetter = getter;
+ getter = () => traverse$1(baseGetter());
+ }
+ let cleanup;
+ let onCleanup = (fn) => {
+ cleanup = effect2.onStop = () => {
+ callWithErrorHandling(fn, instance, 4);
+ cleanup = effect2.onStop = void 0;
+ };
+ };
+ let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
+ const job = () => {
+ if (!effect2.active || !effect2.dirty) {
+ return;
+ }
+ if (cb) {
+ const newValue = effect2.run();
+ if (deep || forceTrigger || (isMultiSource ? newValue.some((v3, i3) => hasChanged(v3, oldValue[i3])) : hasChanged(newValue, oldValue)) || false) {
+ if (cleanup) {
+ cleanup();
+ }
+ callWithAsyncErrorHandling(cb, instance, 3, [
+ newValue,
+ // pass undefined as the old value when it's changed for the first time
+ oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,
+ onCleanup
+ ]);
+ oldValue = newValue;
+ }
+ } else {
+ effect2.run();
+ }
+ };
+ job.allowRecurse = !!cb;
+ let scheduler;
+ if (flush === "sync") {
+ scheduler = job;
+ } else if (flush === "post") {
+ scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense);
+ } else {
+ job.pre = true;
+ if (instance)
+ job.id = instance.uid;
+ scheduler = () => queueJob(job);
+ }
+ const effect2 = new ReactiveEffect(getter, NOOP, scheduler);
+ const scope = getCurrentScope$1();
+ const unwatch = () => {
+ effect2.stop();
+ if (scope) {
+ remove(scope.effects, effect2);
+ }
+ };
+ {
+ effect2.onTrack = onTrack;
+ effect2.onTrigger = onTrigger;
+ }
+ if (cb) {
+ if (immediate) {
+ job();
+ } else {
+ oldValue = effect2.run();
+ }
+ } else if (flush === "post") {
+ queuePostRenderEffect$1(
+ effect2.run.bind(effect2),
+ instance && instance.suspense
+ );
+ } else {
+ effect2.run();
+ }
+ return unwatch;
+}
+function instanceWatch(source, value, options) {
+ const publicThis = this.proxy;
+ const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
+ let cb;
+ if (isFunction$1(value)) {
+ cb = value;
+ } else {
+ cb = value.handler;
+ options = value;
+ }
+ const reset = setCurrentInstance$1(this);
+ const res = doWatch(getter, cb.bind(publicThis), options);
+ reset();
+ return res;
+}
+function createPathGetter(ctx, path) {
+ const segments = path.split(".");
+ return () => {
+ let cur = ctx;
+ for (let i3 = 0; i3 < segments.length && cur; i3++) {
+ cur = cur[segments[i3]];
+ }
+ return cur;
+ };
+}
+function traverse$1(value, depth, currentDepth = 0, seen) {
+ if (!isObject$2(value) || value["__v_skip"]) {
+ return value;
+ }
+ if (depth && depth > 0) {
+ if (currentDepth >= depth) {
+ return value;
+ }
+ currentDepth++;
+ }
+ seen = seen || /* @__PURE__ */ new Set();
+ if (seen.has(value)) {
+ return value;
+ }
+ seen.add(value);
+ if (isRef$1(value)) {
+ traverse$1(value.value, depth, currentDepth, seen);
+ } else if (isArray$1(value)) {
+ for (let i3 = 0; i3 < value.length; i3++) {
+ traverse$1(value[i3], depth, currentDepth, seen);
+ }
+ } else if (isSet$1(value) || isMap$1(value)) {
+ value.forEach((v3) => {
+ traverse$1(v3, depth, currentDepth, seen);
+ });
+ } else if (isPlainObject$2(value)) {
+ for (const key in value) {
+ traverse$1(value[key], depth, currentDepth, seen);
+ }
+ }
+ return value;
+}
+function validateDirectiveName(name) {
+ if (isBuiltInDirective(name)) {
+ warn$1$1("Do not use built-in directive ids as custom directive id: " + name);
+ }
+}
+function withDirectives(vnode, directives) {
+ if (currentRenderingInstance === null) {
+ warn$1$1(`withDirectives can only be used inside render functions.`);
+ return vnode;
+ }
+ const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;
+ const bindings = vnode.dirs || (vnode.dirs = []);
+ for (let i3 = 0; i3 < directives.length; i3++) {
+ let [dir, value, arg, modifiers = EMPTY_OBJ$1] = directives[i3];
+ if (dir) {
+ if (isFunction$1(dir)) {
+ dir = {
+ mounted: dir,
+ updated: dir
+ };
+ }
+ if (dir.deep) {
+ traverse$1(value);
+ }
+ bindings.push({
+ dir,
+ instance,
+ value,
+ oldValue: void 0,
+ arg,
+ modifiers
+ });
+ }
+ }
+ return vnode;
+}
+function createAppContext() {
+ return {
+ app: null,
+ config: {
+ isNativeTag: NO,
+ performance: false,
+ globalProperties: {},
+ optionMergeStrategies: {},
+ errorHandler: void 0,
+ warnHandler: void 0,
+ compilerOptions: {}
+ },
+ mixins: [],
+ components: {},
+ directives: {},
+ provides: /* @__PURE__ */ Object.create(null),
+ optionsCache: /* @__PURE__ */ new WeakMap(),
+ propsCache: /* @__PURE__ */ new WeakMap(),
+ emitsCache: /* @__PURE__ */ new WeakMap()
+ };
+}
+let uid$1 = 0;
+function createAppAPI(render, hydrate) {
+ return function createApp2(rootComponent, rootProps = null) {
+ if (!isFunction$1(rootComponent)) {
+ rootComponent = extend({}, rootComponent);
+ }
+ if (rootProps != null && !isObject$2(rootProps)) {
+ warn$1$1(`root props passed to app.mount() must be an object.`);
+ rootProps = null;
+ }
+ const context = createAppContext();
+ const installedPlugins = /* @__PURE__ */ new WeakSet();
+ const app = context.app = {
+ _uid: uid$1++,
+ _component: rootComponent,
+ _props: rootProps,
+ _container: null,
+ _context: context,
+ _instance: null,
+ version: version$1,
+ get config() {
+ return context.config;
+ },
+ set config(v3) {
+ {
+ warn$1$1(
+ `app.config cannot be replaced. Modify individual options instead.`
+ );
+ }
+ },
+ use(plugin2, ...options) {
+ if (installedPlugins.has(plugin2)) {
+ warn$1$1(`Plugin has already been applied to target app.`);
+ } else if (plugin2 && isFunction$1(plugin2.install)) {
+ installedPlugins.add(plugin2);
+ plugin2.install(app, ...options);
+ } else if (isFunction$1(plugin2)) {
+ installedPlugins.add(plugin2);
+ plugin2(app, ...options);
+ } else {
+ warn$1$1(
+ `A plugin must either be a function or an object with an "install" function.`
+ );
+ }
+ return app;
+ },
+ mixin(mixin2) {
+ {
+ if (!context.mixins.includes(mixin2)) {
+ context.mixins.push(mixin2);
+ } else {
+ warn$1$1(
+ "Mixin has already been applied to target app" + (mixin2.name ? `: ${mixin2.name}` : "")
+ );
+ }
+ }
+ return app;
+ },
+ component(name, component) {
+ {
+ validateComponentName(name, context.config);
+ }
+ if (!component) {
+ return context.components[name];
+ }
+ if (context.components[name]) {
+ warn$1$1(`Component "${name}" has already been registered in target app.`);
+ }
+ context.components[name] = component;
+ return app;
+ },
+ directive(name, directive) {
+ {
+ validateDirectiveName(name);
+ }
+ if (!directive) {
+ return context.directives[name];
+ }
+ if (context.directives[name]) {
+ warn$1$1(`Directive "${name}" has already been registered in target app.`);
+ }
+ context.directives[name] = directive;
+ return app;
+ },
+ // fixed by xxxxxx
+ mount() {
+ },
+ // fixed by xxxxxx
+ unmount() {
+ },
+ provide(key, value) {
+ if (key in context.provides) {
+ warn$1$1(
+ `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
+ );
+ }
+ context.provides[key] = value;
+ return app;
+ },
+ runWithContext(fn) {
+ const lastApp = currentApp;
+ currentApp = app;
+ try {
+ return fn();
+ } finally {
+ currentApp = lastApp;
+ }
+ }
+ };
+ return app;
+ };
+}
+let currentApp = null;
+function provide$1(key, value) {
+ if (!currentInstance$1) {
+ {
+ warn$1$1(`provide() can only be used inside setup().`);
+ }
+ } else {
+ let provides = currentInstance$1.provides;
+ const parentProvides = currentInstance$1.parent && currentInstance$1.parent.provides;
+ if (parentProvides === provides) {
+ provides = currentInstance$1.provides = Object.create(parentProvides);
+ }
+ provides[key] = value;
+ if (currentInstance$1.type.mpType === "app") {
+ currentInstance$1.appContext.app.provide(key, value);
+ }
+ }
+}
+function inject$1(key, defaultValue, treatDefaultAsFactory = false) {
+ const instance = currentInstance$1 || currentRenderingInstance;
+ if (instance || currentApp) {
+ const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;
+ if (provides && key in provides) {
+ return provides[key];
+ } else if (arguments.length > 1) {
+ return treatDefaultAsFactory && isFunction$1(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
+ } else {
+ warn$1$1(`injection "${String(key)}" not found.`);
+ }
+ } else {
+ warn$1$1(`inject() can only be used inside setup() or functional components.`);
+ }
+}
+function hasInjectionContext() {
+ return !!(currentInstance$1 || currentRenderingInstance || currentApp);
+}
+/*! #__NO_SIDE_EFFECTS__ */
+// @__NO_SIDE_EFFECTS__
+function defineComponent$1(options, extraOptions) {
+ return isFunction$1(options) ? (
+ // #8326: extend call and options.name access are considered side-effects
+ // by Rollup, so we have to wrap it in a pure-annotated IIFE.
+ /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()
+ ) : options;
+}
+const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
+function onActivated$1(hook, target) {
+ registerKeepAliveHook(hook, "a", target);
+}
+function onDeactivated$1(hook, target) {
+ registerKeepAliveHook(hook, "da", target);
+}
+function registerKeepAliveHook(hook, type, target = currentInstance$1) {
+ const wrappedHook = hook.__wdc || (hook.__wdc = () => {
+ let current = target;
+ while (current) {
+ if (current.isDeactivated) {
+ return;
+ }
+ current = current.parent;
+ }
+ return hook();
+ });
+ injectHook(type, wrappedHook, target);
+ if (target) {
+ let current = target.parent;
+ while (current && current.parent) {
+ if (isKeepAlive(current.parent.vnode)) {
+ injectToKeepAliveRoot(wrappedHook, type, target, current);
+ }
+ current = current.parent;
+ }
+ }
+}
+function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
+ const injected = injectHook(
+ type,
+ hook,
+ keepAliveRoot,
+ true
+ /* prepend */
+ );
+ onUnmounted$1(() => {
+ remove(keepAliveRoot[type], injected);
+ }, target);
+}
+function injectHook(type, hook, target = currentInstance$1, prepend = false) {
+ if (target) {
+ if (isRootHook(type)) {
+ target = target.root;
+ }
+ const hooks = target[type] || (target[type] = []);
+ const wrappedHook = hook.__weh || (hook.__weh = (...args) => {
+ if (target.isUnmounted) {
+ return;
+ }
+ pauseTracking();
+ const reset = setCurrentInstance$1(target);
+ const res = callWithAsyncErrorHandling(hook, target, type, args);
+ reset();
+ resetTracking();
+ return res;
+ });
+ if (prepend) {
+ hooks.unshift(wrappedHook);
+ } else {
+ hooks.push(wrappedHook);
+ }
+ return wrappedHook;
+ } else {
+ const apiName = toHandlerKey(
+ (ErrorTypeStrings[type] || type.replace(/^on/, "")).replace(/ hook$/, "")
+ );
+ warn$1$1(
+ `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().`
+ );
+ }
+}
+const createHook$1 = (lifecycle) => (hook, target = currentInstance$1) => (
+ // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
+ (!exports.isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target)
+);
+const onBeforeMount$1 = createHook$1("bm");
+const onMounted$1 = createHook$1("m");
+const onBeforeUpdate$1 = createHook$1("bu");
+const onUpdated$1 = createHook$1("u");
+const onBeforeUnmount$1 = createHook$1("bum");
+const onUnmounted$1 = createHook$1("um");
+const onServerPrefetch$1 = createHook$1("sp");
+const onRenderTriggered = createHook$1(
+ "rtg"
+);
+const onRenderTracked = createHook$1(
+ "rtc"
+);
+function onErrorCaptured$1(hook, target = currentInstance$1) {
+ injectHook("ec", hook, target);
+}
+function toHandlers(obj, preserveCaseIfNecessary) {
+ const ret = {};
+ if (!isObject$2(obj)) {
+ warn$1$1(`v-on with no argument expects an object value.`);
+ return ret;
+ }
+ for (const key in obj) {
+ ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];
+ }
+ return ret;
+}
+const getPublicInstance = (i3) => {
+ if (!i3)
+ return null;
+ if (isStatefulComponent(i3))
+ return getExposeProxy(i3) || i3.proxy;
+ return getPublicInstance(i3.parent);
+};
+const publicPropertiesMap = (
+ // Move PURE marker to new line to workaround compiler discarding it
+ // due to type annotation
+ /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {
+ $: (i3) => i3,
+ // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的
+ // $el: i => i.vnode.el,
+ $el: (i3) => i3.__$el || (i3.__$el = {}),
+ $data: (i3) => i3.data,
+ $props: (i3) => shallowReadonly$1(i3.props),
+ $attrs: (i3) => shallowReadonly$1(i3.attrs),
+ $slots: (i3) => shallowReadonly$1(i3.slots),
+ $refs: (i3) => shallowReadonly$1(i3.refs),
+ $parent: (i3) => getPublicInstance(i3.parent),
+ $root: (i3) => getPublicInstance(i3.root),
+ $emit: (i3) => i3.emit,
+ $options: (i3) => resolveMergedOptions(i3),
+ $forceUpdate: (i3) => i3.f || (i3.f = () => {
+ i3.effect.dirty = true;
+ queueJob(i3.update);
+ }),
+ // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx
+ $watch: (i3) => instanceWatch.bind(i3)
+ })
+);
+const isReservedPrefix = (key) => key === "_" || key === "$";
+const hasSetupBinding = (state, key) => state !== EMPTY_OBJ$1 && !state.__isScriptSetup && hasOwn$2(state, key);
+const PublicInstanceProxyHandlers = {
+ get({ _: instance }, key) {
+ const { ctx, setupState, data, props, accessCache, type, appContext } = instance;
+ if (key === "__isVue") {
+ return true;
+ }
+ let normalizedProps;
+ if (key[0] !== "$") {
+ const n2 = accessCache[key];
+ if (n2 !== void 0) {
+ switch (n2) {
+ case 1:
+ return setupState[key];
+ case 2:
+ return data[key];
+ case 4:
+ return ctx[key];
+ case 3:
+ return props[key];
+ }
+ } else if (hasSetupBinding(setupState, key)) {
+ accessCache[key] = 1;
+ return setupState[key];
+ } else if (data !== EMPTY_OBJ$1 && hasOwn$2(data, key)) {
+ accessCache[key] = 2;
+ return data[key];
+ } else if (
+ // only cache other properties when instance has declared (thus stable)
+ // props
+ (normalizedProps = instance.propsOptions[0]) && hasOwn$2(normalizedProps, key)
+ ) {
+ accessCache[key] = 3;
+ return props[key];
+ } else if (ctx !== EMPTY_OBJ$1 && hasOwn$2(ctx, key)) {
+ accessCache[key] = 4;
+ return ctx[key];
+ } else if (shouldCacheAccess) {
+ accessCache[key] = 0;
+ }
+ }
+ const publicGetter = publicPropertiesMap[key];
+ let cssModule, globalProperties;
+ if (publicGetter) {
+ if (key === "$attrs") {
+ track(instance, "get", key);
+ } else if (key === "$slots") {
+ track(instance, "get", key);
+ }
+ return publicGetter(instance);
+ } else if (
+ // css module (injected by vue-loader)
+ (cssModule = type.__cssModules) && (cssModule = cssModule[key])
+ ) {
+ return cssModule;
+ } else if (ctx !== EMPTY_OBJ$1 && hasOwn$2(ctx, key)) {
+ accessCache[key] = 4;
+ return ctx[key];
+ } else if (
+ // global properties
+ globalProperties = appContext.config.globalProperties, hasOwn$2(globalProperties, key)
+ ) {
+ {
+ return globalProperties[key];
+ }
+ } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading
+ // to infinite warning loop
+ key.indexOf("__v") !== 0)) {
+ if (data !== EMPTY_OBJ$1 && isReservedPrefix(key[0]) && hasOwn$2(data, key)) {
+ warn$1$1(
+ `Property ${JSON.stringify(
+ key
+ )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`
+ );
+ } else if (instance === currentRenderingInstance) {
+ warn$1$1(
+ `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`
+ );
+ }
+ }
+ },
+ set({ _: instance }, key, value) {
+ const { data, setupState, ctx } = instance;
+ if (hasSetupBinding(setupState, key)) {
+ setupState[key] = value;
+ return true;
+ } else if (setupState.__isScriptSetup && hasOwn$2(setupState, key)) {
+ warn$1$1(`Cannot mutate