Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
@@ -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
}
})
14 changes: 14 additions & 0 deletions app.json
Original file line number Diff line number Diff line change
@@ -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"
}
10 changes: 10 additions & 0 deletions app.wxss
Original file line number Diff line number Diff line change
@@ -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;
}
52 changes: 52 additions & 0 deletions pages/index/index.js
Original file line number Diff line number Diff line change
@@ -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)
}
})
8 changes: 8 additions & 0 deletions pages/index/index.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{

"usingComponents": {},
"navigationBarTitleText": "分页",
"onReachBottomDistance":200,
"enablePullDownRefresh": true

}
20 changes: 20 additions & 0 deletions pages/index/index.wxml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<!--index.wxml-->
<view>

<input name="input" placeholder="搜索课程" class="search-box" bindinput="handleInput" />
<button style="margin-bottom:30rpx" bindtap="handleTap">🔍搜索 </button>

</view>
<view>
<block wx:for="{{data}}" wx:key="view" >
<view class="kc">
<text> 课程名: {{item.name}}\n</text>
<text> 授课教师: {{item.teacher}}\n</text>
<text> 时间: {{item.create_time}}\n</text>
<text> 下载次数: {{item.download}}\n</text>
</view>
</block>
</view>
<view class="pagination">
<view class="i" wx:for="{{pp}}" wx:key="this" bindtap="handlePageChange" data-page="{{item}}">{{item}}</view>
</view>
25 changes: 25 additions & 0 deletions pages/index/index.wxss
Original file line number Diff line number Diff line change
@@ -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;
}
15 changes: 15 additions & 0 deletions pages/logs/logs.js
Original file line number Diff line number Diff line change
@@ -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))
})
})
}
})
4 changes: 4 additions & 0 deletions pages/logs/logs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"navigationBarTitleText": "查看启动日志",
"usingComponents": {}
}
6 changes: 6 additions & 0 deletions pages/logs/logs.wxml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<!--logs.wxml-->
<view class="container log-list">
<block wx:for="{{logs}}" wx:for-item="log">
<text class="log-item">{{index + 1}}. {{log}}</text>
</block>
</view>
17 changes: 17 additions & 0 deletions pages/logs/logs.wxss
Original file line number Diff line number Diff line change
@@ -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;
}
73 changes: 73 additions & 0 deletions project.config.json
Original file line number Diff line number Diff line change
@@ -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": []
}
}
}
7 changes: 7 additions & 0 deletions sitemap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
"rules": [{
"action": "allow",
"page": "*"
}]
}
19 changes: 19 additions & 0 deletions utils/util.js
Original file line number Diff line number Diff line change
@@ -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
}