wzz 3 年之前
父节点
当前提交
3483af3814
共有 4 个文件被更改,包括 277 次插入4 次删除
  1. 10 1
      pages.json
  2. 77 3
      pages/index/index.vue
  3. 190 0
      pages/index/scanCode/index.vue
  4. 二进制
      static/scan.png

+ 10 - 1
pages.json

@@ -23,7 +23,16 @@
                 "enablePullDownRefresh": false
             }
             
-        }
+        },
+        {
+            "path" : "pages/index/scanCode/index",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "扫一扫",
+                "enablePullDownRefresh": false
+            }
+            
+        }		
     ],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",

+ 77 - 3
pages/index/index.vue

@@ -14,7 +14,7 @@
     <div class="options">
       <div  v-for="(item, idx) in list" :key="idx" class="options-item" @click="goDetailFn(idx, item.url)"  v-if="item.isShow">
         <div class="img-box">
-          <img :src="item.icoin" alt="" class="options-item-img" />
+          <img :src="item.icon" alt="" class="options-item-img" />
         </div>
         <div class="options-item-name">
           {{ item.name }}
@@ -35,19 +35,26 @@ export default {
       isAuth: true,
       userHeadImg: "",
       userNickName: "",
+	  userscanCode:"",
       list: [
         { 
-		 icoin: "/static/upload.png",
+		 icon: "/static/upload.png",
 		 name: "内容上传" ,
 		 url: "/pages/index/upload/upload",
 		 isShow:true,
 		 },
         { 
-		  icoin: "/static/sign.png", 
+		  icon: "/static/sign.png", 
 		  name: "发布记录" ,
 		  url: "/pages/index/record/record",
 		  isShow:true,
 		 },
+		 {
+		   icon: "/static/scan.png", 
+		   name: "扫一扫" ,
+		   url: "/pages/index/scanCode/index",
+		   isShow:true,
+		  },
       ],
     };
   },
@@ -174,6 +181,64 @@ export default {
 			}
 		})
 	},
+    codeReg(strs){
+			let reg = /\[(.*?)\]/gi;
+			let str = strs;
+			let tmp = str.match(reg) , result = '';
+			if (tmp) {
+				for (let i = 0; i < tmp.length; i++) {
+					 result = tmp[i].replace(reg, "$1")
+				}
+			} else {
+				console.log("no match.");
+			}
+			 console.log(result)
+			this.getScanCode(result)
+    },
+	getScanCode(codeRes) {
+	    let md5Sign = md5(
+	      "method=" +
+	        "user" +
+	        "&timestamp=" +
+	        getApp().globalData.globalTimestamp +
+	        "&secret=" +
+	        getApp().globalData.secret
+	    );
+	    let url =
+	      getApp().globalData.shareUrl +
+	      "api/api.php" +
+	      "?method=user&action=qrcode_login&timestamp=" +
+	      getApp().globalData.globalTimestamp +
+	      "&sign=" +
+	      md5Sign;
+	    uni.request({
+	      url: url,
+	      method: "POST",
+	      header: {
+	        "content-type": "application/x-www-form-urlencoded",
+	      },
+	      data: {
+	        openid:getApp().globalData.open_id,
+			qrcode:codeRes
+	      },
+	      success: (res) => {
+	        if (res.data.code === 200) {
+				uni.showToast({
+					title:res.data.msg,
+					icon:'none'
+				})
+	        } else {
+				uni.showToast({
+					title:res.data.msg,
+					icon:'none'
+				})
+			}
+	      },
+	      fail: () => {
+	        console.log("连接失败");
+	      },
+	    });
+	  },		
     goDetailFn(index, url) {
       let that = this;
 	  if(!that.isAuth){
@@ -195,6 +260,15 @@ export default {
 			  url,
 			}); 
           break;
+		case 2: //扫一扫
+		    uni.scanCode({
+		        success: function (res) {
+		            console.log('条码类型:' + res.scanType);
+		            console.log('条码内容:' + res.result);
+					that.codeReg(res.result)
+		        }
+		    });
+		  break;  
       }
     },
   

+ 190 - 0
pages/index/scanCode/index.vue

