From 00210bb27fa03e2e6f614ac1d1f8295263ac0bfe Mon Sep 17 00:00:00 2001 From: L jqliingu Date: Thu, 28 Jan 2021 01:33:31 +0800 Subject: [PATCH] i --- app.js | 39 ++++++++++++++++++++++ app.json | 14 ++++++++ app.wxss | 10 ++++++ pages/index/index.js | 52 ++++++++++++++++++++++++++++++ pages/index/index.json | 8 +++++ pages/index/index.wxml | 20 ++++++++++++ pages/index/index.wxss | 25 +++++++++++++++ pages/logs/logs.js | 15 +++++++++ pages/logs/logs.json | 4 +++ pages/logs/logs.wxml | 6 ++++ pages/logs/logs.wxss | 17 ++++++++++ project.config.json | 73 ++++++++++++++++++++++++++++++++++++++++++ sitemap.json | 7 ++++ utils/util.js | 19 +++++++++++ 14 files changed, 309 insertions(+) create mode 100644 app.js create mode 100644 app.json create mode 100644 app.wxss create mode 100644 pages/index/index.js create mode 100644 pages/index/index.json create mode 100644 pages/index/index.wxml create mode 100644 pages/index/index.wxss create mode 100644 pages/logs/logs.js create mode 100644 pages/logs/logs.json create mode 100644 pages/logs/logs.wxml create mode 100644 pages/logs/logs.wxss create mode 100644 project.config.json create mode 100644 sitemap.json create mode 100644 utils/util.js diff --git a/app.js b/app.js new file mode 100644 index 0000000..f9db25d --- /dev/null +++ b/app.js @@ -0,0 +1,39 @@ +// app.js +App({ + onLaunch() { + // 展示本地存储能力 + const logs = wx.getStorageSync('logs') || [] + logs.unshift(Date.now()) + wx.setStorageSync('logs', logs) + + // 登录 + wx.login({ + success: res => { + // 发送 res.code 到后台换取 openId, sessionKey, unionId + } + }) + // 获取用户信息 + wx.getSetting({ + success: res => { + if (res.authSetting['scope.userInfo']) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框 + wx.getUserInfo({ + success: res => { + // 可以将 res 发送给后台解码出 unionId + this.globalData.userInfo = res.userInfo + + // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + if (this.userInfoReadyCallback) { + this.userInfoReadyCallback(res) + } + } + }) + } + } + }) + }, + globalData: { + userInfo: null + } +}) diff --git a/app.json b/app.json new file mode 100644 index 0000000..3d7616f --- /dev/null +++ b/app.json @@ -0,0 +1,14 @@ +{ + "pages":[ + "pages/index/index", + "pages/logs/logs" + ], + "window":{ + "backgroundTextStyle":"light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "Weixin", + "navigationBarTextStyle":"black" + }, + "style": "v2", + "sitemapLocation": "sitemap.json" +} diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..06c6fc9 --- /dev/null +++ b/app.wxss @@ -0,0 +1,10 @@ +/**app.wxss**/ +.container { + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + padding: 200rpx 0; + box-sizing: border-box; +} diff --git a/pages/index/index.js b/pages/index/index.js new file mode 100644 index 0000000..9b45f02 --- /dev/null +++ b/pages/index/index.js @@ -0,0 +1,52 @@ +// index.js +// 获取应用实例 +const app = getApp() + +Page({ + data: { + data: [], + info:{ + page:1, + total:0 + }, + text:'' + }, + onLoad () { + this.handleRefresh() + }, + handleRefresh(page){ + wx.request({ + url: 'http://api.hunsh.net/s1/', + data:{ + page:page || 1, + q:this.data.text + }, + success:(res) => { + for(let i of res.data.data){ + i.create_time = (new Date(i.create_time * 1000).toLocaleDateString()) + } + const ap = Math.ceil(res.data.info.page / 30); + const start = Math.max(res.data.info.page - 2,1); + const end = Math.min(res.data.info.page + 2,ap); + + this.setData({ + ...res.data, + pp:Array.from({ + length: end - start + 1 + },(x,i)=>i+start) + }) + } + }) + }, + handleInput(e){ + this.setData({ + text:e.detail.value + }) + }, + handleTap(){ + this.handleRefresh() + }, + handlePageChange(e){ + this.handleRefresh(e.target.dataset.page) + } +}) \ No newline at end of file diff --git a/pages/index/index.json b/pages/index/index.json new file mode 100644 index 0000000..7849bb7 --- /dev/null +++ b/pages/index/index.json @@ -0,0 +1,8 @@ +{ + + "usingComponents": {}, + "navigationBarTitleText": "分页", + "onReachBottomDistance":200, + "enablePullDownRefresh": true + +} \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml new file mode 100644 index 0000000..108a298 --- /dev/null +++ b/pages/index/index.wxml @@ -0,0 +1,20 @@ + + + + + + + + + + +  课程名: {{item.name}}\n +  授课教师: {{item.teacher}}\n +  时间: {{item.create_time}}\n +  下载次数: {{item.download}}\n + + + + + {{item}} + diff --git a/pages/index/index.wxss b/pages/index/index.wxss new file mode 100644 index 0000000..840185a --- /dev/null +++ b/pages/index/index.wxss @@ -0,0 +1,25 @@ +/**index.wxss**/ +.kc{ + height:170rpx; + margin-bottom:30rpx; + margin-left: 3rpx; + /*background:orange;*/ + border-color:rgb(143, 134, 134); + border-width: 2px; + border-style: groove; +} +.search-box{ + border-color:rgb(143, 134, 134); + border-width: 2px; + border-style: solid; + margin-top: 16px; + margin-right: 40px; + margin-left: 40px; + margin-bottom:30rpx; +} +.pagination{ + width:80%; + margin:auto; + margin-bottom:100px; + justify-content: space-around; +} diff --git a/pages/logs/logs.js b/pages/logs/logs.js new file mode 100644 index 0000000..3c7cb60 --- /dev/null +++ b/pages/logs/logs.js @@ -0,0 +1,15 @@ +// logs.js +const util = require('../../utils/util.js') + +Page({ + data: { + logs: [] + }, + onLoad() { + this.setData({ + logs: (wx.getStorageSync('logs') || []).map(log => { + return util.formatTime(new Date(log)) + }) + }) + } +}) diff --git a/pages/logs/logs.json b/pages/logs/logs.json new file mode 100644 index 0000000..3ee76c1 --- /dev/null +++ b/pages/logs/logs.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "查看启动日志", + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/logs/logs.wxml b/pages/logs/logs.wxml new file mode 100644 index 0000000..b5a85ac --- /dev/null +++ b/pages/logs/logs.wxml @@ -0,0 +1,6 @@ + + + + {{index + 1}}. {{log}} + + diff --git a/pages/logs/logs.wxss b/pages/logs/logs.wxss new file mode 100644 index 0000000..a57f0cc --- /dev/null +++ b/pages/logs/logs.wxss @@ -0,0 +1,17 @@ +.page-headert{ + text-align:center; + border:3rpx solid red +} +.view-text{ + color:orange; + margin:0 20rpx 0; + display: block; + line-height:50rpx +} +.search-box{ + float: left; + height: 36px; + margin-top: 16px; + margin-right: 15px; + margin-left: 40px; +} diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..7f347a0 --- /dev/null +++ b/project.config.json @@ -0,0 +1,73 @@ +{ + "description": "项目配置文件", + "packOptions": { + "ignore": [] + }, + "setting": { + "urlCheck": false, + "es6": true, + "enhance": false, + "postcss": true, + "preloadBackgroundData": false, + "minified": true, + "newFeature": false, + "coverView": true, + "nodeModules": false, + "autoAudits": false, + "showShadowRootInWxmlPanel": true, + "scopeDataCheck": false, + "uglifyFileName": false, + "checkInvalidKey": true, + "checkSiteMap": true, + "uploadWithSourceMap": true, + "compileHotReLoad": false, + "useMultiFrameRuntime": true, + "useApiHook": true, + "useApiHostProcess": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "enableEngineNative": false, + "bundle": false, + "useIsolateContext": true, + "useCompilerModule": true, + "userConfirmedUseCompilerModuleSwitch": false, + "userConfirmedBundleSwitch": false, + "packNpmManually": false, + "packNpmRelationList": [], + "minifyWXSS": true + }, + "compileType": "miniprogram", + "libVersion": "2.14.4", + "appid": "wx6410544054da3d2a", + "projectname": "miniprogram-2", + "debugOptions": { + "hidedInDevtools": [] + }, + "scripts": {}, + "isGameTourist": false, + "simulatorType": "wechat", + "simulatorPluginLibVersion": {}, + "condition": { + "search": { + "list": [] + }, + "conversation": { + "list": [] + }, + "game": { + "list": [] + }, + "plugin": { + "list": [] + }, + "gamePlugin": { + "list": [] + }, + "miniprogram": { + "list": [] + } + } +} \ No newline at end of file diff --git a/sitemap.json b/sitemap.json new file mode 100644 index 0000000..ca02add --- /dev/null +++ b/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file diff --git a/utils/util.js b/utils/util.js new file mode 100644 index 0000000..764bc2c --- /dev/null +++ b/utils/util.js @@ -0,0 +1,19 @@ +const formatTime = date => { + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + const hour = date.getHours() + const minute = date.getMinutes() + const second = date.getSeconds() + + return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}` +} + +const formatNumber = n => { + n = n.toString() + return n[1] ? n : `0${n}` +} + +module.exports = { + formatTime +}