| @@ -3,6 +3,13 @@ import { timestampToTime } from './utils/util' | |||
| App({ | |||
| globalData: { | |||
| sessionKey: "", | |||
| openId: "", | |||
| token: "", | |||
| userInfo: null, | |||
| promotContentCount: "", | |||
| completionContentCount: "", | |||
| noticeText: "" | |||
| }, | |||
| onLaunch() { | |||
| const that = this | |||
| @@ -38,9 +45,8 @@ App({ | |||
| that.globalData.openId = res.data.openId | |||
| wx.setStorageSync('token', res.data.token) | |||
| that.globalData.token = res.data.token | |||
| // 检查用户信息 | |||
| checkUserInfo() | |||
| // 获取通知栏信息文本 | |||
| getNoticeText() | |||
| }).catch(err => { | |||
| console.log(err); | |||
| wx.showToast({ | |||
| @@ -80,5 +86,27 @@ App({ | |||
| console.log(err, 'err'); | |||
| }) | |||
| } | |||
| /** | |||
| * @description 获取通知栏信息文本 | |||
| * @returns list | |||
| */ | |||
| const getNoticeText = () => { | |||
| const that = this | |||
| request.get({ | |||
| url: '/api/notice/list' | |||
| }).then(res => { | |||
| console.log(res, 'getNoticeText'); | |||
| let noticeText = '' | |||
| res.data.forEach((item, index) => { | |||
| noticeText += index + 1 + '、' + item.content + ' ' | |||
| }) | |||
| that.globalData.noticeText = noticeText | |||
| // 检查用户信息 | |||
| checkUserInfo() | |||
| }).catch(err => { | |||
| console.log(err, 'err'); | |||
| }) | |||
| } | |||
| }, | |||
| }) | |||
| @@ -7,7 +7,8 @@ | |||
| "pages/chat/chat", | |||
| "pages/orderDetail/orderDetail", | |||
| "pages/userProtocol/userProtocol", | |||
| "pages/mine/mine" | |||
| "pages/mine/mine", | |||
| "pages/productDetail/productDetail" | |||
| ], | |||
| "window": { | |||
| "backgroundTextStyle": "light", | |||
| @@ -18,6 +19,7 @@ | |||
| "style": "v2", | |||
| "sitemapLocation": "sitemap.json", | |||
| "usingComponents": { | |||
| "van-notice-bar": "@vant/weapp/notice-bar/index", | |||
| "van-toast": "@vant/weapp/toast/index" | |||
| } | |||
| } | |||
| @@ -21,7 +21,8 @@ Page({ | |||
| clearTimer: null, | |||
| interval: null, | |||
| promotContentCount: 0, | |||
| completionContentCount: 0 | |||
| completionContentCount: 0, | |||
| noticeText: '' | |||
| }, | |||
| /** | |||
| @@ -32,7 +33,8 @@ Page({ | |||
| this.chatLimit() | |||
| this.setData({ | |||
| promotContentCount: wx.getStorageSync('promotContentCount'), | |||
| completionContentCount: wx.getStorageSync('completionContentCount') | |||
| completionContentCount: wx.getStorageSync('completionContentCount'), | |||
| noticeText: app.globalData.noticeText ? app.globalData.noticeText : '' | |||
| }) | |||
| }, | |||
| @@ -67,6 +69,12 @@ Page({ | |||
| }) | |||
| }, | |||
| // 跳转至产品详情页面 | |||
| goToProductDetail() { | |||
| wx.navigateTo({ | |||
| url: '/pages/productDetail/productDetail', | |||
| }) | |||
| }, | |||
| chatLimit() { | |||
| request.get({ | |||
| @@ -1,4 +1,7 @@ | |||
| <!--pages/chat/chat.wxml--> | |||
| <block wx:if="{{noticeText}}" class="noticeBar"> | |||
| <van-notice-bar color="#ffffff" background="#4ac987" left-icon="volume-o" text="{{noticeText}}" bindtap="goToProductDetail" /> | |||
| </block> | |||
| <view class="content" id='scrollSingel' bindtap="contentWatch"> | |||
| <view class="chatItem" wx:for="{{chatList}}" wx:key="index"> | |||
| <view class="{{item.id == 1 ? 'chatContent right' : 'chatContent left'}}"> | |||
| @@ -15,7 +15,8 @@ Page({ | |||
| logoActive: false, | |||
| timer: null, | |||
| touchFlag: "", | |||
| isNotRead: true | |||
| isNotRead: true, | |||
| noticeText: '' | |||
| }, | |||
| // 事件处理函数 | |||
| bindViewTap() { | |||
| @@ -34,7 +35,11 @@ Page({ | |||
| userInfo: res.data, | |||
| isPhone: that.data.userInfo.phone ? true : false | |||
| }) | |||
| this.getNoticeText() | |||
| if (app.globalData.noticeText) { | |||
| that.setData({ | |||
| noticeText: app.globalData.noticeText | |||
| }) | |||
| } | |||
| } | |||
| }, | |||
| getUserProfile() { | |||
| @@ -60,6 +65,13 @@ Page({ | |||
| }) | |||
| }, | |||
| // 跳转至产品详情页面 | |||
| goToProductDetail() { | |||
| wx.navigateTo({ | |||
| url: '/pages/productDetail/productDetail', | |||
| }) | |||
| }, | |||
| // 跳转至购买历史页面 | |||
| checkPayHistory() { | |||
| wx.navigateTo({ | |||
| @@ -67,13 +79,11 @@ Page({ | |||
| }) | |||
| }, | |||
| getUserPhone(e) { | |||
| const sessionKey = wx.getStorageSync('sessionKey') | |||
| this.doGetUserPhone(e.detail.encryptedData, e.detail.iv, sessionKey, request.appId) | |||
| }, | |||
| /** 获取手机号授权 */ | |||
| doGetUserPhone(encryptedData, iv, sessionKey, appId) { | |||
| request.post({ | |||
| @@ -172,7 +182,8 @@ Page({ | |||
| checkCheatCodeStatus() { | |||
| if (this.data.logoActive) { | |||
| this.setData({ | |||
| isDevMode: true | |||
| isDevMode: true, | |||
| noticeText: '𝙒𝙚𝙡𝙘𝙤𝙢𝙚 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙚𝙧 𝙔𝙒𝙌 !' | |||
| }) | |||
| } | |||
| }, | |||
| @@ -215,24 +226,6 @@ Page({ | |||
| }) | |||
| }, | |||
| /** | |||
| * @description 获取通知栏信息文本 | |||
| * @returns list | |||
| */ | |||
| getNoticeText() { | |||
| const that = this | |||
| request.get({ | |||
| url: '/api/notice/list' | |||
| }).then(res => { | |||
| console.log(res, 'getNoticeText'); | |||
| that.setData({ | |||
| noticeText: '"小闲聊"是一款基于人工智能技术开发的智能聊天机器人应用' | |||
| }) | |||
| }).catch(err => { | |||
| console.log(err, 'err'); | |||
| }) | |||
| }, | |||
| onShareAppMessage() { | |||
| const promise = new Promise(resolve => { | |||
| setTimeout(() => { | |||
| @@ -1,6 +1,4 @@ | |||
| { | |||
| "navigationBarTitleText": "首页", | |||
| "usingComponents": { | |||
| "van-notice-bar": "@vant/weapp/notice-bar/index" | |||
| } | |||
| "usingComponents": {} | |||
| } | |||
| @@ -2,6 +2,7 @@ | |||
| padding: 0 0 25rpx 0; | |||
| .logo { | |||
| position: relative; | |||
| width: 500rpx; | |||
| height: 120rpx; | |||
| line-height: 120rpx; | |||
| @@ -16,12 +17,28 @@ | |||
| &.active { | |||
| color: aqua; | |||
| } | |||
| .tinyChatICon { | |||
| position: absolute; | |||
| top: 15rpx; | |||
| left: 20rpx; | |||
| width: 60rpx; | |||
| text-align: center; | |||
| transition: all 0.3s; | |||
| &.active { | |||
| transform: scale(1.05); | |||
| } | |||
| image { | |||
| width: 100%; | |||
| } | |||
| } | |||
| } | |||
| .introduction { | |||
| position: relative; | |||
| width: 600rpx; | |||
| height: 850rpx; | |||
| margin: 50rpx auto; | |||
| padding: 0 20rpx; | |||
| border: 1px dashed #747474; | |||
| @@ -37,7 +54,6 @@ | |||
| .contain { | |||
| width: 500rpx; | |||
| height: 520rpx; | |||
| font-size: 30rpx; | |||
| color: #585858; | |||
| text-indent: 1cm; | |||
| @@ -88,27 +104,8 @@ | |||
| } | |||
| .tinyChatICon { | |||
| position: relative; | |||
| top: -85rpx; | |||
| text-align: center; | |||
| transition: all 0.3s; | |||
| &.active { | |||
| transform: scale(1.05); | |||
| } | |||
| image { | |||
| position: absolute; | |||
| left: 50%; | |||
| transform: translate(-50%, 50%); | |||
| width: 100rpx; | |||
| } | |||
| } | |||
| .buttons { | |||
| font-size: 25rpx; | |||
| margin-top: 150rpx; | |||
| .userProtocolModel { | |||
| text-align: center; | |||
| @@ -1,11 +1,14 @@ | |||
| <!--index.wxml--> | |||
| <view class="content"> | |||
| <block wx:if="{{noticeText}}"> | |||
| <van-notice-bar color="#ffffff" background="#4ac987" mode="closeable" left-icon="volume-o" text="{{noticeText}}" /> | |||
| <block wx:if="{{noticeText}}" class="noticeBar"> | |||
| <van-notice-bar color="#ffffff" background="#4ac987" left-icon="volume-o" text="{{noticeText}}" bindtap="goToProductDetail" /> | |||
| </block> | |||
| <view class="{{logoActive ? 'logo active' : 'logo' }}" bindtap="checkCheatCodeStatus"> | |||
| 𝑺𝒎𝒂𝒓𝒕-𝑪𝒉𝒂𝒕 | |||
| <view class="{{logoActive ? 'logo active' : 'logo' }}"> | |||
| <view class="{{holdingSwitch ? 'tinyChatICon active' : 'tinyChatICon' }}" bindtouchstart="iconTouchStart" bindtouchend="iconTouchEnd"> | |||
| <image src="../../asset/icon/tiny-Chat-rotate.png" mode="widthFix" /> | |||
| </view> | |||
| <text bindtap="checkCheatCodeStatus">𝑺𝒎𝒂𝒓𝒕-𝑪𝒉𝒂𝒕</text> | |||
| </view> | |||
| <view class="introduction"> | |||
| <view class="title">欢迎使用小闲聊</view> | |||
| @@ -21,10 +24,6 @@ | |||
| <view class="switch bottomRight" data-flag="bottomRight" bindtap="checkCheatCode"></view> | |||
| </view> | |||
| <view class="{{holdingSwitch ? 'tinyChatICon active' : 'tinyChatICon' }}" bindtouchstart="iconTouchStart" bindtouchend="iconTouchEnd"> | |||
| <image src="../../asset/icon/tiny-Chat.png" mode="widthFix" /> | |||
| </view> | |||
| <view class="buttons"> | |||
| <block wx:if="{{!isDevMode}}"> | |||
| <block wx:if="{{userInfo.isMember == 0 && userInfo.isValid == 0}}"> | |||
| @@ -52,7 +51,7 @@ | |||
| <view wx:if="{{userInfo.coverPhone}}" class="userPhone">当前用户:{{userInfo.coverPhone}}</view> | |||
| <view class="userPhone" wx:if="{{userInfo.validEndTime}}">到期时间:{{userInfo.validEndTime}}</view> | |||
| <view class="payHistory"> | |||
| <text bindtap="checkUserProtocol">用户协议</text> | |||
| <text bindtap="checkUserProtocol" style="margin-right: 20rpx;">用户协议</text> | |||
| <text bindtap="checkPayHistory">延续历史</text> | |||
| </view> | |||
| <button type="primary" bindtap="goToBuy">延续使用</button> | |||
| @@ -0,0 +1,66 @@ | |||
| // pages/productDetail/productDetail.ts | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide() { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload() { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh() { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom() { | |||
| }, | |||
| /** | |||
| * 用户点击右上角分享 | |||
| */ | |||
| onShareAppMessage() { | |||
| } | |||
| }) | |||
| @@ -0,0 +1,4 @@ | |||
| { | |||
| "navigationBarTitleText": "关于我们", | |||
| "usingComponents": {} | |||
| } | |||
| @@ -0,0 +1 @@ | |||
| /* pages/productDetail/productDetail.wxss */ | |||
| @@ -0,0 +1,2 @@ | |||
| <!--pages/productDetail/productDetail.wxml--> | |||
| <text>关于我们</text> | |||
| @@ -36,7 +36,7 @@ | |||
| "miniprogram/pages/orderDetail/orderDetail.js", | |||
| "miniprogram/pages/userProtocol/userProtocol.js", | |||
| "miniprogram/pages/mine/mine.js", | |||
| "miniprogram/components/userNumberChkeck/userNumberChkeck.js", | |||
| "miniprogram/components/userNumberChkeck/userNumberChkeck.js", "miniprogram/pages/productDetail/productDetail.js", | |||
| ], | |||
| "exclude": [ | |||
| "node_modules" | |||