@@ -0,0 +1,190 @@
+<template>
+  <view class="content">
+    <view class="details" v-for="item in pageList" :key="item.id">
+		<view class="view">
+		  <!-- <span class="label">发布时间:</span> -->
+		  <span style="width: 80%;color: darkgray;">{{ item.addtime }}</span>
+		</view>
+      <view class="view">
+        <!-- <span class="label">详情:</span> -->
+        <span>{{ item.content }}</span>
+      </view>
+      <view class="view">
+        <!-- <span class="label">图片:</span> -->
+        <view class="flex-box">
+          <view v-if="item.attach_list.length == 0">-</view>
+          <image :src="globalUrl + item1" v-for="(item1,index) in item.attach_list" :key="index" mode="aspectFit" @click="showlarge(item.attach_list,index)"/>
+        </view>
+      </view>
+    </view>
+  </view>
+</template>
+
+
+<script>
+import md5 from "@/common/md5.js";
+export default {
+  data() {
+    return {
+      id: "",
+      details: "",
+      imageList: [],
+      time: "",
+	  globalUrl:getApp().globalData.shareUrl,
+	  pageList:[
+		  // {
+			 //  id:'1',
+			 //  content:'从现在起直到21世纪中叶的30年,将有可能成为“人类命运共同体”在世界范围逐步实现的关键阶段。随着“人类命运共同体”在世界范围逐步成为现实,大国关系包含中美关系经过种种曲折,逐步转化到一个相互尊重、平等相待、和平共处、合作共赢的轨道上来,这才是人心所向',
+			 //  imgList:[],
+			 //  publishTime:'2021.12.25 14:15:00'
+		  // },
+		  // {
+			 //   id:'2',
+			 //  content:'从现在起直到21世纪中叶的30年,将有可能成为“人类命运共同体”在世界范围逐步实现的关键阶段。随着“人类命运共同体”在世界范围逐步成为现实,大国关系包含中美关系经过种种曲折,逐步转化到一个相互尊重、平等相待、和平共处、合作共赢的轨道上来,这才是人心所向',
+			 //  imgList:[],
+			 //  publishTime:'2021.12.26 12:11:00'
+		  // },
+		  // {
+			 //  id:'3',
+			 //  content:'从现在起直到21世纪中叶的30年,将有可能成为“人类命运共同体”在世界范围逐步实现的关键阶段。随着“人类命运共同体”在世界范围逐步成为现实,大国关系包含中美关系经过种种曲折,逐步转化到一个相互尊重、平等相待、和平共处、合作共赢的轨道上来,这才是人心所向',
+			 //  imgList:[],
+			 //  publishTime:'2021.12.27 13:35:00'
+		  // },
+	  ]
+    };
+  },
+  onLoad() {
+    this.getRecordList();
+  },
+  methods: {
+	showlarge(list,index){
+		//src = this.globalUrl + src
+	   let photoList = list.map((item)=>{
+			return getApp().globalData.shareUrl + item
+		})
+		console.log(photoList)
+		uni.previewImage({
+		  current:index,
+		  urls: photoList,
+		  longPressActions: {
+		    itemList: ["发送给朋友", "保存图片"],
+		    success: function (data) {},
+		    fail: function (err) {
+		      console.log(err.errMsg);
+		    },
+		  },
+		});
+	},
+	filterData(list){
+		list.forEach((item)=>{
+			 let time = this.$options.filters["globalTime"](item.addtime);
+			 let timeSecond = this.$options.filters["globalTimeSecond"](item.addtime);
+			 item.addtime = time + " " + timeSecond;
+		})
+	},
+    getRecordList() {
+      let md5Sign = md5(
+        "method=" +
+          "activity" +
+          "&timestamp=" +
+          getApp().globalData.globalTimestamp +
+          "&secret=" +
+          getApp().globalData.secret
+      );
+      let url =
+        getApp().globalData.shareUrl +
+        "api/api.php" +
+        "?method=activity&action=my_process&timestamp=" +
+        getApp().globalData.globalTimestamp +
+        "&sign=" +
+        md5Sign;
+      let postData = {
+        // id: this.id,
+         openid : getApp().globalData.open_id,
+      };
+      //获取文章
+      uni.request({
+        url: url,
+        method: "POST",
+        header: {
+          "content-type": "application/x-www-form-urlencoded",
+        },
+        data: postData,
+        success: (res) => {
+          console.log(res.data.data);
+          if (res.data.code === 200) {
+			this.pageList = res.data.data.list;
+			this.filterData(this.pageList)
+          }
+        },
+        fail: () => {
+          console.log("连接失败");
+        },
+      });
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.flex-box {
+  display: flex;
+  flex-wrap: wrap;
+  width: 100%;
+}
+.view {
+  display: flex;
+}
+.content {
+  font-size: 32rpx;
+  .title {
+    margin: 4% 5%;
+  }
+  .details {
+    font-size: 28rpx;
+    width: 90%;
+    margin: 0 2%;
+    padding: 2% 3%;
+	border-bottom: 3px solid #f2f2f2;
+    // border-radius: 50rpx;
+    // box-shadow: rgba(100, 100, 111, 0.2) 0rpx 14rpx 50rpx 14rpx;
+    image {
+      width: 180rpx;
+      height: 150rpx;
+      border-radius: 30rpx;
+      margin: 0 2%;
+    }
+    .view {
+      margin: 3% 0;
+    }
+    .label {
+      display: inline-block;
+      width:150rpx;
+      vertical-align: middle;
+      margin-right: 10rpx;
+    }
+  }
+  .info {
+    font-size: 28rpx;
+    width: 90%;
+    margin: 4% 2%;
+    padding: 2% 3%;
+    border-radius: 40rpx;
+    box-shadow: rgba(100, 100, 111, 0.2) 0rpx 14rpx 50rpx 14rpx;
+    .title {
+      margin: 4% 0;
+      font-size: 32rpx;
+    }
+    .view {
+      display: flex;
+      align-items: center;
+      margin: 5% 0;
+    }
+    .label {
+      display: inline-block;
+      width: 150rpx;
+      vertical-align: middle;
+      margin-right: 10rpx;
+    }
+  }
+}
+</style>

二进制
static/scan.png