Files
wxProject-w4w/miniprogram/pages/index/index.ts
T

342 lines
12 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// index.ts
// 获取应用实例
const app = getApp<IAppOption>()
// class stack{
// data=[]
// push=(d: any) =>{
// this.data.push(d);
// }
// }
Page({
ctx:wx.createCameraContext(),
data: {
// motto: 'Hello World',
text_startPage1: "知识库",
imgUrl_startPage1:"./static/icons/lib.svg",
function_startPage1:"popup_lib",
imgUrl_startPage2:"./static/icons/history.svg",
function_startPage2:"popup_history",
imgUrl_startPage3:"./static/icons/heart.svg",
function_startPage3:"popup_collect",
text_startPage4: "个性化",
imgUrl_startPage4:"./static/icons/self.svg",
tip_content: "不吃饭会饿死",
tip_hidden: false,
active_Page: "startPage",
currentDate: '',
data_history_test:{
"2023.2.30":["test1","test2","test2","test2","test2","test2","test2","test2","test2","test2"],
"2023.12.31":["test3","test4"],
"2023.2.32":["test5","test6"],
"2023.2.33":["test7","test8"],
"2023.2.34":["test9","test0"],
"2023.2.35":["test9","test0"],
"2023.2.36":["test9","test0"],
"2023.12.37":["test9","test0"],
},
data_collect_test:[
{ "date":"2023.15.16",
"scores":"99",
"imgUrl":"./static/icons/history.svg",
"remark":"方师傅康便面",
"riskBgColor":"springgreen",
"riskStr":"低风险"
},
{ "date":"2023.5.6",
"scores":"1",
"imgUrl":"./static/icons/history.svg",
"remark":"一二三四五六七",
"riskBgColor":"tomato",
"riskStr":"高风险"
},
{ "date":"2023.5.6",
"scores":"100",
"imgUrl":"./static/icons/history.svg",
"remark":"一二三四五六七",
"riskBgColor":"tomato",
"riskStr":"高风险"
},
{ "date":"2023.15.16",
"scores":"99",
"imgUrl":"./static/icons/history.svg",
"remark":"方师傅康便面",
"riskBgColor":"springgreen",
"riskStr":"低风险"
},
{ "date":"2023.5.6",
"scores":"1",
"imgUrl":"./static/icons/history.svg",
"remark":"一二三四五六七",
"riskBgColor":"tomato",
"riskStr":"高风险"
},
{ "date":"2023.5.6",
"scores":"100",
"imgUrl":"./static/icons/history.svg",
"remark":"一二三四五六七",
"riskBgColor":"tomato",
"riskStr":"高风险"
},
],
data_lib_test:[
{
name:{
zh:"山梨酸钾",
en:"potassium sorbate"
},
scores:73,
info:"山梨酸钾,又名2,4-己二烯酸钾,是山梨酸的钾盐,分子式为C6H7O2K,无色或白色鳞片状结晶或结晶性粉末。 [1] 无臭或微有臭味,长期暴露在空气中易吸潮、被氧化分解而变色。易溶于水(67.6g/100mL 20℃),溶于丙二醇(5.8g/100mL)和乙醇(0.3g/10 mL)。山梨酸钾和山梨酸是常用的有机防腐剂,广泛用于食品、化状品、饲料的防腐。易于被人体吸收代谢,在体内无残留,无毒性。",
risk:[],
"riskBgColor":"springgreen",
"riskStr":"低风险"
},{
name:{
zh:"丁基羟基茴香醚",
en:"Butyl hydroxyanisole(BHA)"
},
scores:21,
info:"丁基羟基茴香醚(BHA),又名叔丁基-4-羟基茴香醚,化学式为C11H16O2,有两种异构体:3-BHA和2-BHA,一般指二者的混合物。2017年10月27日,世界卫生组织国际癌症研究机构公布的致癌物清单初步整理参考,叔丁基对羟基茴香醚(BHA)在2B类致癌物清单中。",
risk:["2B类致癌物"],
"riskBgColor":"tomato",
"riskStr":"高风险"
}
],
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
},
onLoad() {
// @ts-ignore
if (wx.getUserProfile) {
this.setData({
canIUseGetUserProfile: true
})
this.getDate();
}
},
startPage_Bottons_leave() {
// var fd = wx.createSelectorQuery()
var time = 700;
var time1 = () => {
return Math.random() * 200;
}
this.animate('#gotoSearch', [
{ opacity: 1, translateY: 0, ease: 'ease-in' }, { opacity: 0, translateY: -300, ease: 'ease-in' },
], time)
this.animate('#tips_startPage', [
{ opacity: 1, ease: 'ease-in' }, { opacity: 0, ease: 'ease-in' },
], time, () => {
// this.setData({ tip_hidden: true })
})
setTimeout(() => {
this.animate('#buttom_startPage1', [
{ opacity: 1, translateX: 0, ease: 'ease-in' }, { opacity: 0, translateX: -300, ease: 'ease-in' },
], time)
}, time1())
setTimeout(() => {
this.animate('#buttom_startPage3', [
{ opacity: 1, translateX: 0, ease: 'ease-in' }, { opacity: 0, translateX: -300, ease: 'ease-in' },
], time)
}, time1())
setTimeout(() => {
this.animate('#buttom_startPage4', [
{ opacity: 1, translateX: 0, ease: 'ease-in' }, { opacity: 0, translateX: 300, ease: 'ease-in' },
], time)
}, time1())
setTimeout(() => {
this.animate('#buttom_startPage2', [
{ opacity: 1, translateX: 0, ease: 'ease-in' }, { opacity: 0, translateX: 300, ease: 'ease-in' },
], time)
}, time1())
},
startPage_Bottons_in() {
// var fd = wx.createSelectorQuery()
var time = 700;
var time1 = () => {
return Math.random() * 200;
}
this.animate('#gotoSearch', [
{ opacity: 0, translateY: -300, ease: 'ease-in' },{ opacity: 1, translateY: 0, ease: 'ease-out' },
], time)
// this.setData({ tip_hidden: false })
this.animate('#tips_startPage', [
{ opacity: 0, ease: 'ease-in' }, { opacity: 1, ease: 'ease-out' },
], time)
setTimeout(() => {
this.animate('#buttom_startPage1', [
{ opacity: 0, translateX: -300, ease: 'ease-in' },{ opacity: 1, translateX: 0, ease: 'ease-out' },
], time)
}, time1())
setTimeout(() => {
this.animate('#buttom_startPage3', [
{ opacity: 0, translateX: -300, ease: 'ease-in' },{ opacity: 1, translateX: 0, ease: 'ease-out' },
], time)
}, time1())
setTimeout(() => {
this.animate('#buttom_startPage4', [
{ opacity: 0, translateX: 300, ease: 'ease-in' },{ opacity: 1, translateX: 0, ease: 'ease-out' },
], time)
}, time1())
setTimeout(() => {
this.animate('#buttom_startPage2', [
{ opacity: 0, translateX: 300, ease: 'ease-in' },{ opacity: 1, translateX: 0, ease: 'ease-out' },
], time)
}, time1())
},
popup_camera(){
this.startPage_Bottons_leave()
this.animate('#page_camera', [
{ opacity: 0, translateY: 0 }, { opacity: 1, translateY: "-100%", ease: 'ease-in-out', },
], 1000,()=>{
this.selectComponent('#page_camera')
})
},
exit_camera(){
this.startPage_Bottons_in()
this.animate('#page_camera', [
{ opacity: 1, translateY: "-100%" }, { opacity: 0, translateY: "0", ease: 'ease-in-out' },
], 1000)
},
popup_history(){
this.startPage_Bottons_leave()
this.animate('#page_history', [
{ opacity: 0, translateY: 0 }, { opacity: 1, translateY: "-100%", ease: 'ease-in-out', },
], 1000,()=>{
this.selectComponent('#page_history')
})
},
exit_history(){
this.startPage_Bottons_in()
this.animate('#page_history', [
{ opacity: 1, translateY: "-100%" }, { opacity: 0, translateY: "0", ease: 'ease-in-out' },
], 1000)
},
popup_collect(){
this.startPage_Bottons_leave()
this.animate('#page_collect', [
{ opacity: 0, translateY: 0 }, { opacity: 1, translateY: "-100%", ease: 'ease-in-out', },
], 1000,()=>{
this.selectComponent('#page_collect')
})
},
exit_collect(){
this.startPage_Bottons_in()
this.animate('#page_collect', [
{ opacity: 1, translateY: "-100%" }, { opacity: 0, translateY: "0", ease: 'ease-in-out' },
], 1000)
},
popup_lib(){
this.startPage_Bottons_leave()
this.animate('#page_lib', [
{ opacity: 0, translateY: 0 }, { opacity: 1, translateY: "-100%", ease: 'ease-in-out', },
], 1000,()=>{
this.selectComponent('#page_collect')
})
},
exit_lib(){
this.startPage_Bottons_in()
this.animate('#page_lib', [
{ opacity: 1, translateY: "-100%" }, { opacity: 0, translateY: "0", ease: 'ease-in-out' },
], 1000)
},
takePhoto() {
// ctx = wx.createCameraContext()
console.log('takePhoto..')
this.ctx.takePhoto({
quality: 'high',
success: res => {
this.setData({
src: res.tempImagePath
})
}
})
},
scores2risk(scores: Number){
if(scores < 33){
return "high";
}else if(scores < 66){
return "middle";
}else{
return "low";
}
},
//将risk转为存储color和content的map
scores2map(scores: Number){
var risk=this.scores2risk(scores)
switch(risk){
case "low":{
return {"color":"springgreen","content":"低风险"};
}
case "middle":{
return {"color":"yellow","content":"中风险"};
}
case "high":{
return {"color":"tomato","content":"高风险"};
}
}
return {"color":"tomato","content":"高风险"};
},
// 事件处理函数
bindViewTap() {
wx.navigateTo({
url: '../logs/logs',
})
},
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
})
},
getDate: function () {
var nowdate = new Date();
var nowyear = nowdate.getFullYear();
var nowmonth = nowdate.getMonth() + 1;
var nowday = nowdate.getDate();
var nowdata1 = nowyear + '年' + nowmonth + '月' + nowday + '日'
this.setData({
currentDate: nowdata1
});
}
})