Browse Source

Merge remote-tracking branch 'origin/master'

刘浩男 1 year ago
parent
commit
8865e4abba

+ 7 - 0
api/knowledge/knowledge.js

@@ -48,4 +48,11 @@ export function addScore(data) {
     method: 'post',
     method: 'post',
 	data:data
 	data:data
   })
   })
+}
+export function addKnowledge(data) {
+  return request({
+    url: '/knowledge/base',
+    method: 'post',
+	data:data
+  })
 }
 }

+ 10 - 1
api/me/me.js

@@ -13,4 +13,13 @@ export function getUserInfo(userId){
 		url: '/system/user/getWxUserInfo/'+userId,
 		url: '/system/user/getWxUserInfo/'+userId,
 		method: 'get'
 		method: 'get'
 	})
 	})
-}
+}
+
+// 获取我的付费知识
+export function myPayKnow(query) {
+  return request({
+    url: '/knowledge/base/knowledgePayList',
+    method: 'get',
+	data:query
+  })
+}

+ 1 - 0
main.js

@@ -4,6 +4,7 @@ import store from './store' // store
 import plugins from './plugins' // plugins
 import plugins from './plugins' // plugins
 import './permission' // permission
 import './permission' // permission
 import config from '@/config'
 import config from '@/config'
+
 Vue.use(plugins)
 Vue.use(plugins)
 
 
 Vue.config.productionTip = false
 Vue.config.productionTip = false

+ 31 - 4
pages.json

@@ -135,6 +135,16 @@
 			}
 			}
 		},
 		},
 		{
 		{
+			"path": "pages/myPayKnow/myPayKnow",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"enablePullDownRefresh": true,
+				"navigationBarTitleText": "付费知识"
+			}
+		},
+		{
 			"path": "pages/matters/matters",
 			"path": "pages/matters/matters",
 			"style": {
 			"style": {
 				"usingComponents": {},
 				"usingComponents": {},
@@ -199,6 +209,14 @@
 				"navigationBarTextStyle": "white",
 				"navigationBarTextStyle": "white",
 				"navigationBarTitleText": "资讯详情"
 				"navigationBarTitleText": "资讯详情"
 			}
 			}
+		},{
+			"path": "pages/myPayKnow/informationDetail",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "付费知识详情"
+			}
 		},
 		},
 		{
 		{
 			"path": "pages/shangcheng/shangcheng",
 			"path": "pages/shangcheng/shangcheng",
@@ -256,7 +274,7 @@
 				"usingComponents": {},
 				"usingComponents": {},
 				"navigationBarBackgroundColor": "#07c160",
 				"navigationBarBackgroundColor": "#07c160",
 				"enablePullDownRefresh": true,
 				"enablePullDownRefresh": true,
-				"onReachBottomDistance" : 5,
+				"onReachBottomDistance": 5,
 				"navigationBarTextStyle": "white",
 				"navigationBarTextStyle": "white",
 				"navigationBarTitleText": "行情"
 				"navigationBarTitleText": "行情"
 
 
@@ -278,7 +296,7 @@
 				"usingComponents": {},
 				"usingComponents": {},
 				"navigationBarBackgroundColor": "#07c160",
 				"navigationBarBackgroundColor": "#07c160",
 				"enablePullDownRefresh": true,
 				"enablePullDownRefresh": true,
-				"onReachBottomDistance" : 5,
+				"onReachBottomDistance": 5,
 				"navigationBarTextStyle": "white",
 				"navigationBarTextStyle": "white",
 				"navigationBarTitleText": "行情列表"
 				"navigationBarTitleText": "行情列表"
 			}
 			}
