Initialize mini programs configuration
This commit is contained in:
parent
3911dd73f0
commit
9ba3274072
@ -1,14 +1,55 @@
|
|||||||
{
|
{
|
||||||
|
"entryPagePath": "pages/Timetable/Timetable",
|
||||||
"pages": [
|
"pages": [
|
||||||
"pages/index/index",
|
"pages/Timetable/Timetable",
|
||||||
"pages/logs/logs"
|
"pages/Information/Information",
|
||||||
|
"pages/Account/Account"
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"darkmode": true,
|
||||||
|
"themeLocation": "theme.json",
|
||||||
"window": {
|
"window": {
|
||||||
"backgroundTextStyle": "light",
|
"navigationBarTitleText": "掌上教务处",
|
||||||
"navigationBarBackgroundColor": "#fff",
|
"navigationBarBackgroundColor": "@navigationBarBackgroundColor",
|
||||||
"navigationBarTitleText": "Weixin",
|
"navigationBarTextStyle": "@navigationBarTextStyle",
|
||||||
"navigationBarTextStyle": "black"
|
"backgroundColor": "@backgroundColor",
|
||||||
|
"backgroundColorTop": "@backgroundColor",
|
||||||
|
"backgroundColorBottom": "@backgroundColor"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"tabBar": {
|
||||||
|
"color": "@tabBarColor",
|
||||||
|
"selectedColor": "#3EA3D8",
|
||||||
|
"backgroundColor": "@navigationBarBackgroundColor",
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"pagePath": "pages/Timetable/Timetable",
|
||||||
|
"text": "课程表",
|
||||||
|
"iconPath": "@tabBarImage0",
|
||||||
|
"selectedIconPath": "image/navBar/0_on.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "综合信息",
|
||||||
|
"iconPath": "@tabBarImage1",
|
||||||
|
"pagePath": "pages/Information/Information",
|
||||||
|
"selectedIconPath": "image/navBar/1_on.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "设置",
|
||||||
|
"iconPath": "@tabBarImage2",
|
||||||
|
"pagePath": "pages/Account/Account",
|
||||||
|
"selectedIconPath": "image/navBar/2_on.png"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"networkTimeout": {
|
||||||
|
"request": 10000,
|
||||||
|
"connectSocket": 10000,
|
||||||
|
"uploadFile": 10000,
|
||||||
|
"downloadFile": 10000
|
||||||
|
},
|
||||||
|
|
||||||
"style": "v2",
|
"style": "v2",
|
||||||
"sitemapLocation": "sitemap.json"
|
"sitemapLocation": "sitemap.json"
|
||||||
}
|
}
|
@ -1,10 +0,0 @@
|
|||||||
/**app.wxss**/
|
|
||||||
.container {
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
padding: 200rpx 0;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
@ -1,18 +1,14 @@
|
|||||||
// app.ts
|
// app.ts
|
||||||
App<IAppOption>({
|
App<IAppOption>({
|
||||||
globalData: {},
|
|
||||||
onLaunch() {
|
|
||||||
// 展示本地存储能力
|
|
||||||
const logs = wx.getStorageSync('logs') || []
|
|
||||||
logs.unshift(Date.now())
|
|
||||||
wx.setStorageSync('logs', logs)
|
|
||||||
|
|
||||||
// 登录
|
/**
|
||||||
wx.login({
|
* 全局数据
|
||||||
success: res => {
|
*/
|
||||||
console.log(res.code)
|
globalData: {},
|
||||||
// 发送 res.code 到后台换取 openId, sessionKey, unionId
|
|
||||||
},
|
/**
|
||||||
})
|
* 小程序加载时
|
||||||
|
*/
|
||||||
|
onLaunch() {
|
||||||
},
|
},
|
||||||
})
|
})
|
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"usingComponents": {}
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
/**index.wxss**/
|
|
||||||
.userinfo {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
color: #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.userinfo-avatar {
|
|
||||||
overflow: hidden;
|
|
||||||
width: 128rpx;
|
|
||||||
height: 128rpx;
|
|
||||||
margin: 20rpx;
|
|
||||||
border-radius: 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.usermotto {
|
|
||||||
margin-top: 200px;
|
|
||||||
}
|
|
@ -1,49 +0,0 @@
|
|||||||
// index.ts
|
|
||||||
// 获取应用实例
|
|
||||||
const app = getApp<IAppOption>()
|
|
||||||
|
|
||||||
Page({
|
|
||||||
data: {
|
|
||||||
motto: 'Hello World',
|
|
||||||
userInfo: {},
|
|
||||||
hasUserInfo: false,
|
|
||||||
canIUse: wx.canIUse('button.open-type.getUserInfo'),
|
|
||||||
canIUseGetUserProfile: false,
|
|
||||||
canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName') // 如需尝试获取用户信息可改为false
|
|
||||||
},
|
|
||||||
// 事件处理函数
|
|
||||||
bindViewTap() {
|
|
||||||
wx.navigateTo({
|
|
||||||
url: '../logs/logs',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
onLoad() {
|
|
||||||
// @ts-ignore
|
|
||||||
if (wx.getUserProfile) {
|
|
||||||
this.setData({
|
|
||||||
canIUseGetUserProfile: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
getUserProfile() {
|
|
||||||
// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
|
|
||||||
wx.getUserProfile({
|
|
||||||
desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
|
|
||||||
success: (res) => {
|
|
||||||
console.log(res)
|
|
||||||
this.setData({
|
|
||||||
userInfo: res.userInfo,
|
|
||||||
hasUserInfo: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getUserInfo(e: any) {
|
|
||||||
// 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
|
|
||||||
console.log(e)
|
|
||||||
this.setData({
|
|
||||||
userInfo: e.detail.userInfo,
|
|
||||||
hasUserInfo: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
@ -1,23 +0,0 @@
|
|||||||
<!--index.wxml-->
|
|
||||||
<view class="container">
|
|
||||||
<view class="userinfo">
|
|
||||||
<block wx:if="{{canIUseOpenData}}">
|
|
||||||
<view class="userinfo-avatar" bindtap="bindViewTap">
|
|
||||||
<open-data type="userAvatarUrl"></open-data>
|
|
||||||
</view>
|
|
||||||
<open-data type="userNickName"></open-data>
|
|
||||||
</block>
|
|
||||||
<block wx:elif="{{!hasUserInfo}}">
|
|
||||||
<button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button>
|
|
||||||
<button wx:elif="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
|
|
||||||
<view wx:else> 请使用1.4.4及以上版本基础库 </view>
|
|
||||||
</block>
|
|
||||||
<block wx:else>
|
|
||||||
<image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
|
|
||||||
<text class="userinfo-nickname">{{userInfo.nickName}}</text>
|
|
||||||
</block>
|
|
||||||
</view>
|
|
||||||
<view class="usermotto">
|
|
||||||
<text class="user-motto">{{motto}}</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"navigationBarTitleText": "查看启动日志",
|
|
||||||
"usingComponents": {}
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
.log-list {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
padding: 40rpx;
|
|
||||||
}
|
|
||||||
.log-item {
|
|
||||||
margin: 10rpx;
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
// logs.ts
|
|
||||||
// const util = require('../../utils/util.js')
|
|
||||||
import { formatTime } from '../../utils/util'
|
|
||||||
|
|
||||||
Page({
|
|
||||||
data: {
|
|
||||||
logs: [],
|
|
||||||
},
|
|
||||||
onLoad() {
|
|
||||||
this.setData({
|
|
||||||
logs: (wx.getStorageSync('logs') || []).map((log: string) => {
|
|
||||||
return {
|
|
||||||
date: formatTime(new Date(log)),
|
|
||||||
timeStamp: log
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
},
|
|
||||||
})
|
|
@ -1,6 +0,0 @@
|
|||||||
<!--logs.wxml-->
|
|
||||||
<view class="container log-list">
|
|
||||||
<block wx:for="{{logs}}" wx:key="timeStamp" wx:for-item="log">
|
|
||||||
<text class="log-item">{{index + 1}}. {{log.date}}</text>
|
|
||||||
</block>
|
|
||||||
</view>
|
|
@ -1,7 +1,15 @@
|
|||||||
{
|
{
|
||||||
"desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
|
"document": "https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
|
||||||
"rules": [{
|
"rules": [
|
||||||
"action": "allow",
|
{
|
||||||
"page": "*"
|
"action": "allow",
|
||||||
}]
|
"page": "pages/Timetable/Timetable"
|
||||||
|
}, {
|
||||||
|
"action": "allow",
|
||||||
|
"page": "pages/Information/Information"
|
||||||
|
}, {
|
||||||
|
"action": "allow",
|
||||||
|
"page": "pages/Account/Account"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
@ -1,19 +0,0 @@
|
|||||||
export const formatTime = (date: 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: number) => {
|
|
||||||
const s = n.toString()
|
|
||||||
return s[1] ? s : '0' + s
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user