码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

小程序编译出错,求大佬指点
- ¥5
- 微信小程序
收起
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
当前问题酬金
¥ 5 (您已提供 ¥ 20, 还可追加 ¥ 495)
支付方式
扫码支付
8条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
代码的灵魂是bug! 2021-01-20 13:48关注你检查一下app.globalData里面写了openid没
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
代码的灵魂是bug! 2021-01-19 17:36关注检查logincheck.js中获取openID的地方
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
qq_40132724 2021-01-19 18:06关注本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
qq_40132724 2021-01-19 18:07关注这个有什么问题么
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
代码的灵魂是bug! 2021-01-19 22:08关注信息上提示是63行
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
关注
把完整代码贴一下
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
qq_40132724 2021-01-20 12:29关注const app = getApp();
const regeneratorRuntime = require('../utils/runtime.js')
const WXBizDataCrypt = require('../utils/RdWXBizDataCrypt.js');
// 获取数据库引用
const db = wx.cloud.database();
const userListDB = db.collection('userlist');
Page({
data: {
isRegister: 0,
isNoRegister: 0,
isNoUserInfoCheck: 0,
},
toQandA() {
wx.navigateTo({
url: '../qAndA/qAndA',
})
},
//返回此页面时使用
onShow() {
let flag = app.globalData.orgPage.type;
if (flag == 3) {
wx.redirectTo({
url: '../navbar/navbar',
})
}
},
async onLoad(query) {
//获取机构名称和配置信息
await wx.cloud.callFunction({
name: "getAllUnion"
}).then(res => {
console.log(res.result.data);
app.globalData.isNoUserInfoCheck = res.result.isNoUserInfoCheck;
app.globalData.isBleOnly = res.result.isBleOnly;
app.globalData.isNoRegister = res.result.isNoRegister;
app.globalData.keyName = res.result.keyName;
app.globalData.allUnion = res.result.data;
app.globalData.registerType = res.result.registerType;
app.globalData.listRule = res.result.listRule;
app.globalData.showNotice = res.result.showNotice;
app.globalData.isShowNotice = res.result.isShowNotice;
app.globalData.isShowNoticeIndex = res.result.isShowNoticeIndex;
app.globalData.showNoticeIndex = res.result.showNoticeIndex;
console.log(app.globalData.allUnion);
console.log("输出全部配置信息")
console.log(app.globalData)
})
let globalData = app.globalData;
console.log(globalData)
for (var Key in globalData) {
console.log(Key + ':' + globalData[Key]);
}
this.setData({
globalData: globalData
})
console.warn(typeof this.data.globalData)
let isNoUserInfoCheck = this.data.globalData.isNoUserInfoCheck;
let isNoRegister = this.data.globalData.isNoRegister; //指定无需注册的体验模式
console.log(isNoRegister)
this.setData({
isNoUserInfoCheck: isNoUserInfoCheck,
isNoRegister: isNoRegister,
})
//指定用户自动登录
if (this.data.isNoUserInfoCheck) {
app.globalData.openid = 'og4vT5JjRgKaq_Zr7043RmJrHT4w';
this.checkRegister();
}
this.getUser(); //注册第一步获取openid
//检测参数
let scene = decodeURIComponent(query.scene)
console.log('二维码信息为');
console.log(scene);
//测试用
//scene ='26b301645d39b4a2028db6467c4bf187';
if (scene.length != 32) {
console.log('没有带参数');
} else {
//跳转查看物品
console.log(scene);
app.globalData.orgPage = {
type: 1, //物品页
_id: scene
}
}
},
autoRister() {
let groupNames = ['格兰芬多', '赫奇帕奇', '拉文克劳', '斯莱特林'];
let key = parseInt(4 * Math.random());
userListDB.add({
data: {
config: {
isNew: 1,
isOCR: 0,
},
qqNumber: '123456',
date: '可选',
unionName: '体验组织', //增加的组织名称字段!!!!!!!!!
groupName: groupNames[key],
mail: 'test@qq.com',
major: '其他',
name: '体验账号',
phonecall: '123456',
province: '可选',
stuYear: '可选',
stuid: '777777777',
type: '管理员',
userInfo: app.globalData.userInfo,
creatTime: db.serverDate(),
isCheck: ''
},
}).then(res => {
wx.hideLoading();
wx.redirectTo({
url: '../logincheck/logincheck',
})
}).catch(err => {
wx.showModal({
title: '注册失败',
content: String(err),
})
})
},
checkRegister() { //检查用户是否已经注册
let _this = this;
console.log(app.globalData.openid)
userListDB.where({
_openid: app.globalData.openid // 填入当前用户 openid
}).get({
async success(res) {
console.log(res.data)
//初始注入用户数据!!!!!!!!
app.globalData.USER = res.data[0];
if (res.data.length == 0) { //查询数据库中是否有用户数据
if (app.globalData.isNoRegister && !(app.globalData.isWxwork)) {
wx.showLoading({
title: '获取体验权限中',
})
_this.autoRister();
} else {
//对于企业微信将直接获取信息不需要注册
if (app.globalData.isWxwork) {
//企业微信注册逻辑
_this.wxworkRegister()
} else {
wx.redirectTo({
url: '../registerOcr/registerOcr',
})
}
}
} else {
//如果是企业微信则需要校验是否有userid字段
//多身份切换考虑用户拥有多个身份
if (app.globalData.isWxwork) {
//console.warn('测试模式')
// console.log(typeof (res.data[0].userid))
//获取授权token
console.log('开始获取userid')
let ID = 'wwd6b6f0333869ca28'; //企业id
let SECRECT = '69usvQVy2RZ9HBQj-wxKxbbZH3vAKJrCeitCsMWmMCQ' //应用key
let wxworkUserSerct = await app.getWxworkSerct(ID, SECRECT)
let userid = wxworkUserSerct.userid;
let corpid = wxworkUserSerct.corpid; //当前企业的corpid
//console.log(wxworkUserSerct)
let allUnion = app.globalData.allUnion;
let currentUnionName;
let userUnionName = app.globalData.USER.unionName;
console.log(userUnionName)
console.log(allUnion)
let currentGroupName;
for (let index in allUnion) { //将当前企业id换成名称
if (allUnion[index].corpid == corpid) {
console.log('当前企业名称为')
currentUnionName = allUnion[index].unionName
currentGroupName = allUnion[index].groupName[0]
console.log(allUnion[index].unionName)
break;
}
}
//比较企业名称 不一样则需要 将用户的机构名称更改
//并更新userid的值,同时需要将小组名称改为未选择
//权限不变
if (currentUnionName != userUnionName) { //将用户的机构名称改为当前企业的名称
wx.showLoading({
title: '切换机构中',
icon: 'none'
})
await wx.cloud.callFunction({
name: 'editUnionName',
data: {
unionName: currentUnionName,
userid: userid,
groupName: currentGroupName
}
}).then(res => { //转换后重新登录
wx.hideLoading();
wx.redirectTo({
url: '../logincheck/logincheck',
})
})
}
if (typeof (res.data[0].userid) == "undefined" || res.data[0].userid == '') { //需要获取userid
wx.cloud.callFunction({
name: 'editUserID',
data: {
userid: userid,
_openid: res.data[0]._openid
}
}).then(res => {
console.log(res)
})
}
}
//“物品码 跳转逻辑”
let flag = app.globalData.orgPage.type;
if (flag == 0) {
wx.redirectTo({
url: '../navbar/navbar',
})
} else if (flag == 1) { //到物品详情页
let data = app.globalData.orgPage._id;
//返回自动恢复初始化
app.globalData.orgPage.type = 3;
wx.navigateTo({
url: '../itemDetail/itemDetail?data=' + data
})
}
}
},
fail: function (err) {
wx.showModal({
title: '错误',
content: err,
})
}
})
},
getUserInfo: function () {
// 查看是否授权
let _this = this;
wx.getUserInfo({
success: function (res) {
app.globalData.userInfo = res.userInfo
console.log(app.globalData.userInfo)
_this.checkRegister()
_this.setData({
isRegister: 0
})
},
fail: function (err) {
_this.setData({
isRegister: 1
})
}
})
},
async wxworkRegister() { //企业微信注册逻辑
//获取信息
//获取机构信息,电话,等。
//获取授权token
let ID = 'wwd6b6f0333869ca28'; //企业id
let SECRECT = '69usvQVy2RZ9HBQj-wxKxbbZH3vAKJrCeitCsMWmMCQ' //应用key
let wxworkUserSerct = await app.getWxworkSerct(ID, SECRECT)
console.log('多重promise调试')
console.log(wxworkUserSerct)
app.globalData.corpid = wxworkUserSerct.corpid
console.log('调用企业微信api获取用户信息')
let userInfo = await new Promise((resolve, reject) => {
wx.qy.getEnterpriseUserInfo({
success: function (res) {
var userInfo = res.userInfo
var name = userInfo.name
var gender = userInfo.gender //性别 0:未知、1:男、2:女
//console.log(userInfo)
resolve(userInfo)
}
})
})
let Phone = await new Promise((resolve, reject) => {
wx.qy.getMobile({
success: function (res) {
console.log(res.encryptedData)
console.log(res.iv)
let appId = 'wx6b72c910779512f9'
var pc = new WXBizDataCrypt(appId, wxworkUserSerct.session_key);
var data = pc.decryptData(res.encryptedData, res.iv);
console.log('解密后 电话号码: ', data)
resolve(data)
}
})
})
let Email = await new Promise((resolve, reject) => {
wx.qy.getEmail({
success(res) {
console.log(res.encryptedData)
console.log(res.iv)
let appId = 'wx6b72c910779512f9'
var pc = new WXBizDataCrypt(appId, wxworkUserSerct.session_key);
var data = pc.decryptData(res.encryptedData, res.iv);
console.log('解密后邮箱: ', data)
resolve(data)
}
})
})
console.log('同步获取wxwork个人信息接口')
console.log(userInfo)
console.log(Phone)
console.log(Email)
let corpid = app.globalData.corpid //公司id
let allUnion = app.globalData.allUnion //获取所有组织
let userid = wxworkUserSerct.userid
let flag = 0
let union = ''
console.log(corpid)
for (let i = 0; i < allUnion.length; i++) {
if (allUnion[i].corpid == corpid) {
if (allUnion[i].corpid != '') {
flag = 1;
union = allUnion[i];
break;
}
}
}
if (!flag) { //小程序未绑定企业信息
wwx.showModal({
title: '提示',
content: '管理员未绑定机构信息',
})
return
}
console.log(union)
//选择分组信息
/*
wx.showActionSheet({
itemList: ['A', 'B', 'C'],
success(res) {
console.log(res.tapIndex)
},
fail(res) {
console.log(res.errMsg)
}
})
*/
//企业微信体验模式相关逻辑
let type = '普通成员'
let groupName = '未选择'
let groupNames = ['格兰芬多', '赫奇帕奇', '拉文克劳', '斯莱特林'];
let key = parseInt(4 * Math.random());
if (union.unionName == '体验组织') {
type = '管理员'
groupName = groupNames[key]
}
//信息注入数据库
userListDB.add({
data: {
config: {
isNew: 0,
isOCR: 0,
},
userid: userid, //企业微信特有字段
qqNumber: '123456',
date: '可选',
unionName: union.unionName, //增加的组织名称字段!!!!!!!!!
groupName: groupName,
mail: Email.email,
major: '可选',
name: userInfo.name,
phonecall: Phone.mobile,
province: '可选',
stuYear: '可选',
stuid: '可选',
type: type,
userInfo: app.globalData.userInfo,
creatTime: db.serverDate(),
isCheck: ''
},
}).then(res => {
//发送通知通知管理员
console.log('注册成功');
wx.redirectTo({
url: '../logincheck/logincheck',
})
}).catch(err => {
wx.showModal({
title: '注册失败',
content: String(err),
})
})
},
getUser() {
// 调用云函数
let _this = this;
wx.cloud.callFunction({
name: 'login',
data: {},
success: res => {
console.log('[云函数] [login] user openid: ', res.result.openid)
app.globalData.openid = res.result.openid
console.log(app.globalData.openid)
_this.getUserInfo();
},
fail: err => {
console.error('[云函数] [login] 调用失败', err)
}
})
}
})
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
qq_40132724 2021-01-20 12:30关注本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
报告相同问题?
- 2021-01-19 17:16回答 8 已采纳 你检查一下app.globalData里面写了openid没
- 2022-03-21 02:16回答 5 已采纳 题主将源代码getmoreworks中改this.y = []为this.y = {},然后再重新编译而且for循环越界了,才2个键值for (let i = 1; i < 30000; i++
- 2021-09-12 01:24回答 4 已采纳 这样赋值是错误的,js没这种语法。 而且data-xx这种属性只能存储字符串,传递对象会调用toString转为对应的字符串,直接data-event-params="{{item}}"会变为data
- 2022-08-11 16:50九族高兴的摸不到头脑的博客 记一次uni公共样式的使用,分包到小程序
- 2022-09-15 16:29回答 3 已采纳 看起来是 引入 文件 的问题 。可能路径不对,可能 文件根本不存在
- 2021-08-14 20:32回答 2 已采纳 你说的应该是用户扫码进了某个页面,连接后面带着他们的每个用户不同参数,例如: pages/XXXX?name=11 这样可以在跳转的小程序目标页面onLoad 函数里面获取参数即可。 //监听页面
- 2022-05-28 01:15回答 3 已采纳 里面的-改成= <swiper class='swipeer' indicator-dots='true'> 详细使用参考,https://blog.csdn.net/heavenz19
- 2022-05-05 15:26十一技术斩的博客 应用程序和小程序的主类有何不同? 访问修饰符public,private,protected,以及不写(默认)时的区别? float f=3.4;是否正确? Java有没有goto? &和&&的区别? Math.round(11.5) 等于多少?Math....
- 2022-05-07 11:41回答 1 已采纳 这是内存溢出了,找下代码里是不是存在死循环
- 2022-03-23 10:47回答 1 已采纳 试试这样 item["手机品牌"]
- 2022-05-12 22:38回答 1 已采纳 检查下package.json这个文件,可以把不要的删除了,再重新安装一下
- 2019-06-02 11:15feiyangqingyun的博客 1:当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了。 2:定时器是个好东西,学会好使用它,有时候用...
- 2022-05-13 16:49回答 3 已采纳
- 2022-10-29 19:37努力敲代码的小白✧٩(ˊωˋ*)و✧的博客 程序环境和预处理的知识点,带你一起了解C语言底层的运行过程!!!
- 2018-09-03 21:40李发展的博客 、求,下载的源代码直接编译出错,怎么处理? 答题大佬:群主 问题贡献者:温和从容 群主: 这些是警告不是错误哦~ 不影响程序的运行,不过多谢反馈下个版本会尽量将警告给清除掉。 温和从容:...
- 没有解决我的问题, 去提问
悬赏问题
- ¥40 找同学帮敲Python代码
- ¥15 MYSQL 订单的商品明细重复计算问题
- ¥15 微信实时共享位置修改
- ¥100 TG的session协议号转成直登号号后客户端登录几分钟后自动退出设备
- ¥50 共模反馈回路的小信号增益
- ¥15 arduino ssd1306函数与tone函数放歌代码不兼容问题
- ¥70 0.96版本hbase的row_key里含有双引号,无法deleteall
- ¥40 Ida Pro增加插件出现问题
- ¥15 诊断性META分析合并效能的检验
- ¥15 请问abb根据色块判断奇偶数并根据批次号放入仓储