no message
This commit is contained in:
parent
40deba6d4f
commit
3eda8e8b45
2
app.json
2
app.json
@ -1,8 +1,6 @@
|
|||||||
{
|
{
|
||||||
"entryPagePath": "pages/projectLibrary/projectLibrary",
|
"entryPagePath": "pages/projectLibrary/projectLibrary",
|
||||||
"pages": [
|
"pages": [
|
||||||
"pages/index/index",
|
|
||||||
"pages/logs/logs",
|
|
||||||
"pages/projectLibrary/projectLibrary",
|
"pages/projectLibrary/projectLibrary",
|
||||||
"pages/projectSchoolHomepage/projectSchoolHomepage",
|
"pages/projectSchoolHomepage/projectSchoolHomepage",
|
||||||
"pages/projectSubjectList/projectSubjectList",
|
"pages/projectSubjectList/projectSubjectList",
|
||||||
|
@ -67,6 +67,7 @@
|
|||||||
|
|
||||||
.amount {
|
.amount {
|
||||||
height: 33rpx;
|
height: 33rpx;
|
||||||
|
line-height: 33rx;
|
||||||
font-size: 21rpx;
|
font-size: 21rpx;
|
||||||
color: #F95D5D;
|
color: #F95D5D;
|
||||||
padding: 0 12.75rpx;
|
padding: 0 12.75rpx;
|
||||||
|
@ -60,6 +60,7 @@
|
|||||||
}
|
}
|
||||||
.bottom .contrast .amount {
|
.bottom .contrast .amount {
|
||||||
height: 33rpx;
|
height: 33rpx;
|
||||||
|
line-height: 33rx;
|
||||||
font-size: 21rpx;
|
font-size: 21rpx;
|
||||||
color: #F95D5D;
|
color: #F95D5D;
|
||||||
padding: 0 12.75rpx;
|
padding: 0 12.75rpx;
|
||||||
|
@ -1,60 +0,0 @@
|
|||||||
// index.js
|
|
||||||
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
|
|
||||||
|
|
||||||
Page({
|
|
||||||
data: {
|
|
||||||
motto: 'Hello World',
|
|
||||||
userInfo: {
|
|
||||||
avatarUrl: defaultAvatarUrl,
|
|
||||||
nickName: '',
|
|
||||||
},
|
|
||||||
hasUserInfo: false,
|
|
||||||
canIUseGetUserProfile: wx.canIUse('getUserProfile'),
|
|
||||||
canIUseNicknameComp: wx.canIUse('input.type.nickname'),
|
|
||||||
},
|
|
||||||
onLoad(options) {
|
|
||||||
wx.navigateTo({
|
|
||||||
url: '/pages/projectLibrary/projectLibrary',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
bindViewTap() {
|
|
||||||
wx.navigateTo({
|
|
||||||
url: '../logs/logs'
|
|
||||||
})
|
|
||||||
},
|
|
||||||
onChooseAvatar(e) {
|
|
||||||
const {
|
|
||||||
avatarUrl
|
|
||||||
} = e.detail
|
|
||||||
const {
|
|
||||||
nickName
|
|
||||||
} = this.data.userInfo
|
|
||||||
this.setData({
|
|
||||||
"userInfo.avatarUrl": avatarUrl,
|
|
||||||
hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
onInputChange(e) {
|
|
||||||
const nickName = e.detail.value
|
|
||||||
const {
|
|
||||||
avatarUrl
|
|
||||||
} = this.data.userInfo
|
|
||||||
this.setData({
|
|
||||||
"userInfo.nickName": nickName,
|
|
||||||
hasUserInfo: nickName && avatarUrl && avatarUrl !== defaultAvatarUrl,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getUserProfile(e) {
|
|
||||||
// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
|
|
||||||
wx.getUserProfile({
|
|
||||||
desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
|
|
||||||
success: (res) => {
|
|
||||||
console.log(res)
|
|
||||||
this.setData({
|
|
||||||
userInfo: res.userInfo,
|
|
||||||
hasUserInfo: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
})
|
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"usingComponents": {
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
<!--index.wxml-->
|
|
||||||
<scroll-view class="scrollarea" scroll-y type="list">
|
|
||||||
<view class="container">
|
|
||||||
<view class="userinfo">
|
|
||||||
<block wx:if="{{canIUseNicknameComp && !hasUserInfo}}">
|
|
||||||
<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
|
|
||||||
<image class="avatar" src="{{userInfo.avatarUrl}}"></image>
|
|
||||||
</button>
|
|
||||||
<view class="nickname-wrapper">
|
|
||||||
<text class="nickname-label">昵称</text>
|
|
||||||
<input type="nickname" class="nickname-input" placeholder="请输入昵称" bind:change="onInputChange" />
|
|
||||||
</view>
|
|
||||||
</block>
|
|
||||||
<block wx:elif="{{!hasUserInfo}}">
|
|
||||||
<button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button>
|
|
||||||
<view wx:else> 请使用2.10.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>
|
|
||||||
</scroll-view>
|
|
@ -1,62 +0,0 @@
|
|||||||
/**index.wxss**/
|
|
||||||
page {
|
|
||||||
height: 100vh;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
.scrollarea {
|
|
||||||
flex: 1;
|
|
||||||
overflow-y: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.userinfo {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
color: #aaa;
|
|
||||||
width: 80%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.userinfo-avatar {
|
|
||||||
overflow: hidden;
|
|
||||||
width: 128rpx;
|
|
||||||
height: 128rpx;
|
|
||||||
margin: 20rpx;
|
|
||||||
border-radius: 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.usermotto {
|
|
||||||
margin-top: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.avatar-wrapper {
|
|
||||||
padding: 0;
|
|
||||||
width: 56px !important;
|
|
||||||
border-radius: 8px;
|
|
||||||
margin-top: 40px;
|
|
||||||
margin-bottom: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.avatar {
|
|
||||||
display: block;
|
|
||||||
width: 56px;
|
|
||||||
height: 56px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nickname-wrapper {
|
|
||||||
display: flex;
|
|
||||||
width: 100%;
|
|
||||||
padding: 16px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
border-top: .5px solid rgba(0, 0, 0, 0.1);
|
|
||||||
border-bottom: .5px solid rgba(0, 0, 0, 0.1);
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nickname-label {
|
|
||||||
width: 105px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nickname-input {
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
// logs.js
|
|
||||||
const util = require('../../utils/util.js')
|
|
||||||
|
|
||||||
Page({
|
|
||||||
data: {
|
|
||||||
logs: []
|
|
||||||
},
|
|
||||||
onLoad() {
|
|
||||||
this.setData({
|
|
||||||
logs: (wx.getStorageSync('logs') || []).map(log => {
|
|
||||||
return {
|
|
||||||
date: util.formatTime(new Date(log)),
|
|
||||||
timeStamp: log
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"usingComponents": {
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
<!--logs.wxml-->
|
|
||||||
<scroll-view class="scrollarea" scroll-y type="list">
|
|
||||||
<block wx:for="{{logs}}" wx:key="timeStamp" wx:for-item="log">
|
|
||||||
<view class="log-item">{{index + 1}}. {{log.date}}</view>
|
|
||||||
</block>
|
|
||||||
</scroll-view>
|
|
@ -1,16 +0,0 @@
|
|||||||
page {
|
|
||||||
height: 100vh;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
.scrollarea {
|
|
||||||
flex: 1;
|
|
||||||
overflow-y: hidden;
|
|
||||||
}
|
|
||||||
.log-item {
|
|
||||||
margin-top: 20rpx;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.log-item:last-child {
|
|
||||||
padding-bottom: env(safe-area-inset-bottom);
|
|
||||||
}
|
|
@ -1,6 +1,7 @@
|
|||||||
view {
|
view {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||||
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
|
@ -48,13 +48,13 @@
|
|||||||
<view class="lump">
|
<view class="lump">
|
||||||
<view class="title">学科领域</view>
|
<view class="title">学科领域</view>
|
||||||
<view class="block flexflex {{ showObj['disciplinename']['unfold'] ? 'unfold' : '' }} {{ showObj['disciplinename']['show'] ? 'show' : '' }}" data-type="disciplinename">
|
<view class="block flexflex {{ showObj['disciplinename']['unfold'] ? 'unfold' : '' }} {{ showObj['disciplinename']['show'] ? 'show' : '' }}" data-type="disciplinename">
|
||||||
|
<view class="more flexcenter" bind:tap="cutShow" data-type="disciplinename">
|
||||||
|
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
||||||
<template wx:if="{{ item.disciplinename }}" is="mode2" data="{{ text: item.disciplinename }}"></template>
|
<template wx:if="{{ item.disciplinename }}" is="mode2" data="{{ text: item.disciplinename }}"></template>
|
||||||
<template wx:else is="mode2" data="{{ text: '-'}}"></template>
|
<template wx:else is="mode2" data="{{ text: '-'}}"></template>
|
||||||
</view>
|
</view>
|
||||||
<view class="more flexcenter" bind:tap="cutShow" data-type="disciplinename">
|
|
||||||
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@ -107,66 +107,66 @@
|
|||||||
<view class="lump">
|
<view class="lump">
|
||||||
<view class="title">专业方向</view>
|
<view class="title">专业方向</view>
|
||||||
<view class="block flexflex {{ showObj['concentration']['unfold'] ? 'unfold' : '' }} {{ showObj['concentration']['show'] ? 'show' : '' }}" data-type="concentration">
|
<view class="block flexflex {{ showObj['concentration']['unfold'] ? 'unfold' : '' }} {{ showObj['concentration']['show'] ? 'show' : '' }}" data-type="concentration">
|
||||||
|
<view class="more flexcenter" bind:tap="cutShow" data-type="concentration">
|
||||||
|
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
||||||
<template wx:if="{{ item.concentration }}" is="mode4" data="{{ text: item.concentration }}"></template>
|
<template wx:if="{{ item.concentration }}" is="mode4" data="{{ text: item.concentration }}"></template>
|
||||||
<template wx:else is="mode2" data="{{ text: '-' }}"></template>
|
<template wx:else is="mode2" data="{{ text: '-' }}"></template>
|
||||||
</view>
|
</view>
|
||||||
<view class="more flexcenter" bind:tap="cutShow" data-type="concentration">
|
|
||||||
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="lump">
|
<view class="lump">
|
||||||
<view class="title">学术要求</view>
|
<view class="title">学术要求</view>
|
||||||
<view class="block flexflex {{ showObj['entrance_requirements']['unfold'] ? 'unfold' : '' }} {{ showObj['entrance_requirements']['show'] ? 'show' : '' }}" data-type="entrance_requirements">
|
<view class="block flexflex {{ showObj['entrance_requirements']['unfold'] ? 'unfold' : '' }} {{ showObj['entrance_requirements']['show'] ? 'show' : '' }}" data-type="entrance_requirements">
|
||||||
|
<view class="more flexcenter" bind:tap="cutShow" data-type="entrance_requirements">
|
||||||
|
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
||||||
<template wx:if="{{ item.entrance_requirements }}" is="mode4" data="{{ text: item.entrance_requirements }}"></template>
|
<template wx:if="{{ item.entrance_requirements }}" is="mode4" data="{{ text: item.entrance_requirements }}"></template>
|
||||||
<template wx:else is="mode2" data="{{ text: '-'}}"></template>
|
<template wx:else is="mode2" data="{{ text: '-'}}"></template>
|
||||||
</view>
|
</view>
|
||||||
<view class="more flexcenter" bind:tap="cutShow" data-type="entrance_requirements">
|
|
||||||
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="lump">
|
<view class="lump">
|
||||||
<view class="title">英语能力要求</view>
|
<view class="title">英语能力要求</view>
|
||||||
<view class="block flexflex {{ showObj['english_proficiency_text']['unfold'] ? 'unfold' : '' }} {{ showObj['english_proficiency_text']['show'] ? 'show' : '' }}" data-type="english_proficiency_text">
|
<view class="block flexflex {{ showObj['english_proficiency_text']['unfold'] ? 'unfold' : '' }} {{ showObj['english_proficiency_text']['show'] ? 'show' : '' }}" data-type="english_proficiency_text">
|
||||||
|
<view class="more flexcenter" bind:tap="cutShow" data-type="english_proficiency_text">
|
||||||
|
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
||||||
<template wx:if="{{ item.english_proficiency_text }}" is="mode4" data="{{ text: item.english_proficiency_text }}"></template>
|
<template wx:if="{{ item.english_proficiency_text }}" is="mode4" data="{{ text: item.english_proficiency_text }}"></template>
|
||||||
<template wx:else is="mode2" data="{{ text: '-'}}"></template>
|
<template wx:else is="mode2" data="{{ text: '-'}}"></template>
|
||||||
</view>
|
</view>
|
||||||
<view class="more flexcenter" bind:tap="cutShow" data-type="english_proficiency_text">
|
|
||||||
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="lump">
|
<view class="lump">
|
||||||
<view class="title">必要文件</view>
|
<view class="title">必要文件</view>
|
||||||
<view class="block flexflex {{ showObj['documents_required']['unfold'] ? 'unfold' : '' }} {{ showObj['documents_required']['show'] ? 'show' : '' }}" data-type="documents_required">
|
<view class="block flexflex {{ showObj['documents_required']['unfold'] ? 'unfold' : '' }} {{ showObj['documents_required']['show'] ? 'show' : '' }}" data-type="documents_required">
|
||||||
|
<view class="more flexcenter" bind:tap="cutShow" data-type="documents_required">
|
||||||
|
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
||||||
<template wx:if="{{ item.documents_required }}" is="mode4" data="{{ text: item.documents_required }}"></template>
|
<template wx:if="{{ item.documents_required }}" is="mode4" data="{{ text: item.documents_required }}"></template>
|
||||||
<template wx:else is="mode2" data="{{ text: '-'}}"></template>
|
<template wx:else is="mode2" data="{{ text: '-'}}"></template>
|
||||||
</view>
|
</view>
|
||||||
<view class="more flexcenter" bind:tap="cutShow" data-type="documents_required">
|
|
||||||
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="lump">
|
<view class="lump">
|
||||||
<view class="title">专业认证</view>
|
<view class="title">专业认证</view>
|
||||||
<view class="block flexflex {{ showObj['accreditation']['unfold'] ? 'unfold' : '' }} {{ showObj['accreditation']['show'] ? 'show' : '' }}" data-type="accreditation">
|
<view class="block flexflex {{ showObj['accreditation']['unfold'] ? 'unfold' : '' }} {{ showObj['accreditation']['show'] ? 'show' : '' }}" data-type="accreditation">
|
||||||
|
<view class="more flexcenter" bind:tap="cutShow" data-type="accreditation">
|
||||||
|
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
<view class="item flex1" wx:for="{{ list }}" wx:key="index">
|
||||||
<template wx:if="{{ item.accreditation }}" is="mode4" data="{{ text: item.accreditation }}"></template>
|
<template wx:if="{{ item.accreditation }}" is="mode4" data="{{ text: item.accreditation }}"></template>
|
||||||
<template wx:else is="mode2" data="{{ text: '-'}}"></template>
|
<template wx:else is="mode2" data="{{ text: '-'}}"></template>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="more flexcenter" bind:tap="cutShow" data-type="accreditation">
|
|
||||||
<image class="more-icon" src="https://app.gter.net/image/miniApp/offer/arrow-circle-gray.png" mode="widthFix"></image>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
view {
|
view {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||||
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
.container {
|
.container {
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
@ -867,6 +867,7 @@ navigator {
|
|||||||
font-weight: 650;
|
font-weight: 650;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
margin-bottom: 19.5rpx;
|
margin-bottom: 19.5rpx;
|
||||||
|
line-height: 34.5rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
|
@ -713,6 +713,7 @@ navigator {
|
|||||||
font-weight: 650;
|
font-weight: 650;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
margin-bottom: 19.5rpx;
|
margin-bottom: 19.5rpx;
|
||||||
|
line-height: 34.5rpx;
|
||||||
}
|
}
|
||||||
.details-box .pattern .introduce .item .name {
|
.details-box .pattern .introduce .item .name {
|
||||||
color: #555555;
|
color: #555555;
|
||||||
|
@ -579,7 +579,6 @@ Page({
|
|||||||
if (type == 'admission') {
|
if (type == 'admission') {
|
||||||
const admissionList = this.data.admissionList
|
const admissionList = this.data.admissionList
|
||||||
admissionList.forEach(element => {
|
admissionList.forEach(element => {
|
||||||
console.log("element", element);
|
|
||||||
element.forEach(ele => {
|
element.forEach(ele => {
|
||||||
ele['moreState'] = false
|
ele['moreState'] = false
|
||||||
})
|
})
|
||||||
@ -617,7 +616,6 @@ Page({
|
|||||||
const index = e.currentTarget.dataset.index
|
const index = e.currentTarget.dataset.index
|
||||||
const i = e.currentTarget.dataset.i
|
const i = e.currentTarget.dataset.i
|
||||||
const id = e.currentTarget.dataset.id
|
const id = e.currentTarget.dataset.id
|
||||||
|
|
||||||
const type = e.currentTarget.dataset.type
|
const type = e.currentTarget.dataset.type
|
||||||
|
|
||||||
util.wxpost("/api/project.contrast/add", {
|
util.wxpost("/api/project.contrast/add", {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user