Zhengxiaowei hace 5 años
padre
commit
8841305c9d

+ 4 - 0
src/api/index.js

@@ -79,7 +79,11 @@ export const getUserShelfBooks = () => {
 export const getCatalog = params => {
   return fly.get(`/books/${params.bid}/catalog`, params);
 };
+//获取签到记录
 
+export const getSignRecord = params => {
+  return fly.get(`/user/sign_record`, params);
+};
 // 获取章节内容
 export const getChapters = params => {
   return fly.get(`/books/${params.bid}/chapters/${params.chapter_id}`);

+ 28 - 0
src/assets/less/sign.less

@@ -0,0 +1,28 @@
+.sign {
+	&-wrap{
+		flex-direction: column;
+	}
+  &-tips {
+		color:#ef5952;
+		font-size:40px;
+		margin-top:40px;
+		line-height:80px;
+		font-weight: bold;
+		text-align: center;
+	}
+	&-list{
+		flex-direction: column;
+	}
+	&-item{
+		flex-direction: column;
+    margin: 24px;
+    border-bottom: 2px solid #f6f6f6;
+    color: #999;
+		justify-content: center;
+		padding-bottom: 10px;
+	}
+	&-date,&-fee{
+		line-height: 50px;
+		font-size:26px;
+	}
+}

+ 7 - 0
src/manifest.json

@@ -97,6 +97,9 @@
       },
       "views/Pay": {
         "component": "index"
+      },
+      "views/Sign": {
+        "component": "index"
       }
     },
     "widgets": {}
@@ -122,6 +125,10 @@
         "titleBarText": "我的书架",
         "menu": false
       },
+      "views/Sign": {
+        "titleBarText": "签到详情",
+        "menu": false
+      },
       "views/My": {
         "titleBarText": "个人中心",
         "menu": false

+ 1 - 1
src/views/My/index.ux

@@ -14,7 +14,7 @@
           充值
         </text>
       </div>
-      <div class="operator-item" @click="toUrl('https://sitenlp5w4yepme7xrqz.zhuishuyun.com/sign')">
+      <div class="operator-item" @click="pageChange('Sign')">
         <div class="item-name">
           <image src="../../assets/imgs/sign.png"></image>
           <text>签到</text>

+ 14 - 1
src/views/Reader/index.ux

@@ -55,13 +55,17 @@ export default {
       this.bookinfo = r
       this.$element('list').scrollTo({ index: 0 })
     }).catch(e => {
+      console.log('e code')
+      console.log(e.data)
+      console.log(e.data.code == '10016' || e.data.code == '10019')
       if (e.data.code == '10016' || e.data.code == '10019') {
         chapterOrders({ bid: bid, chapter_id: chapter_id }).then(r => {
-          console.log(r)
           this.content = r.chapter_content.trim().split(/\n/)
           this.bookinfo = r
           this.$element('list').scrollTo({ index: 0 })
         }).catch(f => {
+          console.log('f code')
+          console.log(f.data)
           if (f.data.code == '10014' || f.data.code == '10015') {
             router.push({
               uri: "/views/Pay",
@@ -73,6 +77,15 @@ export default {
             })
           }
         })
+      } else if (e.data.code == '10014' || e.data.code == '10015') {
+        router.push({
+          uri: "/views/Pay",
+          params: {
+            code: e.data.code,
+            fee: e.data.data.fee,
+            bid: this.bid
+          }
+        })
       }
     })
   },

+ 0 - 2
src/views/Recharge/index.ux

@@ -47,7 +47,6 @@ export default {
       total: 0,
       current: 1
     },
-    user: {},
   },
   onInit() {
     this.getOrder();
@@ -56,7 +55,6 @@ export default {
   async getUserInfo() {
     let user = await getUserInfo();
     this.user = user;
-    console.log(this.user, 'rrrrrrrrrrr')
   },
   async getOrder(page = 1, page_size = 10) {
     let res = await rechargeApi({ page: page, page_size });

+ 79 - 0
src/views/Sign/index.ux

@@ -0,0 +1,79 @@
+<import name="x-page" src="../../components/page/page.ux"></import>
+<template>
+	<div class="sign-wrap">
+		<text class="sign-tips" if="{{signToday}}">
+			今日签到成功!{{signTodayFee}}书币已到账
+		</text>
+		<text class="sign-tips" else>
+			今日还未签到,快去首页签到领奖励吧
+		</text>
+		<div class="sign-list" if={{showSignList}}>
+			<block for="{{signList}}">
+				<div class="sign-item">
+					<text class="sign-fee">签到得币:{{$item.reward}}</text>
+					<text class="sign-date">签到日期:{{$item.sign_time}}</text>
+				</div>
+			</block>
+		</div>
+		<x-page current="{{page.current}}" total="{{page.total}}" @prev="prev" @next="next"></x-page>
+	</div>
+</template>
+<script>
+import { getSignRecord } from "../../api/index";
+export default {
+	private: {
+		signList: [
+
+		],
+		signToday: false,
+		signTodayFee: 0,
+		page: {
+			total: 0,
+			current: 1
+		},
+	},
+	computed: {
+		showSignList() {
+			return this.signList.length > 0;
+		}
+	},
+	onInit() {
+		this.getUserRecord(1, this.getDate());
+	},
+	getDate() {
+		let date = new Date();
+		let fullYear = date.getFullYear();
+		let month = date.getMonth() + 1;
+		let ms = month < 10 ? "-" + "0" + month : "-" + month;
+		let day = date.getDate();
+		let ds = day < 10 ? "-" + "0" + day : "-" + day;
+		let rs = fullYear + ms + ds;
+		return rs;
+	},
+	async getUserRecord(page = 1, date) {
+		let res = await getSignRecord({ page: page, date });
+		if (res.sign_status) {
+			this.signToday = true;
+			this.signTodayFee = res.sign_today.reward;
+		}
+		let { list, meta } = res.sign_result;
+		this.signList = list;
+		this.page = {
+			total: meta.last_page,
+			current: meta.current_page
+		}
+	},
+	prev() {
+		this.getUserRecord(--this.page.current, this.getDate());
+	},
+	next() {
+		this.getUserRecord(++this.page.current, this.getDate());
+	}
+
+}
+</script>
+<style lang="less">
+@import "../../assets/less/sign.less";
+</style>
+
+