12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <template>
- <view @click="onClick" :style="{width,height}">
- <image v-if="cSrc" :style="{width,height}" :src="cSrc" :mode="mode"></image>
- </view>
- </template>
- <script>
- export default {
- name: "cloud-image",
- emits:['click','switchChange'],
- props: {
- mode: {
- type:String,
- default () {
- return 'widthFix'
- }
- },
- src: {
- // type:String,
- default () {
- return ""
- }
- },
- width: {
- type:String,
- default () {
- return '100rpx'
- }
- },
- height: {
- type:String,
- default () {
- return '100rpx'
- }
- }
- },
- watch: {
- src:{
- handler(src) {
- // console.log(src);
- // console.log(src.substring(0, 8));
- if (src&&src.substring(0, 8) == "cloud://") {
- uniCloud.getTempFileURL({
- fileList: [src]
- }).then(res=>{
- // console.log(res);
- this.cSrc = res.fileList[0].tempFileURL
- })
- }else{
- this.cSrc = src
- }
- },
- immediate: true
- }
- },
- async mounted() {
- },
- methods:{
- onClick(){
- this.$emit('click')
- }
- },
- data() {
- return {
- cSrc:false
- };
- }
- }
- </script>
|