小程序开发小记

1、暂存方法:

uni.setStorageSync('scanInfo', JSON.stringify(res.data));

在其他页面调用暂存的数据:

this.scanInfo = JSON.parse(uni.getStorageSync('scanInfo'));

2、路由跳转:

uni.navigateTo({
     url: '/detailOnlyPackages/pages/detailOnly?code=' + otherCode
});

3、调用$http请求:

this.$http.get(
						'https://www.hysuyuan.cn/api/basic/basicIdentification/identificationAnalysisForUrCode?identification=' + code).then((success) => {
	console.log(success);
}, (error) => {
	console.log(error);
})

4、模板字段匹配:

<view class="check-content" v-for="item in dataList" :key="item.id">
				<!-- 1、字符串 -->
				<view class="tab-content-item" v-if="item.metadataType=='string'">
					<view class="tab-content-item-title">{{item.title}}</view>
					<view class="tab-content-item-content">{{item.title.code}}</view>
				</view>
				<!-- 2、大图片 -->
				<view class="tab-content-item" v-if="item.metadataType=='bigImg'">
					<view class="tab-content-item-title">{{item.title}}</view>
					<a-badge :images="photos1[item.idType]">
						<div v-if="!!photos1[item.idType]&&photos1[item.idType].length>0">
							<img style="width: 100px;height: 100px" v-for="(item,index) in photos1[item.idType]" :src="item.src" :key="index"
							 @click="openImage1(item.src)">
							<a-modal style="margin-top: 100px" :visible="previewVisible1" :footer="null" @cancel="closeImage1">
								<img alt="example" style="width: 100%" :src="photos1Src" />
							</a-modal>
						</div>
					</a-badge>
				</view>
				<!-- 3、小图片 -->
				<view class="tab-content-item" v-if="item.metadataType=='img'">
					<view class="tab-content-item-title">{{item.title}}</view>
					<a-badge :images="photos5[item.idType]">
						<div v-if="!!photos5[item.idType]&&photos5[item.idType].length>0">
							<img style="width: 50px;height: 100px" v-for="(item,index) in photos5[item.idType]" :src="item.src" :key="index"
							 @click="openImage5(item.src)">
							<a-modal style="margin-top: 100px" :visible="previewVisible5" :footer="null" @cancel="closeImage5">
								<img alt="example" style="width: 100%" :src="photos5Src" />
							</a-modal>
						</div>
					</a-badge>
				</view>
				<!-- 4、视频 -->
				<view class="tab-content-item" v-if="item.metadataType=='video'">
					<view class="tab-content-item-title">{{item.title}}</view>
					<div v-for="videoItem in video[item.idType]" v-if="!!video[item.idType]&&video[item.idType].length>0">
						<div style="color:blue;cursor: pointer" @click="$refs.showVideo.show(videoItem.src)">{{videoItem.name}}</div>
					</div>
				</view>
				<!-- 5、音频 -->
				<view class="tab-content-item" v-if="item.metadataType=='audio'">
					<view class="tab-content-item-title">{{item.title}}</view>
					<div v-for="audioItem in audio[item.idType]" v-if="!!audio[item.idType]&&audio[item.idType].length>0">
						<div style="color:blue;cursor: pointer" @click="$refs.showAudio.show(audioItem.src)">{{audioItem.name}}</div>
					</div>
				</view>
				<!-- 6、文件 -->
				<view class="tab-content-item" v-if="item.metadataType=='file'">
					<view class="tab-content-item-title">{{item.title}}</view>
					<div v-for="fileItem in file[item.idType]" v-if="!!file[item.idType]&&file[item.idType].length>0">
						<div style="color:blue;width: 200px;height:40px;overflow: hidden;cursor: pointer" @click="previewFile(fileItem.src)">{{fileItem.name}}</div>
					</div>
				</view>
				<!-- 6、超链接 -->
				<view class="tab-content-item" v-if="item.metadataType=='href'">
					<view class="tab-content-item-title">{{item.title}}</view>
					<div><a :href="linkAddress" target="_blank">{{item.title.code}}</a></div>
				</view>
				<!-- 7、关联字段 -->
				<view class="tab-content-item" v-if="item.metadataType=='relation'">
					<view v-for="(item, index) in item.itemInfo" :key="index">
						<view class="tab-content-item-2">{{item.code}}</view>
						<view class="tab-content-item-1">
							<view class="button" @click="toResult(2,null,item,null)">明细</view>
						</view>
					</view>
				</view>
			</view>
getTemplate(templateName, data) {
				this.$nextTick(() => {
					getTemplateByName(templateName).then((res) => {
						// 标识模板的列表匹配
						let list = res.data.basicHandleTemplateManageDetailList
						for (var i in list) {
							let param = list[i].idType
							this.$set(list[i], param, data[param])
						}
						this.dataList = list
						setTimeout(() => {
							for (var i in this.dataList) {
								let param = this.dataList[i].idType
								var curWwwPath = window.document.location.href
								var pathName = window.document.location.pathname
								var pos = curWwwPath.indexOf(pathName)
								var localhostPaht = curWwwPath.substring(0, pos)
								switch (this.dataList[i].metadataType) {
									case 'bigImg':
										if (!!data[param]) {
											let bigImg = data[param].split(",")
											let bigImageList = []
											for (var j in bigImg) {
												let item = {}
												item.src = localhostPaht + '/fileService/fileDownLoad?fileId=' + bigImg[j]
												bigImageList.push(item)
											}
											this.$set(this.photos1, param, bigImageList)
										}
										break;
									case 'img':
										if (!!data[param]) {
											let img = data[param].split(",")
											let imgList = []
											for (var j in img) {
												let item = {}
												item.src = img
												imgList.push(item)
											}
											this.$set(this.photos5, param, imgList)
										}
										break;
									case 'file':
										if (!!data[param]) {
											let file = data[param].split(",")
											let fileList = []
											for (var j in file) {
												let item = {}
												getFileInfo(file[j]).then(res => {
													item.name = res.data.name
													item.src = localhostPaht + '/fileService/filePreview?fileId=' + file[j]
													fileList.push(item)
												})
											}
											this.$set(this.file, param, fileList)
										}
										break;
									case 'video':
										if (!!data[param]) {
											let video = data[param].split(",")
											let videoList = []
											for (var j in video) {
												let item = {}
												getFileInfo(video[j]).then(res => {
													item.name = res.data.name
													item.src = localhostPaht + '/fileService/filePreview?fileId=' + video[j]
													videoList.push(item)
												})
											}
											this.$set(this.video, param, videoList)
										}
										break;
									case 'audio':
										if (!!data[param]) {
											let audio = data[param].split(",")
											let audioList = []
											for (var j in audio) {
												let item = {}
												getFileInfo(audio[j]).then(res => {
													item.name = res.data.name
													item.src = localhostPaht + '/fileService/filePreview?fileId=' + audio[j]
													audioList.push(item)
												})
											}
											this.$set(this.audio, param, audioList)
										}
										break;
									case 'href':
										this.linkAddress = data[param]
										break;
									default:
										// this.form.setFieldsValue({
										// 	[param]: data[param]
										// })
										this.$set(dataList[i], param, data[param])
										break;
								}
							}
						}, 100)
					})
				})
			},
openImage1(src) {
	this.previewVisible1 = true;
	this.photos1Src = src
},
closeImage1() {
	this.previewVisible1 = false;
},
openImage5(src) {
	this.previewVisible5 = true;
	this.photos5Src = src
},
closeImage5() {
	this.previewVisible5 = false;
},
			/* 打开文件查看 */
previewFile(src) {
	window.open(src)
},

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值