@@ -377,6 +395,15 @@
 			}
 			}
 		},
 		},
 		{
 		{
+			"path": "pages/knowledge/knowledgeForm",
+			"style": {
+				"usingComponents": {},
+				"navigationBarBackgroundColor": "#07c160",
+				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "知识库新增"
+			}
+		},
+		{
 			"path": "pages/travelGuide/travelGuide",
 			"path": "pages/travelGuide/travelGuide",
 			"style": {
 			"style": {
 				"usingComponents": {},
 				"usingComponents": {},
@@ -449,7 +476,7 @@
 			}
 			}
 		},
 		},
 		{
 		{
-			"path" : "pages/topic/topic",
+			"path": "pages/topic/topic",
 			"style": {
 			"style": {
 				"usingComponents": {},
 				"usingComponents": {},
 				"navigationBarBackgroundColor": "#07c160",
 				"navigationBarBackgroundColor": "#07c160",
@@ -458,7 +485,7 @@
 			}
 			}
 		},
 		},
 		{
 		{
-			"path" : "pages/matterAll/matterAll",
+			"path": "pages/matterAll/matterAll",
 			"style": {
 			"style": {
 				"usingComponents": {},
 				"usingComponents": {},
 				"navigationBarBackgroundColor": "#07c160",
 				"navigationBarBackgroundColor": "#07c160",

+ 14 - 5
pages/index/index.vue

@@ -68,7 +68,7 @@
 			<view class="zcTuijian">
 			<view class="zcTuijian">
 				<image :src="loadImgSrc('/zctj.png')"></image>
 				<image :src="loadImgSrc('/zctj.png')"></image>
 				<ul>
 				<ul>
-					<view v-for="(item, index) in governmentList" :key="index">
+					<view v-for="(item, index) in governmentList" :key="index" @click="goZcDetail(item)">
 						<li style="display: flex;">
 						<li style="display: flex;">
 							<em class="iconfont icon-yuandianxiao"></em>
 							<em class="iconfont icon-yuandianxiao"></em>
 							{{ item.titleName }}
 							{{ item.titleName }}
@@ -375,6 +375,13 @@
 			}
 			}
 		},
 		},
 		methods: {
 		methods: {
+			goZcDetail(e) {
+				let id = e.id || ''
+				let type = 10
+			    uni.navigateTo({
+			        url: `../informationDetail/informationDetail?id=${id}&type=${type}`
+			    });
+			},
 			//封面与轮播图
 			//封面与轮播图
 			getCovers(){
 			getCovers(){
 				getCovers().then(res=>{
 				getCovers().then(res=>{
@@ -545,15 +552,17 @@
 					userId: getApp().globalData.userId,
 					userId: getApp().globalData.userId,
 					scoreNum: item.integral
 					scoreNum: item.integral
 				};
 				};
+				if (item.purchaseStatus == 0) {
+					this.reduceScore(item)
+					this.addScore(item)
+				}
 				verifyScore(params).then((res) => {
 				verifyScore(params).then((res) => {
 					if (res.data == false) {
 					if (res.data == false) {
 						uni.showToast({
 						uni.showToast({
 							title: '您的积分不足'
 							title: '您的积分不足'
 						})
 						})
-					}else{
-						console.log("verifyScore",res)
-						this.reduceScore(item)
-						this.addScore(item)
+					} else {
+						this.getList()
 						uni.navigateTo({
 						uni.navigateTo({
 							url: '/pages/knowledgeDetails/knowledgeDetails?id=' + item.id,
 							url: '/pages/knowledgeDetails/knowledgeDetails?id=' + item.id,
 						});
 						});

+ 16 - 1
pages/knowledge/knowledge.vue

@@ -23,7 +23,10 @@
 					</view>
 					</view>
 				</view>
 				</view>
 			</view>
 			</view>
+			<uni-fab ref="fab" :horizontal="right" :vertical="bottom"
+			         @fabClick="fabClick()"/>
 		</view>
 		</view>
+
 	</view>
 	</view>
 </template>
 </template>
 
 
@@ -44,6 +47,12 @@
 					pageSize: 10,
 					pageSize: 10,
 				},
 				},
 				loading: false,
 				loading: false,
+				//是否显示弹出层
+				open: false,
+				//悬浮按钮右对齐
+				right: 'right',
+				//悬浮按钮下对齐
+				bottom: 'bottom',
 			}
 			}
 		},
 		},
 		/**
 		/**
@@ -80,7 +89,7 @@
 			getList(pageNum) {
 			getList(pageNum) {
 				let params = {
 				let params = {
 					pageSize: this.queryParams.pageSize,
 					pageSize: this.queryParams.pageSize,
-					pageNum: pageNum,
+					pageNum: pageNum
 				}
 				}
 				list(params).then(res => {
 				list(params).then(res => {
 					if (res.code == 200) {
 					if (res.code == 200) {
@@ -89,6 +98,12 @@
 					}
 					}
 				})
 				})
 			},
 			},
+			//悬浮按钮点击事件
+			fabClick() {
+			  uni.navigateTo({
+			    url: '../knowledge/knowledgeForm'
+			  });
+			},
 		}
 		}
 	}
 	}
 </script>
 </script>

+ 135 - 0
pages/knowledge/knowledgeForm.vue

@@ -0,0 +1,135 @@
+<template>
+	<uni-section title="新增知识库" type="line">
+		<view class="example">
+			<!-- 自定义表单校验 -->
+			<uni-forms ref="customForm" :rules="rules" :modelValue="customFormData" label-align="center">
+				<uni-forms-item label="标题" required name="titleName">
+					<uni-easyinput v-model="customFormData.titleName" placeholder="请输入标题" />
+				</uni-forms-item>
+				<uni-forms-item label="正文" required name="textDetails">
+					<!-- <uni-easyinput v-model="customFormData.textDetails" placeholder="请输入正文" /> -->
+					<mp-html :content="html" />
+				</uni-forms-item>
+				<uni-forms-item label="图片" required name="url">
+					<upload :imgArr="imgUrlList" :fileSize="1" :limit="3" @updateImg="updateImg" />
+				</uni-forms-item>
+				<uni-forms-item label="是否热门" required name="integral">
+					<switch v-model="customFormData.popular" />
+				</uni-forms-item>
+				<uni-forms-item label="付费积分" required name="integral">
+					<uni-number-box v-model="customFormData.integral" />
+				</uni-forms-item>
+			</uni-forms>
+			<button type="primary" @click="submit('customForm')">提交</button>
+		</view>
+	</uni-section>
+</template>
+
+<script>
+	import {
+		addKnowledge
+	} from "@/api/knowledge/knowledge";
+	import upload from '../../components/upload/index.vue'
+	import mpHtml from '@/uni_modules/mp-html/components/mp-html/mp-html.vue'
+	export default {
+		components: {
+			upload,
+			mpHtml
+		},
+		data() {
+			return {
+				html: '<div>Hello World!</div>',
+				// 基础表单数据
+				baseFormData: {
+					titleName: '',
+					textDetails: '',
+					integral: '',
+					popular: '',
+					url: []
+				},
+				// 校验规则
+				rules: {
+					titleName: {
+						rules: [{
+							required: true,
+							errorMessage: '标题不能为空'
+						}]
+					},
+					textDetails: {
+						rules: [{
+							required: true,
+							errorMessage: '正文不能为空'
+						}]
+					}
+				},
+				imgUrlList: [],
+				customFormData: {},
+			}
+		},
+		onLoad() {},
+		onReady() {
+			// 设置自定义表单校验规则,必须在节点渲染完毕后执行
+			this.$refs.customForm.setRules(this.rules)
+		},
+		created() {},
+		methods: {
+			submit(ref) {
+				this.$refs[ref].validate().then(res => {
+					if (res) {
+						if (this.imgUrlList != null && this.imgUrlList != [] && this.imgUrlList.length > 1) {
+							uni.showToast({
+								title: '图片只能上传一张'
+							})
+						} else {
+							this.customFormData.imgUrlList = this.imgUrlList.join(',')
+							addKnowledge(this.customFormData).then(response => {
+								this.$modal.msgSuccess('提交成功');
+								this.customFormData = {
+									...this.baseFormData
+								};
+								this.imgUrlList = [];
+								uni.navigateTo({
+									url: '../knowledge/knowledge'
+								});
+							}).catch(err => {
+								console.log('err', err);
+							})
+						}
+					}
+				})
+			},
+			updateImg(imgUrlList) {
+				this.imgUrlList = imgUrlList;
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.example {
+		padding: 15px;
+		background-color: #fff;
+	}
+
+	.segmented-control {
+		margin-bottom: 15px;
+	}
+
+	.button-group {
+		margin-top: 15px;
+		display: flex;
+		justify-content: space-around;
+	}
+
+	.form-item {
+		display: flex;
+		align-items: center;
+	}
+
+	.button {
+		display: flex;
+		align-items: center;
+		height: 35px;
+		margin-left: 10px;
+	}
+</style>

+ 5 - 0
pages/me/me.vue

@@ -53,6 +53,11 @@ export default {
 					id: 'matters/matters',
 					id: 'matters/matters',
 					name: '我的事项',
 					name: '我的事项',
 					open: false,
 					open: false,
+				},
+				{
+					id: 'myPayKnow/myPayKnow',
+					name: '我的付费知识',
+					open: false,
 				}
 				}
 			]
 			]
 		};
 		};

+ 95 - 74
pages/me/nameAuthentication.vue

@@ -1,81 +1,102 @@
 <template>
 <template>
-	<uni-section title="自定义校验规则" type="line">
-			<view class="example">
-				<!-- 自定义表单校验 -->
-				<uni-forms ref="customForm" :rules="customRules" :modelValue="form">
-					<uni-forms-item label="姓名" required name="name">
-						<uni-easyinput v-model="form.name" placeholder="请输入姓名" />
-					</uni-forms-item>
-					<uni-forms-item label="电话" required name="phone">
-						<uni-easyinput v-model="form.phone" placeholder="请输入电话" />
-					</uni-forms-item>
-					<uni-forms-item label="身份证号" required name="idCard">
-						<uni-easyinput v-model="form.idCard" placeholder="请输入身份证号" />
-					</uni-forms-item>
-					<uni-forms-item label="身份证正反面" required name="path">
-						<upload :imgArr="imageList" name="path" v-model="form.path" :fileSize="1" :limit="2" @updateImg="updateImg"></upload>
-					</uni-forms-item>
-				</uni-forms>
-				<button type="primary" @click="submitForm('customForm')">提交</button>
-			</view>
-		</uni-section>
+    <uni-section title="实名认证" type="line">
+        <view class="example">
+            <!-- 自定义表单校验 -->
+            <uni-forms ref="customForm" :rules="customRules" :modelValue="form">
+                <uni-forms-item label="姓名" required name="name">
+                    <uni-easyinput v-model="form.name" placeholder="请输入姓名" maxlength="20"/>
+                </uni-forms-item>
+                <uni-forms-item label="电话" required name="phone">
+                    <uni-easyinput v-model="form.phone" placeholder="请输入电话" maxlength="13"/>
+                </uni-forms-item>
+                <uni-forms-item label="身份证号" required name="idCard">
+                    <uni-easyinput v-model="form.idCard" placeholder="请输入身份证号" maxlength="18"/>
+                </uni-forms-item>
+                <uni-forms-item label="身份证正反面" required name="path">
+                    <upload :imgArr="imageList" name="path" v-model="form.path" :fileSize="1" :limit="2"
+                            @updateImg="updateImg"></upload>
+                </uni-forms-item>
+            </uni-forms>
+            <button type="primary" @click="submitForm('customForm')">提交</button>
+        </view>
+    </uni-section>
 </template>
 </template>
 
 
 <script>
 <script>
-import upload from '../../components/upload/index.vue'
-import {appletAdd} from '@/api/me/nameAuthentication.js'
-export default {
-	components: {
-		upload
-	},
-	onReady() {
-		// 设置自定义表单校验规则,必须在节点渲染完毕后执行
-		this.$refs.customForm.setRules(this.customRules)
-	},
-	data() {
-		return{
-			form:{
-				
-			},
-			// 表单校验
-			customRules: {
-				name: {
-					rules: [{
-						required: true,
-						errorMessage: '姓名不能为空'
-					}]
-				},
-			},
-			imageList:[]
-		}
-	},
-	methods: {
-	    // 取消按钮
-	    cancel() {
-	      this.open = false;
-	      this.reset();
-	    },
-	    /** 提交按钮 */
-	    submitForm(e) {
-			console.log("11111")
-			this.$refs[e].validate().then(res => {
-				console.log('success', res);
-				uni.showToast({
-				  title: `校验通过`
-				})
-			  }).catch(err => {
-				console.log('err', err);
-			})
-			let path = this.imageList.join(',');
-			console.log(path)
-			this.form.path = path
-			appletAdd(this.form).then(res =>{})
-	    },
-		updateImg(imgList){
-			this.imageList = imgList;
-		}
-	}
-};
+    import upload from '../../components/upload/index.vue'
+    import {appletAdd} from '@/api/me/nameAuthentication.js'
+
+    export default {
+        components: {
+            upload
+        },
+        onReady() {
+            // 设置自定义表单校验规则,必须在节点渲染完毕后执行
+            this.$refs.customForm.setRules(this.customRules)
+        },
+        data() {
+            return {
+                form: {},
+                // 表单校验
+                customRules: {
+                    name: {
+                        rules: [{
+                            required: true,
+                            errorMessage: '姓名不能为空'
+                        }]
+                    },
+                    phone: {
+                        rules: [{
+                            required: true,
+                            errorMessage: '电话不能为空'
+                        },
+						{
+						  pattern:'^1[3456789]\\d{9}$',
+						  errorMessage: '请填写正确的手机号'
+						}]
+                    },
+                    idCard: {
+                        rules: [{
+                            required: true,
+                            errorMessage: '身份证号不能为空'
+                        },
+						{
+						  pattern: '/(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)/',
+						  errorMessage: '请填写正确的身份号'
+						}]
+                    },
+                    path: {
+                        rules: [{
+                            required: true,
+                            errorMessage: '身份证正反面不能为空'
+                        }]
+                    },
+                },
+                imageList: []
+            }
+        },
+        methods: {
+            // 取消按钮
+            cancel() {
+                this.open = false;
+                this.reset();
+            },
+            /** 提交按钮 */
+            submitForm(e) {
+                this.$refs[e].validate().then(res => {
+                    appletAdd(this.form).then(res => {
+						uni.navigateBack();
+					});
+                }).catch(err => {
+                })
+            },
+
+            updateImg(imgList) {
+                this.imageList = imgList;
+                this.form.path = this.imageList.join(',');
+            }
+        }
+    };
 </script>
 </script>
 
 
 <style>
 <style>

+ 91 - 73
pages/me/officialAuthentication.vue

@@ -1,80 +1,98 @@
 <template>
 <template>
-	<uni-section title="自定义校验规则" type="line">
-			<view class="example">
-				<!-- 自定义表单校验 -->
-				<uni-forms ref="customForm" :rules="customRules" :modelValue="form">
-					<uni-forms-item label="企业名称" required name="enterpriseName">
-						<uni-easyinput v-model="form.enterpriseName" placeholder="请输入企业名称" />
-					</uni-forms-item>
-					<uni-forms-item label="法人姓名" required name="legalName">
-						<uni-easyinput v-model="form.legalName" placeholder="请输入法人姓名" />
-					</uni-forms-item>
-					<uni-forms-item label="联系电话" required name="phone">
-						<uni-easyinput v-model="form.phone" placeholder="请输入联系电话" />
-					</uni-forms-item>
-					<uni-forms-item label="证照信息" required name="path">
-						<upload :imgArr="imageList" name="path" v-model="form.path" :fileSize="1" :limit="3" @updateImg="updateImg"></upload>
-					</uni-forms-item>
-				</uni-forms>
-				<button type="primary" @click="submitForm('customForm')">提交</button>
-			</view>
-		</uni-section>
+    <uni-section title="官方认证" type="line">
+        <view class="example">
+            <!-- 自定义表单校验 -->
+            <uni-forms ref="customForm" :rules="customRules" :modelValue="form">
+                <uni-forms-item label="企业名称" required name="enterpriseName">
+                    <uni-easyinput v-model="form.enterpriseName" placeholder="请输入企业名称" maxlength="20"/>
+                </uni-forms-item>
+                <uni-forms-item label="法人姓名" required name="legalName">
+                    <uni-easyinput v-model="form.legalName" placeholder="请输入法人姓名" maxlength="32"/>
+                </uni-forms-item>
+                <uni-forms-item label="联系电话" required name="phone">
+                    <uni-easyinput v-model="form.phone" placeholder="请输入联系电话" maxlength="13"/>
+                </uni-forms-item>
+                <uni-forms-item label="证照信息" required name="path">
+                    <upload :imgArr="imageList" name="path" v-model="form.path" :fileSize="1" :limit="3"
+                            @updateImg="updateImg"></upload>
+                </uni-forms-item>
+            </uni-forms>
+            <button type="primary" @click="submitForm('customForm')">提交</button>
+        </view>
+    </uni-section>
 </template>
 </template>
 
 
 <script>
 <script>
-import upload from '../../components/upload/index.vue'
-import {appletAdd} from '@/api/me/officialAuthentication.js'
-export default {
-	components: {
-		upload
-	},
-	onReady() {
-		// 设置自定义表单校验规则,必须在节点渲染完毕后执行
-		this.$refs.customForm.setRules(this.customRules)
-	},
-	data() {
-		return{
-			form:{
-				
-			},
-			// 表单校验
-			customRules: {
-				name: {
-					rules: [{
-						required: true,
-						errorMessage: '姓名不能为空'
-					}]
-				},
-			},
-			imageList:[]
-		}
-	},
-	methods: {
-	    // 取消按钮
-	    cancel() {
-	      this.open = false;
-	      this.reset();
-	    },
-	    /** 提交按钮 */
-	    submitForm(e) {
-			console.log("11111")
-			this.$refs[e].validate().then(res => {
-				console.log('success', res);
-				uni.showToast({
-				  title: `校验通过`
-				})
-			  }).catch(err => {
-				console.log('err', err);
-			})
-			let path = this.imageList.join(',');
-			this.form.path = path
-			appletAdd(this.form).then(res =>{})
-	    },
-		updateImg(imgList){
-			this.imageList = imgList;
-		}
-	}
-};
+    import upload from '../../components/upload/index.vue'
+    import {appletAdd} from '@/api/me/officialAuthentication.js'
+
+    export default {
+        components: {
+            upload
+        },
+        onReady() {
+            // 设置自定义表单校验规则,必须在节点渲染完毕后执行
+            this.$refs.customForm.setRules(this.customRules)
+        },
+        data() {
+            return {
+                form: {},
+                // 表单校验
+                customRules: {
+                    enterpriseName: {
+                        rules: [{
+                            required: true,
+                            errorMessage: '企业名称不能为空'
+                        }]
+                    },
+                    legalName: {
+                        rules: [{
+                            required: true,
+                            errorMessage: '法人姓名不能为空'
+                        }]
+                    },
+                    phone: {
+                        rules: [{
+                            required: true,
+                            errorMessage: '联系电话不能为空'
+                        },
+						{
+						  pattern:'^1[3456789]\\d{9}$',
+						  errorMessage: '请填写正确的手机号'
+						}]
+                    },
+                    path: {
+                        rules: [{
+                            required: true,
+                            errorMessage: '证照信息不能为空'
+                        }]
+                    },
+                },
+                imageList: []
+            }
+        },
+        methods: {
+            // 取消按钮
+            cancel() {
+                this.open = false;
+                this.reset();
+            },
+            /** 提交按钮 */
+            submitForm(e) {
+                this.$refs[e].validate().then(res => {
+					appletAdd(this.form).then(res => {
+						uni.navigateBack();
+					})
+                }).catch(err => {
+                    console.log('err', err);
+                })
+            },
+            updateImg(imgList) {
+                this.imageList = imgList;
+                this.form.path = this.imageList.join(',');
+            }
+        }
+    };
 </script>
 </script>
 
 
 <style>
 <style>

+ 161 - 0
pages/myPayKnow/informationDetail.css

@@ -0,0 +1,161 @@
+/* pages/wenbaxiangqing.wxss */
+.title {
+    font-size: 44rpx;
+    text-align: center;
+    line-height: 70rpx;
+    color: #333;
+    margin: 30rpx 0;
+}
+.wenzhangLy {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 14rpx 0;
+}
+.txTime {
+    display: flex;
+    flex-direction: row;
+}
+.txTime image {
+    width: 80rpx;
+    height: 80rpx;
+}
+.time {
+    display: flex;
+    flex-direction: column;
+    padding: 10rpx 0 0 8px;
+}
+.time p {
+    font-size: 28rpx;
+    color: #9c9c9c;
+}
+.time span {
+    font-size: 24rpx;
+    color: #c4c4c4;
+}
+
+.jf {
+    color: #07c160;
+    line-height: 80rpx;
+    font-size: 24rpx;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.ck {
+    color: #c4c4c4;
+    font-size: 28rpx;
+}
+.icon-pinglun,
+.icon-chakan,
+.ck .icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+    line-height: 0;
+}
+.wenzhangCont {
+	width: 100vw;
+    font-size: 34rpx;
+    margin: 30rpx 0;
+}
+.wenzhangCont image {
+    width: 100%;
+    height: 320rpx;
+    margin: 20rpx auto;
+}
+.pinglunTj {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0;
+}
+.pinglunTitle {
+    font-size: 34rpx;
+    color: #2e2e2e;
+    font-weight: 600;
+}
+.pinglunTitle em {
+    font-size: 34rpx;
+    color: #9b9b9b;
+    font-weight: normal;
+    margin: 0 0 0 10rpx;
+}
+.pinglunList {
+    width: 100%;
+    padding: 0 0 120rpx 0;
+}
+.pinglunList li {
+    margin: 20rpx 0;
+    border-bottom: solid 2rpx #e8e8e8;
+    padding: 0 0 20rpx 0;
+    display: flex;
+    flex-direction: column;
+}
+.plListcont {
+    font-size: 30rpx;
+    color: #696868;
+    margin: 20rpx 0;
+}
+.pinglunList li button {
+    width: 80%;
+    border-radius: 10rpx;
+    background: #07c160;
+    color: #fff;
+    font-size: 28rpx;
+    font-weight: normal;
+    margin: 16rpx auto;
+}
+.fabiaoPl {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    position: fixed;
+    left: 0;
+    bottom: 0;
+    height: 112rpx;
+    background: #e8e8e8;
+    box-shadow: 0rpx 0rpx 16rpx #999;
+}
+.shuRu {
+    width: 72%;
+    display: flex;
+    flex-direction: row;
+    height: 76rpx;
+    background: #e0e0e0;
+    border-radius: 60rpx;
+    margin: 20rpx 0 0 20rpx;
+}
+.shuRu input {
+    line-height: 38px;
+    height: 76rpx;
+    font-size: 30rpx;
+    width: 83%;
+}
+.icon-bianji {
+    font-size: 38rpx;
+    line-height: 76rpx;
+    margin: 0 10rpx 0 20rpx;
+    color: #828181;
+}
+.icon-shoucang {
+    font-size: 50rpx;
+    line-height: 112rpx;
+    color: #828181;
+}
+.fasong {
+    width: 58rpx;
+    height: 58rpx;
+    border-radius: 50rpx;
+    background: #07c160;
+    margin: 26rpx 20rpx 0 10rpx;
+    text-align: center;
+    line-height: 58rpx;
+}
+.icon-fasong {
+    font-size: 40rpx;
+    color: #fff;
+}

+ 233 - 0
pages/myPayKnow/informationDetail.vue

@@ -0,0 +1,233 @@
+<template>
+    <view>
+        <!-- pages/me.wxml -->
+        <view class="container">
+            <h1 class="title">{{ detailInfo.titleName }}</h1>
+            <view class="wenzhangLy">
+                <!-- 头像昵称 -->
+                <!-- <view class="txTime"> -->
+                    <!-- <image :src="loadImgSrc(detailInfo.headImg!=null?detailInfo.headImg:'/profile/upload/2024/03/05/abf969632ee94bd5a429c8c2dbb2f6b4 (1)_20240305092823A002.png')" style="border-radius: 50px;"></image> -->
+                    <!-- <view class="time">
+                        <p>{{detailInfo.nickName?detailInfo.nickName:'网友'}}</p>
+                        <span>{{ detailInfo.createTime }}</span>
+                    </view> -->
+                <!-- </view> -->
+                <!-- 积分 -->
+<!--                <span class="jf">100</span> -->
+            </view>
+            <view class="wenzhangCont article">
+                <span v-html="detailInfo.textDetails">
+                </span>
+
+                <view >
+                    <!-- 图片轮播 -->
+                    <swiper :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval" :duration="duration" :circular="circular">
+                        <block v-for="(one, index) in detailInfo.urls" :key="index">
+                            <swiper-item><image :src="loadImgSrc(one)"  style="background-size: 100% 100%;"></image></swiper-item>
+                        </block>
+                    </swiper>
+                </view>
+            </view>
+
+
+        </view>
+	</view>
+</template>
+
+<script>
+export default {
+    data() {
+        return {
+			anwserVal:'',
+			anwserList:[
+				{
+					deptName:'国家乡村振兴局',
+					updateTime:'2023-2-27 16:04',
+					desc:'用好政策效果评估成果,进一步优化巩固拓展脱贫攻坚成果同乡村振兴有效衔接政策供给,为推动工作提质增效提供有力支撑保障。',
+				}
+			],
+			isCollection:false,
+			isAdopt:false,
+			adoptTopSize:'115',
+			adoptIndex:null,
+			detailInfo:{},
+        };
+    },
+	methods: {
+		// 评论回答
+		answerFunc(){
+			this.anwserList.push({
+				deptName:'国家烟草局',
+				updateTime:new Date().getFullYear() + "-" + new Date().getMonth() + "-" + new Date().getDay() + " " + (new Date().getHours() < 10 ? "0" + new Date().getHours() : new Date().getHours()) + ':' + (new Date().getMinutes() < 10 ? "0" + new Date().getMinutes() : new Date().getMinutes()),
+				desc:this.anwserVal,
+			})
+			this.anwserVal = null
+		},
+		adoptFunc(idx){
+			this.adoptIndex = idx
+			this.isAdopt = true
+		},
+		// 标记喜欢
+		collectionFunc(){
+			this.isCollection = !this.isCollection
+		}
+	}
+    /**
+     * 生命周期函数--监听页面加载
+     */,
+    onLoad(options) {
+		 this.detailInfo = JSON.parse(options.obj)
+	  },
+    /**
+     * 生命周期函数--监听页面初次渲染完成
+     */
+    onReady(e) {
+	},
+    /**
+     * 生命周期函数--监听页面显示
+     */
+    onShow() {},
+    /**
+     * 生命周期函数--监听页面隐藏
+     */
+    onHide() {},
+    /**
+     * 生命周期函数--监听页面卸载
+     */
+    onUnload() {},
+    /**
+     * 页面相关事件处理函数--监听用户下拉动作
+     */
+    onPullDownRefresh() {},
+    /**
+     * 页面上拉触底事件的处理函数
+     */
+    onReachBottom() {},
+    /**
+     * 用户点击右上角分享
+     */
+    onShareAppMessage() {},
+};
+</script>
+<style lang="scss">
+@import './informationDetail.css';
+
+.collect{
+	.icon-shoucang:before{
+		color: red;
+	}
+}
+.not-collect{
+
+}
+.effectBix{
+	width: 56px;
+	height: 56px;
+	border-radius: 50px;
+	font-family: 'Bebas Neue', cursive;
+	background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
+	border: 0;
+	color: #fff;
+	text-align: center;
+	line-height: 56px;
+	outline: transparent;
+	position: absolute;
+	transform: rotate(-30deg);
+	right:3%;
+	top: -5%;
+}
+
+.effectBox, .effectBox::after {
+  width: 56px;
+  height: 56px;
+  border-radius: 50px;
+  font-size: 16px;
+  font-family: 'Bebas Neue', cursive;
+  background: linear-gradient(45deg, transparent 5%, #FF013C 5%);
+  border: 0;
+  color: #fff;
+  opacity: 1;
+  letter-spacing: 3px;
+  text-align: center;
+  line-height: 56px;
+  outline: transparent;
+  position: relative;
+  left: 78%;
+  top: 113%;
+  transform: rotate(-30deg);
+  z-index: 1;
+}
+
+.effectBox::after {
+  --slice-0: inset(50% 50% 50% 50%);
+  --slice-1: inset(80% -6px 0 0);
+  --slice-2: inset(50% -6px 30% 0);
+  --slice-3: inset(10% -6px 85% 0);
+  --slice-4: inset(40% -6px 43% 0);
+  --slice-5: inset(80% -6px 5% 0);
+
+  content: 'AVAILABLE NOW';
+  display: block;
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background: linear-gradient(45deg, transparent 3%, #00E6F6 3%, #00E6F6 5%, #FF013C 5%);
+  text-shadow: -3px -3px 0px #F8F005, 3px 3px 0px #00E6F6;
+  clip-path: var(--slice-0);
+}
+
+.effectBox:hover::after {
+  animation: 1s glitch;
+  animation-timing-function: steps(2, end);
+}
+
+@keyframes glitch {
+  0% {
+    clip-path: var(--slice-1);
+    transform: translate(-20px, -10px);
+  }
+  10% {
+    clip-path: var(--slice-3);
+    transform: translate(10px, 10px);
+  }
+  20% {
+    clip-path: var(--slice-1);
+    transform: translate(-10px, 10px);
+  }
+  30% {
+    clip-path: var(--slice-3);
+    transform: translate(0px, 5px);
+  }
+  40% {
+    clip-path: var(--slice-2);
+    transform: translate(-5px, 0px);
+  }
+  50% {
+    clip-path: var(--slice-3);
+    transform: translate(5px, 0px);
+  }
+  60% {
+    clip-path: var(--slice-4);
+    transform: translate(5px, 10px);
+  }
+  70% {
+    clip-path: var(--slice-2);
+    transform: translate(-10px, 10px);
+  }
+  80% {
+    clip-path: var(--slice-5);
+    transform: translate(20px, -10px);
+  }
+  90% {
+    clip-path: var(--slice-1);
+    transform: translate(-10px, 0px);
+  }
+  100% {
+    clip-path: var(--slice-1);
+    transform: translate(0);
+  }
+}
+
+</style>

+ 103 - 0
pages/myPayKnow/myPayKnow.css

@@ -0,0 +1,103 @@
+/* pages/wenda/wenda.wxss */
+.wendaFL {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 30rpx 0 0 0;
+}
+.wendaFL li {
+    width: 48%;
+    height: 168rpx;
+    position: relative;
+}
+.lbBj {
+    position: absolute;
+    left: 0;
+    top: 0;
+    z-index: 0;
+    width: 100%;
+    height: 100%;
+}
+.wendaFL li h2 {
+    font-size: 36rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 40rpx;
+    z-index: 1;
+    font-weight: bold;
+}
+.wendaFL li span {
+    font-size: 30rpx;
+    position: absolute;
+    left: 30rpx;
+    top: 88rpx;
+    z-index: 1;
+}
+.wendaFL li.sanNong {
+    color: #0d9970;
+}
+.wendaFL li.jiuYe {
+    color: #1e8fb4;
+}
+.wendaFL li.faLv {
+    color: #1e5dab;
+}
+.wendaFL li.jiuZhen {
+    color: #4a700d;
+}
+/* 列表 */
+.rnwdList {
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    margin: 20rpx 0;
+}
+.list {
+    width: 79%;
+}
+.lb {
+    background: #0d9970;
+    color: #fff;
+    font-size: 24rpx;
+    width: 12%;
+    text-align: center;
+    padding: 2rpx 0;
+    line-height: 40rpx;
+    height: 40rpx;
+    border-radius: 10rpx;
+}
+.listTitle {
+    font-size: 32rpx;
+    color: #333;
+    line-height: 40rpx;
+}
+.jlSj {
+    height: 40rpx;
+    display: flex;
+    justify-content: space-between;
+    font-size: 24rpx;
+    margin: 20rpx 0 0 0;
+}
+.jf {
+    color: #07c160;
+}
+.icon-jifen {
+    font-size: 28rpx;
+    color: #07c160;
+    margin: 0 0 0 6rpx;
+}
+.ck {
+    color: #c4c4c4;
+}
+.icon-pinglun,
+.icon-chakan,
+.icon-shoucang {
+    font-size: 28rpx;
+    margin: 0 6rpx 0 20rpx;
+    color: #c4c4c4;
+}
+.icon-xiangyoujiantou {
+    font-size: 30rpx;
+    color: #c4c4c4;
+    line-height: 60rpx;
+}

+ 100 - 0
pages/myPayKnow/myPayKnow.vue

@@ -0,0 +1,100 @@
+<template>
+    <!-- pages/fuwu/fuwu.wxml -->
+    <view class="container">
+        <view class="rnwdList" @tap="goDetails(item)" v-for="(item, index) in wb" :key="index">
+            <span class="lb">{{ item.popular == '1' ? '热门' : '非热门' }}</span>
+
+            <view class="list">
+                <span class="listTitle">{{ item.titleName }}</span>
+                <view class="jlSj">
+                    <span class="jf">
+                        {{ item.updateTime || item.createTime }}
+                    </span>
+                    <view class="ck">
+                       <span class="jf">
+                           {{ item.integral }}
+                           <em class="iconfont icon-jifen"></em>
+                       </span>
+                        <span>
+                            <em class="iconfont icon-chakan"></em>
+                            {{ item.watchNum }}
+                        </span>
+                        <span>
+                            <em class="iconfont icon-shoucang"></em>
+                            {{ item.likeNum }}
+                        </span>
+                    </view>
+                </view>
+            </view>
+        </view>
+    </view>
+</template>
+
+<script>
+	import {myPayKnow} from '@/api/me/me.js'
+	
+export default {
+    data() {
+        return {
+			query:{
+				pageSize:10,
+				pageNum:1,
+				createId:null
+			},
+            wb: [],
+			total:0
+        };
+    }
+    /**
+     * 生命周期函数--监听页面加载
+     */,
+	 onReachBottom(){
+	 	let pageNum = this.query.pageNum
+	 	let pageSize = this.query.pageSize
+	 	let total = this.total
+	 	if(pageNum*pageSize >= total){
+	 		uni.showToast({
+	 			title:'暂无更多数据'
+	 		})
+	 		return
+	 	} else {
+	 		this.query.pageNum += 1;
+	 		this.getlist()
+	 	}
+	 },
+	 onPullDownRefresh() {
+	   this.query.pageNum = 1;
+	   this.wb = [];
+	   this.getlist()
+	 },
+    onLoad(options) {
+		// this.query.createId = getApp().globalData.userId
+		this.query.createId = '1763382026214764546'
+		this.getlist()
+    },
+    methods: {
+		getlist(){
+			myPayKnow(this.query).then(res=>{
+				this.wb = [...this.wb,...res.rows]
+				this.total = res.total
+			})
+			uni.stopPullDownRefresh();
+		},
+        goSanNong() {
+            uni.navigateTo({
+                url: '/pages/sannong/sannong'
+            });
+        },
+
+        goDetails(item) {
+			if(item==null) return;
+            uni.navigateTo({
+                url: '/pages/myPayKnow/informationDetail?obj='+ JSON.stringify(item)
+            });
+        }
+    }
+};
+</script>
+<style>
+@import './myPayKnow.css';
+</style>

+ 13 - 6
pages/quotations/quotations.vue

@@ -92,12 +92,19 @@ export default {
     this.getList()
     this.getList()
   },
   },
   //上拉加载
   //上拉加载
-  onReachBottom() {
-    if (this.status === 'noMore') {
-      return;
-    }
-    this.queryParams.pageNum++;
-    this.getList();
+  onReachBottom(){
+  	let pageNum = this.queryParams.pageNum
+  	let pageSize = this.queryParams.pageSize
+  	let total = this.total
+  	if(pageNum*pageSize >= total){
+  		uni.showToast({
+  			title:'暂无更多数据'
+  		})
+  		return
+  	} else {
+  		this.queryParams.pageNum += 1;
+  		this.getList()
+  	}
   },
   },
   onLoad() {
   onLoad() {
     this.getList();
     this.getList();

+ 1 - 1
pages/topic/topic.vue

@@ -39,7 +39,7 @@
 		},
 		},
 		methods: {
 		methods: {
 			onMatters(data){
 			onMatters(data){
-				uni.setStorageSync('data', {type:data.deptName})
+				uni.setStorageSync('data', {type:data.deptName,examine:1})
 				uni.navigateTo({
 				uni.navigateTo({
 					url: '/pages/matterAll/matterAll',
 					url: '/pages/matterAll/matterAll',
 				});
 				});