云信发送消息相关

This commit is contained in:
XiuYun CHEN
2025-07-18 17:26:48 +08:00
parent f7408f7cbc
commit cbf50189cc
55 changed files with 4298 additions and 200 deletions
@@ -0,0 +1,122 @@
import { HMRouterMgr } from '@hadss/hmrouter';
import { BasicConstant, TimestampUtil } from '@itcast/basic';
import { PerfactInputSheet } from '@itcast/basic/src/main/ets/Views/PerfactInputSheet';
import { LengthMetrics, router } from '@kit.ArkUI'
import { ChatKitClient } from '@nimkit/chatkit';
import { customAttachment } from '@nimkit/chatkit_ui/src/main/ets/view/MessageComponentBuilder';
import { StringIsEmpty } from '@nimkit/common';
import { PatientTBean } from '../model/TeachModel';
@Preview
@Component
export struct ItemCompTeach {
@Prop item:PatientTBean;
aboutToAppear(): void {
this.initDialog()
}
private dialog!:CustomDialogController;
@State inputPlaceholder:string=''
initDialog() {
this.dialog = new CustomDialogController({
builder:PerfactInputSheet({
controller:this.dialog,
inputTitle:'是否确定发送此患教科普',
inputPlaceholder:this.inputPlaceholder,
style:'2',
okText:'发送',
okColor:$r('app.color.top_title'),
inputCallBack:(input: string,title:string)=>{
let img=StringIsEmpty(this.item.imgPath)?"http://doc.igandan.com/app/html/img/2016/20160714132557.png":BasicConstant.urlHtml+this.item.imgPath
const jsonData:customAttachment = {
gdxz_title: this.item.topic,
gdxz_url:BasicConstant.urlHtml+this.item.path,
gdxz_content:this.item.summary,
gdxz_id: this.item.uuid,
gdxz_img:img ,
gdxz_type: BasicConstant.Teach,
gdxz_ext_data: ''
}
HMRouterMgr.pop({param:JSON.stringify(jsonData)})
}
}),
keyboardAvoidDistance: LengthMetrics.vp(0), // 设置弹窗底部与键盘顶部间距(单位:vp)
alignment: DialogAlignment.Center,
customStyle: true,
autoCancel: false,
backgroundColor: ('rgba(0,0,0,0.5)'),
height: '100%'
})
}
build() {
Column()
{ Row()
{
Image(BasicConstant.urlHtml+this.item.imgPath).width(114).height(76).alt($r('app.media.home_scroll_default1'))
Column()
{
Text(this.item.topic).fontColor($r('app.color.common_gray_01')).fontSize(16) .textOverflow({ overflow: TextOverflow.Ellipsis }).height(40)
.ellipsisMode(EllipsisMode.END).maxLines(2) .textAlign(TextAlign.Start).align(Alignment.TopStart)
.width('100%')
Row()
{
Row() {
Text('今日')
.borderRadius(30)
.fontColor(Color.White)
.backgroundColor('#f24d57')
.fontSize(11)
.padding({ left: 5, right: 5,top:2,bottom:2 })
.visibility(TimestampUtil.isToday(this.item.modifyDate) ? Visibility.Visible : Visibility.None)
Text(this.item.modifyDate.length > 10 ? this.item.modifyDate.substring(5, 10) : this.item.modifyDate)
.fontColor($r('app.color.common_gray_03'))
.fontSize(12)
.visibility(!TimestampUtil.isToday(this.item.modifyDate) ? Visibility.Visible : Visibility.None)
}.width(80).align(Alignment.Start)
Row() {
Image($r('app.media.read_commient')).width(10).height(10)
Text(this.item.readnum > 100000 ? this.item.readnum * 1.000 / 10000.00 + '万' : this.item.readnum + '')
.fontColor($r('app.color.common_gray_03')).padding({left:3})
.fontSize(12)
}.width(80).align(Alignment.Start)
Row() {
Image($r('app.media.argee_commient')).width(10).height(10)
Text(this.item.agreenum > 100000 ? this.item.agreenum * 1.000 / 10000.00 + '万' : this.item.agreenum + '')
.fontColor($r('app.color.common_gray_03')).padding({left:3})
.fontSize(12)
}.width(80).align(Alignment.Start)
}
.margin({top:10})
.width('100%')
}.padding({left:10})
.layoutWeight(1)
}.alignSelf(ItemAlign.Start)
.width('100%')
.padding(10)
.onClick(() => {
this.inputPlaceholder=this.item.topic
this.dialog.open()
})
Text().backgroundColor($r('app.color.efefef')).width('100%').height(1)
}
}
}