UniAdmin Invalid uni-id config file
2026年5月15日 15:56
上次更新闺蜜圈还是很久之前的事情,最近也确实没顾上自己的这个曾经倾注了无数心血的app。前段时间,申请了华为的商户号,本来以为能正常的上架内购相关的功能,然而最终卡在了商户密钥创建的地方。折腾来折腾去,最终还是没能跨越这个鸿沟,出师未捷身先死。
最后为了满足应用市场的合规需求,进行了功能阉割,现在华为应用市场的版本是个阉割版,如果需要全功能版本,请从官网https://guimiquan.cn下载。原生鸿蒙版本会在稍后更新,同样大概率也是个阉割版。
今天想登录下uniadmin,做下app更新发布,却发现登录不了了:
搜了下这堆错误,发现没什么有用的东西。最后还是得自己动手,按照字面理解就是缺少配置文件,而这个配置文件是登录必须的。打开本地目录发现这个文件竟然真的咩有了。
git追踪发现,不知道在哪个版本之后,文件忽然被删除了。这就挺神奇的,竟然还会少文件,关键是,unicloud的文件也不见了。这真是见鬼了,好在本地还有备份的uni模块目录。去扒拉一通,找到了这个文件:
要解决这个问题,加单来说就是在config目录下新建uni-id,然后穿件config.json文件。
{
"requestAuthSecret":"sesrct",
"passwordSecret": "password-demo",
"tokenSecret": "tokent-demo",
"tokenExpiresIn": 7200,
"tokenExpiresThreshold": 3600,
"passwordErrorLimit": 6,
"bindTokenToDevice": false,
"passwordErrorRetryTime": 3600,
"autoSetInviteCode": false,
"forceInviteCode": false,
"app": {
"tokenExpiresIn": 2592000,
"tokenExpiresThreshold": 864000,
"oauth": {
"weixin": {
"appid": "填写来源微信开放平台https://open.weixin.qq.com/创建的应用的appid",
"appsecret": "填写来源微信开放平台https://open.weixin.qq.com/创建的应用的appsecret"
},
"apple": {
"bundleId": "苹果开发者后台获取的bundleId"
}
}
},
"web": {
"tokenExpiresIn": 7200,
"tokenExpiresThreshold": 3600,
"oauth": {
"weixin-h5": {
"appid": "微信公众号登录所用的appid、appsecret需要在对应的小程序管理控制台获取",
"appsecret": "微信公众号后台获取的appsecret"
},
"weixin-web": {
"appid": "微信PC页面扫码登录配置appid",
"appsecret": "微信PC页面扫码登录配置appsecret"
}
}
},
"mp-weixin": {
"tokenExpiresIn": 259200,
"tokenExpiresThreshold": 86400,
"oauth": {
"weixin": {
"appid": "微信小程序登录所用的appid、appsecret需要在对应的小程序管理控制台获取",
"appsecret": "微信小程序后台获取的appsecret"
}
}
},
"mp-alipay": {
"tokenExpiresIn": 259200,
"tokenExpiresThreshold": 86400,
"oauth": {
"alipay": {
"appid": "支付宝小程序登录用到的appid、privateKey请参考支付宝小程序的文档进行设置或者获取,https://opendocs.alipay.com/open/291/105971#LDsXr",
"privateKey": "支付宝小程序登录用到的appid、privateKey请参考支付宝小程序的文档进行设置或者获取,https://opendocs.alipay.com/open/291/105971#LDsXr"
}
}
},
"service": {
"sms": {
"name": "应用名称,对应短信模版的name",
"codeExpiresIn": 300,
"smsKey": "短信密钥key,开通短信服务处可以看到",
"smsSecret": "短信密钥secret,开通短信服务处可以看到",
"scene": {
"bind-mobile-by-sms": {
"templateId": "绑定手机号使用的短信验证码模板",
"codeExpiresIn": 240
}
}
},
"univerify": {
"appid": "当前应用的appid,使用云函数URL化,此项必须配置",
"apiKey": "apiKey 和 apiSecret 在开发者中心获取,开发者中心:https://dev.dcloud.net.cn/uniLogin/index?type=0,文档:https://ask.dcloud.net.cn/article/37965",
"apiSecret": ""
}
}
}
注意,这个东西就是个json不能有注释。然后重新上传config模块即可。
如果passwordSecret 这个东西变了,可能就得直接去数据库改密码了,好在我的文件还在,不用去改密码。