提交 285236c9 编写于 作者: DCloud_JSON's avatar DCloud_JSON

- 修复微信小程序绑定手机号失败的问题

上级 0ceaaaa4
此差异已折叠。
{ {
"prompt" : "template" "prompt" : "template"
} }
此差异已折叠。
<template> <template>
<refresh @refresh="refresh" @pullingdown="onpullingdown" :display="showRefresh ? 'show' : 'hide'"> <refresh @refresh="refresh" @pullingdown="onpullingdown" :display="showRefresh ? 'show' : 'hide'">
<view class="refreshBox"> <view class="refreshBox">
<!-- 可以自己添加图片路径或base64实现图片 <image class="refreshImg" :src="config[state].img" mode="widthFix" resize="cover"></image> --> <!-- 可以自己添加图片路径或base64实现图片 <image class="refreshImg" :src="config[state].img" mode="widthFix" resize="cover"></image> -->
<text class="refreshText">{{config[state].text}}</text> <text class="refreshText">{{config[state].text}}</text>
</view> </view>
</refresh> </refresh>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
showRefresh:false, showRefresh:false,
state:0 state:0
} }
}, },
methods:{ methods:{
onpullingdown({pullingDistance,viewHeight}) { onpullingdown({pullingDistance,viewHeight}) {
if(pullingDistance < viewHeight){ if(pullingDistance < viewHeight){
this.state = 0 this.state = 0
}else{ }else{
this.state = 1 this.state = 1
} }
}, },
refresh(){ refresh(){
// console.log('refresh'); // console.log('refresh');
this.showRefresh = true this.showRefresh = true
this.state = 2 this.state = 2
this.$emit('refresh') this.$emit('refresh')
} }
}, },
watch: { watch: {
loading(loading, oldValue) { loading(loading, oldValue) {
if(!loading){ if(!loading){
this.showRefresh = false this.showRefresh = false
this.state = 3 this.state = 3
} }
} }
}, },
props: { props: {
loading: { loading: {
type:Boolean, type:Boolean,
default(){ default(){
return false return false
} }
}, },
config: { config: {
type: Array, type: Array,
default(){ default(){
return [ return [
{ {
text:"继续下拉执行刷新", text:"继续下拉执行刷新",
img:""//可以自己添加图片路径或base64实现图片 img:""//可以自己添加图片路径或base64实现图片
}, },
{ {
text:"释放立即刷新", text:"释放立即刷新",
img:""//可以自己添加图片路径或base64实现图片 img:""//可以自己添加图片路径或base64实现图片
}, },
{ {
text:"正在疯狂的加载中", text:"正在疯狂的加载中",
img:""//可以自己添加图片路径或base64实现图片 img:""//可以自己添加图片路径或base64实现图片
}, },
{ {
text:"加载成功", text:"加载成功",
img:""//可以自己添加图片路径或base64实现图片 img:""//可以自己添加图片路径或base64实现图片
} }
] ]
} }
}, },
}, },
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.refreshBox{ .refreshBox{
width: 750rpx; width: 750rpx;
height: 50px; height: 50px;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
flex-direction: row; flex-direction: row;
/* #ifndef APP-PLUS */ /* #ifndef APP-PLUS */
margin-top: -50px; margin-top: -50px;
/* #endif */ /* #endif */
} }
.refreshImg{ .refreshImg{
width: 55rpx; width: 55rpx;
height: 55rpx; height: 55rpx;
z-index: 111; z-index: 111;
} }
.refreshText{ .refreshText{
font-size: 26rpx; font-size: 26rpx;
color: #999999; color: #999999;
padding-left: 6rpx; padding-left: 6rpx;
} }
</style> </style>
<template> <template>
<view class="root"> <view class="root">
<checkbox-group @change="setAgree" class="checkbox-group"> <checkbox-group @change="setAgree" class="checkbox-group">
<checkbox :checked="isAgree" style="transform: scale(0.7);" /> <checkbox :checked="isAgree" style="transform: scale(0.7);" />
<text>{{$t('common.agree')}}</text> <text>{{$t('common.agree')}}</text>
</checkbox-group> </checkbox-group>
<view class="item" v-for="(agreement,index) in agreements" :key="index"> <view class="item" v-for="(agreement,index) in agreements" :key="index">
<text class="agreement" @click="navigateTo(agreement)">{{agreement.title}}</text> <text class="agreement" @click="navigateTo(agreement)">{{agreement.title}}</text>
<text class="hint" v-if="hasAnd(agreements,index)">&</text> <text class="hint" v-if="hasAnd(agreements,index)">&</text>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
name:"uni-agreements", name:"uni-agreements",
computed:{ computed:{
agreements(){ agreements(){
return getApp().globalData.config.about.agreements||[] return getApp().globalData.config.about.agreements||[]
} }
}, },
methods:{ methods:{
navigateTo({url,title}){ navigateTo({url,title}){
uni.navigateTo({ uni.navigateTo({
url: '/pages/common/webview/webview?url='+url+'&title='+title, url: '/pages/common/webview/webview?url='+url+'&title='+title,
success: res => {}, success: res => {},
fail: () => {}, fail: () => {},
complete: () => {} complete: () => {}
}); });
}, },
hasAnd(agreements,index){ hasAnd(agreements,index){
return agreements.length-1>index return agreements.length-1>index
}, },
setAgree(e){ setAgree(e){
this.isAgree = !this.isAgree this.isAgree = !this.isAgree
this.$emit('setAgree',this.isAgree) this.$emit('setAgree',this.isAgree)
} }
}, },
created() { created() {
uni.$on('setAgreementsAgree',state=>{ uni.$on('setAgreementsAgree',state=>{
console.log('setAgreementsAgree',state); console.log('setAgreementsAgree',state);
this.isAgree = state this.isAgree = state
this.$emit('setAgree',state) this.$emit('setAgree',state)
}) })
}, },
data() { data() {
return { return {
isAgree:false isAgree:false
}; };
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
view{ view{
display: flex; display: flex;
box-sizing: border-box; box-sizing: border-box;
flex-direction: column; flex-direction: column;
} }
/* #endif */ /* #endif */
.root{ .root{
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
font-size: 28rpx; font-size: 28rpx;
color: #8a8f8b; color: #8a8f8b;
} }
.checkbox-group{ .checkbox-group{
align-items: center; align-items: center;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
} }
.item{ .item{
flex-direction: row; flex-direction: row;
} }
.agreement{ .agreement{
color:#04498c; color:#04498c;
} }
</style> </style>
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
}, },
bindMobileByMpWeixin(e) { bindMobileByMpWeixin(e) {
console.log(e.detail); console.log(e.detail);
if(e.errMsg == "getPhoneNumber:ok"){ if(e.detail.errMsg == "getPhoneNumber:ok"){
uniCloud.callFunction({ uniCloud.callFunction({
name: "uni-id-cf", name: "uni-id-cf",
data: { data: {
......
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<script> <script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
CSS.supports('top: constant(a)')) CSS.supports('top: constant(a)'))
document.write( document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ', viewport-fit=cover' : '') + '" />') (coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script> </script>
<title></title> <title></title>
<!--preload-links--> <!--preload-links-->
<!--app-context--> <!--app-context-->
</head> </head>
<body> <body>
<div id="app"><!--app-html--></div> <div id="app"><!--app-html--></div>
<script type="module" src="/main.js"></script> <script type="module" src="/main.js"></script>
</body> </body>
</html> </html>
\ No newline at end of file
{ {
"name" : "uni-starter", "name": "uni-starter",
"appid" : "__UNI__EC87F46", "appid": "请点击重新获取",
"description" : "", "description": "",
"versionName" : "1.0.0", "versionName": "1.0.0",
"versionCode" : "100", "versionCode": "100",
"transformPx" : false, "transformPx": false,
/* 5+App特有相关 */ "app-plus": {
"app-plus" : { "usingComponents": true,
"usingComponents" : true, "nvueStyleCompiler": "uni-app",
"nvueStyleCompiler" : "uni-app", "compilerVersion": 3,
"compilerVersion" : 3, "splashscreen": {
"splashscreen" : { "alwaysShowBeforeRender": true,
"alwaysShowBeforeRender" : true, "waiting": true,
"waiting" : true, "autoclose": true,
"autoclose" : true, "delay": 0
"delay" : 0
},
/* 模块配置 */
"modules" : {},
/* 应用发布信息 */
"distribute" : {
/* android打包配置 */
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios打包配置 */
"ios" : {},
/* SDK配置 */
"sdkConfigs" : {}
}
}, },
/* 快应用特有相关 */ "modules": {
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
"appid" : "",
"setting" : {
"urlCheck" : false
},
"usingComponents" : true
}, },
"mp-alipay" : { "distribute": {
"usingComponents" : true "android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
"ios": {
},
"sdkConfigs": {
}
}
},
"quickapp": {
},
"mp-weixin": {
"appid": "",
"setting": {
"urlCheck": false
}, },
"mp-baidu" : { "usingComponents": true,
"usingComponents" : true "permission": {
}, "scope.userLocation": {
"mp-toutiao" : { "desc": "用于提供应用算法支持"
"usingComponents" : true }
}, }
"uniStatistics" : { },
"enable" : false "mp-alipay": {
}, "usingComponents": true
"vueVersion" : "2" },
} "mp-baidu": {
"usingComponents": true
},
"mp-toutiao": {
"usingComponents": true
},
"uniStatistics": {
"enable": false
},
"vueVersion": "2",
"_spaceID": ""
}
\ No newline at end of file
{ {
"id": "uni-starter", "id": "uni-starter",
"displayName": "uni-starter", "displayName": "uni-starter",
"version": "1.2.6", "version": "1.2.7",
"description": "云端一体应用快速开发基本项目模版", "description": "云端一体应用快速开发基本项目模版",
"keywords": [ "keywords": [
"login", "login",
"登录", "登录",
"搜索", "搜索",
"uni-id实例", "uni-id实例",
"留言板" "留言板"
], ],
"repository": "https://gitcode.net/dcloud/uni-starter", "repository": "https://gitcode.net/dcloud/uni-starter",
"engines": { "engines": {
"HBuilderX": "^3.2.6" "HBuilderX": "^3.2.6"
}, },
"dcloudext": { "dcloudext": {
"category": [ "sale": {
"uniCloud", "regular": {
"云端一体项目模板" "price": "0.00"
], },
"sale": { "sourcecode": {
"regular": { "price": "0.00"
"price": "0.00" }
}, },
"sourcecode": { "contact": {
"price": "0.00" "qq": ""
} },
}, "declaration": {
"contact": { "ads": "无",
"qq": "" "data": "无",
}, "permissions": "无"
"declaration": { },
"ads": "无", "npmurl": "",
"data": "无", "type": "unicloud-template-project"
"permissions": "无" },
}, "uni_modules": {
"npmurl": "" "dependencies": [
}, "uni-id-cf",
"uni_modules": { "uni-captcha"
"dependencies": [ ],
"uni-id-cf", "encrypt": [],
"uni-captcha" "platforms": {
], "cloud": {
"encrypt": [], "tcb": "y",
"platforms": { "aliyun": "y"
"cloud": { },
"tcb": "y", "client": {
"aliyun": "y" "App": {
}, "app-vue": "y",
"client": { "app-nvue": "u"
"App": { },
"app-vue": "y", "H5-mobile": {
"app-nvue": "u" "Safari": "u",
}, "Android Browser": "u",
"H5-mobile": { "微信浏览器(Android)": "u",
"Safari": "u", "QQ浏览器(Android)": "u"
"Android Browser": "u", },
"微信浏览器(Android)": "u", "H5-pc": {
"QQ浏览器(Android)": "u" "Chrome": "y",
}, "IE": "n",
"H5-pc": { "Edge": "u",
"Chrome": "y", "Firefox": "u",
"IE": "n", "Safari": "u"
"Edge": "u", },
"Firefox": "u", "小程序": {
"Safari": "u" "微信": "y",
}, "阿里": "u",
"小程序": { "百度": "u",
"微信": "y", "字节跳动": "u",
"阿里": "u", "QQ": "u",
"百度": "u", "京东": "u"
"字节跳动": "u", },
"QQ": "u", "快应用": {
"京东": "u" "华为": "u",
}, "联盟": "u"
"快应用": { },
"华为": "u", "Vue": {
"联盟": "u" "vue2": "y",
}, "vue3": "y"
"Vue": { }
"vue2": "y", }
"vue3": "y" }
} },
} "dependencies": {}
} }
},
"dependencies": {}
}
<template> <template>
<view> <view>
<web-view v-if="url" :src="url"></web-view> <web-view v-if="url" :src="url"></web-view>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
onLoad({url,title}) { onLoad({url,title}) {
if(url.substring(0, 4) != 'http'){ if(url.substring(0, 4) != 'http'){
uni.showModal({ uni.showModal({
title:"错误", title:"错误",
content: '不是一个有效的网站链接,'+'"'+url+'"', content: '不是一个有效的网站链接,'+'"'+url+'"',
showCancel: false, showCancel: false,
confirmText:"知道了", confirmText:"知道了",
complete: () => { complete: () => {
uni.navigateBack() uni.navigateBack()
} }
}); });
title = "页面路径错误" title = "页面路径错误"
}else{ }else{
console.log(url,title); console.log(url,title);
this.url = url; this.url = url;
} }
if(title){ if(title){
uni.setNavigationBarTitle({title}); uni.setNavigationBarTitle({title});
} }
}, },
data() { data() {
return { return {
url:null url:null
}; };
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
</style> </style>
此差异已折叠。
此差异已折叠。
//这是应用的配置页面,App.vue挂载到getApp().globalData.config //这是应用的配置页面,App.vue挂载到getApp().globalData.config
export default { export default {
//是否打开调试模式 //是否打开调试模式
"debug":false, "debug":false,
"h5": { "h5": {
"url": "https://uni-starter.dcloud.net.cn", // 前端网页托管的域名 "url": "https://uni-starter.dcloud.net.cn", // 前端网页托管的域名
// 在h5端全局悬浮引导用户下载app的功能 更多自定义要求在/common/openApp.js中修改 // 在h5端全局悬浮引导用户下载app的功能 更多自定义要求在/common/openApp.js中修改
// "openApp": { //如不需要本功能直接移除本节点即可 // "openApp": { //如不需要本功能直接移除本节点即可
// //点击悬浮下载栏后打开的网页链接 // //点击悬浮下载栏后打开的网页链接
// "openUrl": '/#/pages/ucenter/invite/invite', // "openUrl": '/#/pages/ucenter/invite/invite',
// //左侧显示的应用名称 // //左侧显示的应用名称
// "appname": 'uni-starter', // "appname": 'uni-starter',
// //应用的图标 // //应用的图标
// "logo": './static/logo.png', // "logo": './static/logo.png',
// } // }
}, },
"mp": { "mp": {
"weixin": { "weixin": {
//微信小程序原始id,微信小程序分享时 //微信小程序原始id,微信小程序分享时
"id": "gh_33446d7f7a26" "id": "gh_33446d7f7a26"
} }
}, },
"router": { "router": {
/* /*
名词解释:“强制登录页” 名词解释:“强制登录页”
在打开定义的需强制登录的页面之前会自动检查(前端校验)uni_id_token的值是否有效, 在打开定义的需强制登录的页面之前会自动检查(前端校验)uni_id_token的值是否有效,
如果无效会自动跳转到登录页面 如果无效会自动跳转到登录页面
两种模式: 两种模式:
1.needLogin:黑名单模式。枚举游客不可访问的页面。 1.needLogin:黑名单模式。枚举游客不可访问的页面。
2.visitor:白名单模式。枚举游客可访问的页面。 2.visitor:白名单模式。枚举游客可访问的页面。
* 注意:黑名单与白名单模式二选一 * 注意:黑名单与白名单模式二选一
*/ */
// "needLogin" : [ // "needLogin" : [
// {pattern:/^\/pages\/list.*/}, //支持正则表达式 // {pattern:/^\/pages\/list.*/}, //支持正则表达式
// "/uni_modules/uni-news-favorite/pages/uni-news-favorite/list", // "/uni_modules/uni-news-favorite/pages/uni-news-favorite/list",
// "/uni_modules/uni-feedback/pages/uni-feedback/add" // "/uni_modules/uni-feedback/pages/uni-feedback/add"
// ], // ],
"visitor" : [ "visitor" : [
"/",//注意入口页必须直接写 "/" "/",//注意入口页必须直接写 "/"
{"pattern":/^\/pages\/list.*/}, //支持正则表达式 {"pattern":/^\/pages\/list.*/}, //支持正则表达式
{"pattern":/^\/pages\/ucenter\/login-page.*/}, {"pattern":/^\/pages\/ucenter\/login-page.*/},
"/pages/common/webview/webview", "/pages/common/webview/webview",
"/pages/grid/grid", "/pages/grid/grid",
"/pages/ucenter/ucenter", "/pages/ucenter/ucenter",
"/pages/ucenter/about/about", "/pages/ucenter/about/about",
"/pages/ucenter/settings/settings" "/pages/ucenter/settings/settings"
], ],
/* /*
login:配置登录类型与优先级 login:配置登录类型与优先级
未列举到的,或设备环境不支持的选项,将被隐藏。如果你需要在不同平台有不同的配置,直接用条件编译即可 未列举到的,或设备环境不支持的选项,将被隐藏。如果你需要在不同平台有不同的配置,直接用条件编译即可
根据数组的第0项,决定登录方式的第一优先级。 根据数组的第0项,决定登录方式的第一优先级。
*/ */
"login": ["weixin","univerify","username", "smsCode", "apple"] "login": ["weixin","univerify","username", "smsCode", "apple"]
}, },
//关于应用 //关于应用
"about": { "about": {
//应用名称 //应用名称
"appName": "uni-starter", "appName": "uni-starter",
//应用logo //应用logo
"logo": "/static/logo.png", "logo": "/static/logo.png",
//公司名称 //公司名称
"company": "北京xx网络技术有限公司", "company": "北京xx网络技术有限公司",
//口号 //口号
"slogan": "云端一体应用快速开发模版", "slogan": "云端一体应用快速开发模版",
//政策协议 //政策协议
"agreements": [{ "agreements": [{
"title": "用户服务协议", //如果开启了多语言国际化,本配置将失效。请在 lang/en.js 和 lang/zh-Hans.js中配置 "title": "用户服务协议", //如果开启了多语言国际化,本配置将失效。请在 lang/en.js 和 lang/zh-Hans.js中配置
"url": "请填写用户服务协议链接" //对应的网络链接 "url": "请填写用户服务协议链接" //对应的网络链接
}, },
{ {
"title": "隐私政策", //如果开启了多语言国际化,本配置将失效。请在 lang/en.js 和 lang/zh-Hans.js中配置 "title": "隐私政策", //如果开启了多语言国际化,本配置将失效。请在 lang/en.js 和 lang/zh-Hans.js中配置
"url": "请填写隐私政策链接" //对应的网络链接 "url": "请填写隐私政策链接" //对应的网络链接
} }
], ],
//应用的链接,用于分享到第三方平台和生成关于我们页的二维码 //应用的链接,用于分享到第三方平台和生成关于我们页的二维码
"download": "", "download": "",
//version //version
"version":"1.0.0" //用于非app端显示,app端自动获取 "version":"1.0.0" //用于非app端显示,app端自动获取
}, },
"download":{ //用于生成二合一下载页面 "download":{ //用于生成二合一下载页面
"ios":"https://itunes.apple.com/cn/app/hello-uni-app/id1417078253?mt=8", "ios":"https://itunes.apple.com/cn/app/hello-uni-app/id1417078253?mt=8",
"android":"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-97fca9f2-41f6-449f-a35e-3f135d4c3875/6d754387-a6c3-48ed-8ad2-e8f39b40fc01.apk" "android":"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-97fca9f2-41f6-449f-a35e-3f135d4c3875/6d754387-a6c3-48ed-8ad2-e8f39b40fc01.apk"
}, },
//用于打开应用市场评分界面 //用于打开应用市场评分界面
"marketId":{ "marketId":{
"ios":"id1417078253", "ios":"id1417078253",
"android":"123456" "android":"123456"
}, },
//配置多语言国际化。i18n为英文单词 internationalization的首末字符i和n,18为中间的字符数 是“国际化”的简称 //配置多语言国际化。i18n为英文单词 internationalization的首末字符i和n,18为中间的字符数 是“国际化”的简称
"i18n":{ "i18n":{
"enable":false //默认关闭,国际化。如果你想使用国际化相关功能,请改为true "enable":false //默认关闭,国际化。如果你想使用国际化相关功能,请改为true
} }
} }
\ No newline at end of file
## 1.0.0(2021-07-12) ## 1.0.0(2021-07-12)
第一版发布 第一版发布
{ {
"id": "json-gps", "id": "json-gps",
"displayName": "地理位置获取方法,支持在onShow生命周期使用集成权限判断和引导开启(包括设备权限和应用权限)", "displayName": "地理位置获取方法,支持在onShow生命周期使用集成权限判断和引导开启(包括设备权限和应用权限)",
"version": "1.0.0", "version": "1.0.0",
"description": "支持在onShow生命周期使用集成权限判断和引导开启(包括设备权限和应用权限)的地理位置获取方法", "description": "支持在onShow生命周期使用集成权限判断和引导开启(包括设备权限和应用权限)的地理位置获取方法",
"keywords": [ "keywords": [
"权限引导" "权限引导"
], ],
"repository": "", "repository": "",
"engines": { "engines": {
"HBuilderX": "^3.1.0" "HBuilderX": "^3.1.0"
}, },
"dcloudext": { "dcloudext": {
"category": [ "category": [
"JS SDK", "JS SDK",
"通用 SDK" "通用 SDK"
], ],
"sale": { "sale": {
"regular": { "regular": {
"price": "0.00" "price": "0.00"
}, },
"sourcecode": { "sourcecode": {
"price": "0.00" "price": "0.00"
} }
}, },
"contact": { "contact": {
"qq": "" "qq": ""
}, },
"declaration": { "declaration": {
"ads": "无", "ads": "无",
"data": "插件不采集任何数据", "data": "插件不采集任何数据",
"permissions": "无" "permissions": "无"
}, },
"npmurl": "" "npmurl": ""
}, },
"uni_modules": { "uni_modules": {
"dependencies": [], "dependencies": [],
"encrypt": [], "encrypt": [],
"platforms": { "platforms": {
"cloud": { "cloud": {
"tcb": "y", "tcb": "y",
"aliyun": "y" "aliyun": "y"
}, },
"client": { "client": {
"App": { "App": {
"app-vue": "y", "app-vue": "y",
"app-nvue": "y" "app-nvue": "y"
}, },
"H5-mobile": { "H5-mobile": {
"Safari": "u", "Safari": "u",
"Android Browser": "u", "Android Browser": "u",
"微信浏览器(Android)": "u", "微信浏览器(Android)": "u",
"QQ浏览器(Android)": "u" "QQ浏览器(Android)": "u"
}, },
"H5-pc": { "H5-pc": {
"Chrome": "u", "Chrome": "u",
"IE": "u", "IE": "u",
"Edge": "u", "Edge": "u",
"Firefox": "u", "Firefox": "u",
"Safari": "u" "Safari": "u"
}, },
"小程序": { "小程序": {
"微信": "y", "微信": "y",
"阿里": "u", "阿里": "u",
"百度": "u", "百度": "u",
"字节跳动": "u", "字节跳动": "u",
"QQ": "u" "QQ": "u"
}, },
"快应用": { "快应用": {
"华为": "u", "华为": "u",
"联盟": "u" "联盟": "u"
} }
} }
} }
} }
} }
\ No newline at end of file
## 1.0.2(2021-05-20) ## 1.0.2(2021-05-20)
修复IOS提示不准确,无摄像头权限提示了无法访问相册 修复IOS提示不准确,无摄像头权限提示了无法访问相册
## 1.0.1(2021-05-20) ## 1.0.1(2021-05-20)
新增文档和示例代码 新增文档和示例代码
## 1.0.0(2021-05-20) ## 1.0.0(2021-05-20)
第一版本发布 第一版本发布
export default function(){ export default function(){
//当应用无访问摄像头/相册权限,引导跳到设置界面 //当应用无访问摄像头/相册权限,引导跳到设置界面
uni.addInterceptor('chooseImage', { uni.addInterceptor('chooseImage', {
fail(e) { // 失败回调拦截 更多拦截器用法 [详情](https://uniapp.dcloud.io/api/interceptor?id=addinterceptor) fail(e) { // 失败回调拦截 更多拦截器用法 [详情](https://uniapp.dcloud.io/api/interceptor?id=addinterceptor)
console.log(e); console.log(e);
if (uni.getSystemInfoSync().platform == "android" && e.errMsg == 'chooseImage:fail No Permission') { if (uni.getSystemInfoSync().platform == "android" && e.errMsg == 'chooseImage:fail No Permission') {
if (e.code === 11) { if (e.code === 11) {
uni.showModal({ uni.showModal({
title: "无法访问摄像头", title: "无法访问摄像头",
content: "当前无摄像头访问权限,建议前往设置", content: "当前无摄像头访问权限,建议前往设置",
confirmText: "前往设置", confirmText: "前往设置",
success(e) { success(e) {
if (e.confirm) { if (e.confirm) {
gotoAppPermissionSetting() gotoAppPermissionSetting()
} }
} }
}); });
} else { } else {
uni.showModal({ uni.showModal({
title: "无法访问相册", title: "无法访问相册",
content: "当前无系统相册访问权限,建议前往设置", content: "当前无系统相册访问权限,建议前往设置",
confirmText: "前往设置", confirmText: "前往设置",
success(e) { success(e) {
if (e.confirm) { if (e.confirm) {
gotoAppPermissionSetting() gotoAppPermissionSetting()
} }
} }
}); });
} }
} else if (e.errCode === 2&&e.errMsg == "chooseImage:fail No filming permission") { } else if (e.errCode === 2&&e.errMsg == "chooseImage:fail No filming permission") {
console.log('e.errMsg === 2 ios无法拍照权限 '); console.log('e.errMsg === 2 ios无法拍照权限 ');
// 注:e.errCode === 8 ios无从相册选择图片的权限 api已内置无需自己用拦截器实现 // 注:e.errCode === 8 ios无从相册选择图片的权限 api已内置无需自己用拦截器实现
uni.showModal({ uni.showModal({
title: "无法访问摄像头", title: "无法访问摄像头",
content: "当前无摄像头访问权限,建议前往设置", content: "当前无摄像头访问权限,建议前往设置",
confirmText: "前往设置", confirmText: "前往设置",
success(e) { success(e) {
if (e.confirm) { if (e.confirm) {
gotoAppPermissionSetting() gotoAppPermissionSetting()
} }
} }
}); });
} }
} }
}) })
//跳转到**应用**的权限页面 参考来源:https://ext.dcloud.net.cn/plugin?id=594 //跳转到**应用**的权限页面 参考来源:https://ext.dcloud.net.cn/plugin?id=594
function gotoAppPermissionSetting() { function gotoAppPermissionSetting() {
if (uni.getSystemInfoSync().platform == "ios") { if (uni.getSystemInfoSync().platform == "ios") {
var UIApplication = plus.ios.import("UIApplication"); var UIApplication = plus.ios.import("UIApplication");
var application2 = UIApplication.sharedApplication(); var application2 = UIApplication.sharedApplication();
var NSURL2 = plus.ios.import("NSURL"); var NSURL2 = plus.ios.import("NSURL");
var setting2 = NSURL2.URLWithString("app-settings:"); var setting2 = NSURL2.URLWithString("app-settings:");
application2.openURL(setting2); application2.openURL(setting2);
plus.ios.deleteObject(setting2); plus.ios.deleteObject(setting2);
plus.ios.deleteObject(NSURL2); plus.ios.deleteObject(NSURL2);
plus.ios.deleteObject(application2); plus.ios.deleteObject(application2);
} else { } else {
var Intent = plus.android.importClass("android.content.Intent"); var Intent = plus.android.importClass("android.content.Intent");
var Settings = plus.android.importClass("android.provider.Settings"); var Settings = plus.android.importClass("android.provider.Settings");
var Uri = plus.android.importClass("android.net.Uri"); var Uri = plus.android.importClass("android.net.Uri");
var mainActivity = plus.android.runtimeMainActivity(); var mainActivity = plus.android.runtimeMainActivity();
var intent = new Intent(); var intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
var uri = Uri.fromParts("package", mainActivity.getPackageName(), null); var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
intent.setData(uri); intent.setData(uri);
mainActivity.startActivity(intent); mainActivity.startActivity(intent);
} }
} }
} }
\ No newline at end of file
{ {
"id": "json-interceptor-chooseImage", "id": "json-interceptor-chooseImage",
"displayName": "拦截器应用示例 — 图片选择", "displayName": "拦截器应用示例 — 图片选择",
"version": "1.0.2", "version": "1.0.2",
"description": "当选择图片遇到权限问题时引导用户快捷打开系统设置", "description": "当选择图片遇到权限问题时引导用户快捷打开系统设置",
"keywords": [ "keywords": [
"interceptor,拦截器,相册权限" "interceptor,拦截器,相册权限"
], ],
"repository": "", "repository": "",
"engines": { "engines": {
"HBuilderX": "^3.1.0" "HBuilderX": "^3.1.0"
}, },
"dcloudext": { "dcloudext": {
"category": [ "category": [
"JS SDK", "JS SDK",
"通用 SDK" "通用 SDK"
], ],
"sale": { "sale": {
"regular": { "regular": {
"price": "0.00" "price": "0.00"
}, },
"sourcecode": { "sourcecode": {
"price": "0.00" "price": "0.00"
} }
}, },
"contact": { "contact": {
"qq": "" "qq": ""
}, },
"declaration": { "declaration": {
"ads": "无", "ads": "无",
"data": "无", "data": "无",
"permissions": "无" "permissions": "无"
}, },
"npmurl": "" "npmurl": ""
}, },
"uni_modules": { "uni_modules": {
"dependencies": [], "dependencies": [],
"encrypt": [], "encrypt": [],
"platforms": { "platforms": {
"cloud": { "cloud": {
"tcb": "y", "tcb": "y",
"aliyun": "y" "aliyun": "y"
}, },
"client": { "client": {
"App": { "App": {
"app-vue": "y", "app-vue": "y",
"app-nvue": "y" "app-nvue": "y"
}, },
"H5-mobile": { "H5-mobile": {
"Safari": "n", "Safari": "n",
"Android Browser": "n", "Android Browser": "n",
"微信浏览器(Android)": "n", "微信浏览器(Android)": "n",
"QQ浏览器(Android)": "n" "QQ浏览器(Android)": "n"
}, },
"H5-pc": { "H5-pc": {
"Chrome": "n", "Chrome": "n",
"IE": "n", "IE": "n",
"Edge": "n", "Edge": "n",
"Firefox": "n", "Firefox": "n",
"Safari": "n" "Safari": "n"
}, },
"小程序": { "小程序": {
"微信": "n", "微信": "n",
"阿里": "n", "阿里": "n",
"百度": "n", "百度": "n",
"字节跳动": "n", "字节跳动": "n",
"QQ": "n" "QQ": "n"
}, },
"快应用": { "快应用": {
"华为": "n", "华为": "n",
"联盟": "n" "联盟": "n"
} }
} }
} }
} }
} }
\ No newline at end of file
## 1.4.3(2021-09-22) ## 1.4.3(2021-09-22)
- 修复 startDate、 endDate 属性失效的 bug - 修复 startDate、 endDate 属性失效的 bug
## 1.4.2(2021-08-24) ## 1.4.2(2021-08-24)
- 新增 支持国际化 - 新增 支持国际化
## 1.4.1(2021-08-05) ## 1.4.1(2021-08-05)
- 修复 弹出层被 tabbar 遮盖 bug - 修复 弹出层被 tabbar 遮盖 bug
## 1.4.0(2021-07-30) ## 1.4.0(2021-07-30)
- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
## 1.3.16(2021-05-12) ## 1.3.16(2021-05-12)
- 新增 组件示例地址 - 新增 组件示例地址
## 1.3.15(2021-02-04) ## 1.3.15(2021-02-04)
- 调整为uni_modules目录规范 - 调整为uni_modules目录规范
{ {
"id": "uni-calendar", "id": "uni-calendar",
"displayName": "uni-calendar 日历", "displayName": "uni-calendar 日历",
"version": "1.4.3", "version": "1.4.3",
"description": "日历组件", "description": "日历组件",
"keywords": [ "keywords": [
"uni-ui", "uni-ui",
"uniui", "uniui",
"日历", "日历",
"", "",
"打卡", "打卡",
"日历选择" "日历选择"
], ],
"repository": "https://github.com/dcloudio/uni-ui", "repository": "https://github.com/dcloudio/uni-ui",
"engines": { "engines": {
"HBuilderX": "" "HBuilderX": ""
}, },
"directories": { "directories": {
"example": "../../temps/example_temps" "example": "../../temps/example_temps"
}, },
"dcloudext": { "dcloudext": {
"category": [ "category": [
"前端组件", "前端组件",
"通用组件" "通用组件"
], ],
"sale": { "sale": {
"regular": { "regular": {
"price": "0.00" "price": "0.00"
}, },
"sourcecode": { "sourcecode": {
"price": "0.00" "price": "0.00"
} }
}, },
"contact": { "contact": {
"qq": "" "qq": ""
}, },
"declaration": { "declaration": {
"ads": "无", "ads": "无",
"data": "无", "data": "无",
"permissions": "无" "permissions": "无"
}, },
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
}, },
"uni_modules": { "uni_modules": {
"dependencies": [], "dependencies": [],
"encrypt": [], "encrypt": [],
"platforms": { "platforms": {
"cloud": { "cloud": {
"tcb": "y", "tcb": "y",
"aliyun": "y" "aliyun": "y"
}, },
"client": { "client": {
"App": { "App": {
"app-vue": "y", "app-vue": "y",
"app-nvue": "y" "app-nvue": "y"
}, },
"H5-mobile": { "H5-mobile": {
"Safari": "y", "Safari": "y",
"Android Browser": "y", "Android Browser": "y",
"微信浏览器(Android)": "y", "微信浏览器(Android)": "y",
"QQ浏览器(Android)": "y" "QQ浏览器(Android)": "y"
}, },
"H5-pc": { "H5-pc": {
"Chrome": "y", "Chrome": "y",
"IE": "y", "IE": "y",
"Edge": "y", "Edge": "y",
"Firefox": "y", "Firefox": "y",
"Safari": "y" "Safari": "y"
}, },
"小程序": { "小程序": {
"微信": "y", "微信": "y",
"阿里": "y", "阿里": "y",
"百度": "y", "百度": "y",
"字节跳动": "y", "字节跳动": "y",
"QQ": "y" "QQ": "y"
}, },
"快应用": { "快应用": {
"华为": "u", "华为": "u",
"联盟": "u" "联盟": "u"
}, },
"Vue": { "Vue": {
"vue2": "y", "vue2": "y",
"vue3": "y" "vue3": "y"
} }
} }
} }
} }
} }
\ No newline at end of file
module.exports = { module.exports = {
"image-captcha":{ "image-captcha":{
"width": 150, //图片宽度 "width": 150, //图片宽度
"height": 44, //图片高度 "height": 44, //图片高度
"background": "#FFFAE8", //验证码背景色,设置空字符`''`不使用背景颜色 "background": "#FFFAE8", //验证码背景色,设置空字符`''`不使用背景颜色
// "size": 4, //验证码长度,最多 6 个字符 // "size": 4, //验证码长度,最多 6 个字符
// "noise": 4, //验证码干扰线条数 // "noise": 4, //验证码干扰线条数
// "color": false, //字体是否使用随机颜色,当设置`background`后恒为`true` // "color": false, //字体是否使用随机颜色,当设置`background`后恒为`true`
// "fontSize": 40, //字体大小 // "fontSize": 40, //字体大小
// "ignoreChars": '', //忽略那些字符 // "ignoreChars": '', //忽略那些字符
// "mathExpr": false, //是否使用数学表达式 // "mathExpr": false, //是否使用数学表达式
// "mathMin": 1, //表达式所使用的最小数字 // "mathMin": 1, //表达式所使用的最小数字
// "mathMax": 9, //表达式所使用的最大数字 // "mathMax": 9, //表达式所使用的最大数字
// "mathOperator": '' //表达式所使用的运算符,支持 `+`、`-`。不传随机使用 // "mathOperator": '' //表达式所使用的运算符,支持 `+`、`-`。不传随机使用
// "expiresDate":180 //验证码过期时间(s) // "expiresDate":180 //验证码过期时间(s)
} }
} }
\ No newline at end of file
{ {
"广告位id":"密钥" "广告位id":"密钥"
} }
\ No newline at end of file
{ {
"id": "3796", "id": "3796",
"name": "DataPicker", "name": "DataPicker",
"desc": "数据驱动的picker选择器", "desc": "数据驱动的picker选择器",
"url": "data-picker", "url": "data-picker",
"type": "表单组件", "type": "表单组件",
"edition": "0.0.8", "edition": "0.0.8",
"suffix": "vue", "suffix": "vue",
"module": ["uni-data-picker","uni-data-pickerview","uni-load-more"], "module": ["uni-data-picker","uni-data-pickerview","uni-load-more"],
"path": "https://ext.dcloud.net.cn/plugin?id=3796", "path": "https://ext.dcloud.net.cn/plugin?id=3796",
"update_log": ["- 优化 增加下拉箭头"] "update_log": ["- 优化 增加下拉箭头"]
} }
## 2.2.2(2021-12-10) ## 2.2.2(2021-12-10)
- 修复 clear-icon 属性在小程序平台不生效的 bug - 修复 clear-icon 属性在小程序平台不生效的 bug
## 2.2.1(2021-12-10) ## 2.2.1(2021-12-10)
- 修复 日期范围选在小程序平台,必须多点击一次才能取消选中状态的 bug - 修复 日期范围选在小程序平台,必须多点击一次才能取消选中状态的 bug
## 2.2.0(2021-11-19) ## 2.2.0(2021-11-19)
- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-datetime-picker](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker) - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-datetime-picker](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker)
## 2.1.5(2021-11-09) ## 2.1.5(2021-11-09)
- 新增 提供组件设计资源,组件样式调整 - 新增 提供组件设计资源,组件样式调整
## 2.1.4(2021-09-10) ## 2.1.4(2021-09-10)
- 修复 hide-second 在移动端的 bug - 修复 hide-second 在移动端的 bug
- 修复 单选赋默认值时,赋值日期未高亮的 bug - 修复 单选赋默认值时,赋值日期未高亮的 bug
- 修复 赋默认值时,移动端未正确显示时间的 bug - 修复 赋默认值时,移动端未正确显示时间的 bug
## 2.1.3(2021-09-09) ## 2.1.3(2021-09-09)
- 新增 hide-second 属性,支持只使用时分,隐藏秒 - 新增 hide-second 属性,支持只使用时分,隐藏秒
## 2.1.2(2021-09-03) ## 2.1.2(2021-09-03)
- 优化 取消选中时(范围选)直接开始下一次选择, 避免多点一次 - 优化 取消选中时(范围选)直接开始下一次选择, 避免多点一次
- 优化 移动端支持清除按钮,同时支持通过 ref 调用组件的 clear 方法 - 优化 移动端支持清除按钮,同时支持通过 ref 调用组件的 clear 方法
- 优化 调整字号大小,美化日历界面 - 优化 调整字号大小,美化日历界面
- 修复 因国际化导致的 placeholder 失效的 bug - 修复 因国际化导致的 placeholder 失效的 bug
## 2.1.1(2021-08-24) ## 2.1.1(2021-08-24)
- 新增 支持国际化 - 新增 支持国际化
- 优化 范围选择器在 pc 端过宽的问题 - 优化 范围选择器在 pc 端过宽的问题
## 2.1.0(2021-08-09) ## 2.1.0(2021-08-09)
- 新增 适配 vue3 - 新增 适配 vue3
## 2.0.19(2021-08-09) ## 2.0.19(2021-08-09)
- 新增 支持作为 uni-forms 子组件相关功能 - 新增 支持作为 uni-forms 子组件相关功能
- 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的 bug - 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的 bug
## 2.0.18(2021-08-05) ## 2.0.18(2021-08-05)
- 修复 type 属性动态赋值无效的 bug - 修复 type 属性动态赋值无效的 bug
- 修复 ‘确认’按钮被 tabbar 遮盖 bug - 修复 ‘确认’按钮被 tabbar 遮盖 bug
- 修复 组件未赋值时范围选左、右日历相同的 bug - 修复 组件未赋值时范围选左、右日历相同的 bug
## 2.0.17(2021-08-04) ## 2.0.17(2021-08-04)
- 修复 范围选未正确显示当前值的 bug - 修复 范围选未正确显示当前值的 bug
- 修复 h5 平台(移动端)报错 'cale' of undefined 的 bug - 修复 h5 平台(移动端)报错 'cale' of undefined 的 bug
## 2.0.16(2021-07-21) ## 2.0.16(2021-07-21)
- 新增 return-type 属性支持返回 date 日期对象 - 新增 return-type 属性支持返回 date 日期对象
## 2.0.15(2021-07-14) ## 2.0.15(2021-07-14)
- 修复 单选日期类型,初始赋值后不在当前日历的 bug - 修复 单选日期类型,初始赋值后不在当前日历的 bug
- 新增 clearIcon 属性,显示框的清空按钮可配置显示隐藏(仅 pc 有效) - 新增 clearIcon 属性,显示框的清空按钮可配置显示隐藏(仅 pc 有效)
- 优化 移动端移除显示框的清空按钮,无实际用途 - 优化 移动端移除显示框的清空按钮,无实际用途
## 2.0.14(2021-07-14) ## 2.0.14(2021-07-14)
- 修复 组件赋值为空,界面未更新的 bug - 修复 组件赋值为空,界面未更新的 bug
- 修复 start 和 end 不能动态赋值的 bug - 修复 start 和 end 不能动态赋值的 bug
- 修复 范围选类型,用户选择后再次选择右侧日历(结束日期)显示不正确的 bug - 修复 范围选类型,用户选择后再次选择右侧日历(结束日期)显示不正确的 bug
## 2.0.13(2021-07-08) ## 2.0.13(2021-07-08)
- 修复 范围选择不能动态赋值的 bug - 修复 范围选择不能动态赋值的 bug
## 2.0.12(2021-07-08) ## 2.0.12(2021-07-08)
- 修复 范围选择的初始时间在一个月内时,造成无法选择的bug - 修复 范围选择的初始时间在一个月内时,造成无法选择的bug
## 2.0.11(2021-07-08) ## 2.0.11(2021-07-08)
- 优化 弹出层在超出视窗边缘定位不准确的问题 - 优化 弹出层在超出视窗边缘定位不准确的问题
## 2.0.10(2021-07-08) ## 2.0.10(2021-07-08)
- 修复 范围起始点样式的背景色与今日样式的字体前景色融合,导致日期字体看不清的 bug - 修复 范围起始点样式的背景色与今日样式的字体前景色融合,导致日期字体看不清的 bug
- 优化 弹出层在超出视窗边缘被遮盖的问题 - 优化 弹出层在超出视窗边缘被遮盖的问题
## 2.0.9(2021-07-07) ## 2.0.9(2021-07-07)
- 新增 maskClick 事件 - 新增 maskClick 事件
- 修复 特殊情况日历 rpx 布局错误的 bug,rpx -> px - 修复 特殊情况日历 rpx 布局错误的 bug,rpx -> px
- 修复 范围选择时清空返回值不合理的bug,['', ''] -> [] - 修复 范围选择时清空返回值不合理的bug,['', ''] -> []
## 2.0.8(2021-07-07) ## 2.0.8(2021-07-07)
- 新增 日期时间显示框支持插槽 - 新增 日期时间显示框支持插槽
## 2.0.7(2021-07-01) ## 2.0.7(2021-07-01)
- 优化 添加 uni-icons 依赖 - 优化 添加 uni-icons 依赖
## 2.0.6(2021-05-22) ## 2.0.6(2021-05-22)
- 修复 图标在小程序上不显示的 bug - 修复 图标在小程序上不显示的 bug
- 优化 重命名引用组件,避免潜在组件命名冲突 - 优化 重命名引用组件,避免潜在组件命名冲突
## 2.0.5(2021-05-20) ## 2.0.5(2021-05-20)
- 优化 代码目录扁平化 - 优化 代码目录扁平化
## 2.0.4(2021-05-12) ## 2.0.4(2021-05-12)
- 新增 组件示例地址 - 新增 组件示例地址
## 2.0.3(2021-05-10) ## 2.0.3(2021-05-10)
- 修复 ios 下不识别 '-' 日期格式的 bug - 修复 ios 下不识别 '-' 日期格式的 bug
- 优化 pc 下弹出层添加边框和阴影 - 优化 pc 下弹出层添加边框和阴影
## 2.0.2(2021-05-08) ## 2.0.2(2021-05-08)
- 修复 在 admin 中获取弹出层定位错误的bug - 修复 在 admin 中获取弹出层定位错误的bug
## 2.0.1(2021-05-08) ## 2.0.1(2021-05-08)
- 修复 type 属性向下兼容,默认值从 date 变更为 datetime - 修复 type 属性向下兼容,默认值从 date 变更为 datetime
## 2.0.0(2021-04-30) ## 2.0.0(2021-04-30)
- 支持日历形式的日期+时间的范围选择 - 支持日历形式的日期+时间的范围选择
> 注意:此版本不向后兼容,不再支持单独时间选择(type=time)及相关的 hide-second 属性(时间选可使用内置组件 picker) > 注意:此版本不向后兼容,不再支持单独时间选择(type=time)及相关的 hide-second 属性(时间选可使用内置组件 picker)
## 1.0.6(2021-03-18) ## 1.0.6(2021-03-18)
- 新增 hide-second 属性,时间支持仅选择时、分 - 新增 hide-second 属性,时间支持仅选择时、分
- 修复 选择跟显示的日期不一样的 bug - 修复 选择跟显示的日期不一样的 bug
- 修复 chang事件触发2次的 bug - 修复 chang事件触发2次的 bug
- 修复 分、秒 end 范围错误的 bug - 修复 分、秒 end 范围错误的 bug
- 优化 更好的 nvue 适配 - 优化 更好的 nvue 适配
{ {
"id": "uni-datetime-picker", "id": "uni-datetime-picker",
"displayName": "uni-datetime-picker 日期选择器", "displayName": "uni-datetime-picker 日期选择器",
"version": "2.2.2", "version": "2.2.2",
"description": "uni-datetime-picker 日期时间选择器,支持日历,支持范围选择", "description": "uni-datetime-picker 日期时间选择器,支持日历,支持范围选择",
"keywords": [ "keywords": [
"uni-datetime-picker", "uni-datetime-picker",
"uni-ui", "uni-ui",
"uniui", "uniui",
"日期时间选择器", "日期时间选择器",
"日期时间" "日期时间"
], ],
"repository": "https://github.com/dcloudio/uni-ui", "repository": "https://github.com/dcloudio/uni-ui",
"engines": { "engines": {
"HBuilderX": "" "HBuilderX": ""
}, },
"directories": { "directories": {
"example": "../../temps/example_temps" "example": "../../temps/example_temps"
}, },
"dcloudext": { "dcloudext": {
"category": [ "category": [
"前端组件", "前端组件",
"通用组件" "通用组件"
], ],
"sale": { "sale": {
"regular": { "regular": {
"price": "0.00" "price": "0.00"
}, },
"sourcecode": { "sourcecode": {
"price": "0.00" "price": "0.00"
} }
}, },
"contact": { "contact": {
"qq": "" "qq": ""
}, },
"declaration": { "declaration": {
"ads": "无", "ads": "无",
"data": "无", "data": "无",
"permissions": "无" "permissions": "无"
}, },
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
}, },
"uni_modules": { "uni_modules": {
"dependencies": [ "dependencies": [
"uni-scss", "uni-scss",
"uni-icons" "uni-icons"
], ],
"encrypt": [], "encrypt": [],
"platforms": { "platforms": {
"cloud": { "cloud": {
"tcb": "y", "tcb": "y",
"aliyun": "y" "aliyun": "y"
}, },
"client": { "client": {
"App": { "App": {
"app-vue": "y", "app-vue": "y",
"app-nvue": "n" "app-nvue": "n"
}, },
"H5-mobile": { "H5-mobile": {
"Safari": "y", "Safari": "y",
"Android Browser": "y", "Android Browser": "y",
"微信浏览器(Android)": "y", "微信浏览器(Android)": "y",
"QQ浏览器(Android)": "y" "QQ浏览器(Android)": "y"
}, },
"H5-pc": { "H5-pc": {
"Chrome": "y", "Chrome": "y",
"IE": "y", "IE": "y",
"Edge": "y", "Edge": "y",
"Firefox": "y", "Firefox": "y",
"Safari": "y" "Safari": "y"
}, },
"小程序": { "小程序": {
"微信": "y", "微信": "y",
"阿里": "y", "阿里": "y",
"百度": "y", "百度": "y",
"字节跳动": "y", "字节跳动": "y",
"QQ": "y" "QQ": "y"
}, },
"快应用": { "快应用": {
"华为": "u", "华为": "u",
"联盟": "u" "联盟": "u"
}, },
"Vue": { "Vue": {
"vue2": "y", "vue2": "y",
"vue3": "y" "vue3": "y"
} }
} }
} }
} }
} }
## 1.0.15(2022-05-11) ## 1.0.15(2022-05-11)
- loginBySms、bindMobileBySms新增防刷机制(当短信验证码输入错误2次以上,弹出图形验证码进行人机校验) - loginBySms、bindMobileBySms新增防刷机制(当短信验证码输入错误2次以上,弹出图形验证码进行人机校验)
- 更改loginLog为uniIdLog 记录各类uni-id操作,并新增action字段记录操作的行为名称 - 更改loginLog为uniIdLog 记录各类uni-id操作,并新增action字段记录操作的行为名称
- register新增校验图形验证码逻辑 - register新增校验图形验证码逻辑
## 1.0.14(2022-01-26) ## 1.0.14(2022-01-26)
- 修复 uni-admin 的 'registerUser' 接口,注册用户含有多余字段 uid - 修复 uni-admin 的 'registerUser' 接口,注册用户含有多余字段 uid
## 1.0.13(2022-01-26) ## 1.0.13(2022-01-26)
- 新增逻辑:调用logout接口后刷新设备信息中token的有效期 - 新增逻辑:调用logout接口后刷新设备信息中token的有效期
## 1.0.12(2022-01-24) ## 1.0.12(2022-01-24)
- 优化设备信息存储逻辑 - 优化设备信息存储逻辑
- 新增刷新设备信息token有效期的API `renewDeviceTokenExpired` - 新增刷新设备信息token有效期的API `renewDeviceTokenExpired`
## 1.0.11(2022-01-19) ## 1.0.11(2022-01-19)
- 新增 getNeedCaptcha 接口 - 新增 getNeedCaptcha 接口
- 优化 调整 login 接口的代码结构 - 优化 调整 login 接口的代码结构
## 1.0.10(2022-01-08) ## 1.0.10(2022-01-08)
- 修复 限制只有 admin 用户可管理用户标签(不支持非 admin 用户操作managerMultiTag 接口) - 修复 限制只有 admin 用户可管理用户标签(不支持非 admin 用户操作managerMultiTag 接口)
## 1.0.9(2021-12-01) ## 1.0.9(2021-12-01)
- 新增 uni-admin 用户标签管理接口 managerTags - 新增 uni-admin 用户标签管理接口 managerTags
## 1.0.8(2021-11-29) ## 1.0.8(2021-11-29)
新增 `closeAccount`注销账号 新增 `closeAccount`注销账号
## 1.0.7(2021-10-20) ## 1.0.7(2021-10-20)
新增bindMobileByMpWeixin,一键获取微信绑定的手机号 新增bindMobileByMpWeixin,一键获取微信绑定的手机号
## 1.0.6(2021-09-23) ## 1.0.6(2021-09-23)
修复微信登录成功后没有添加日志的问题 修复微信登录成功后没有添加日志的问题
## 1.0.5(2021-08-10) ## 1.0.5(2021-08-10)
- 修复登录成功后响应体包含userInfo.password的问题 - 修复登录成功后响应体包含userInfo.password的问题
- 新增微信登录成功后,自动获取用户的微信昵称和头像完善用户个人资料 - 新增微信登录成功后,自动获取用户的微信昵称和头像完善用户个人资料
## 1.0.4(2021-07-31) ## 1.0.4(2021-07-31)
- 修复 登录日志在登录失败时不写入记录的 bug - 修复 登录日志在登录失败时不写入记录的 bug
- 修复 写入记录登录是未传递 type 参数的 bug - 修复 写入记录登录是未传递 type 参数的 bug
## 1.0.3(2021-07-02) ## 1.0.3(2021-07-02)
- 框架设定非 admin 不能创建用户, 用户可自定义 - 框架设定非 admin 不能创建用户, 用户可自定义
## 1.0.2(2021-07-01) ## 1.0.2(2021-07-01)
- 发送短信验证码api,默认注释掉:虚拟发送短信验证码的代码块。 - 发送短信验证码api,默认注释掉:虚拟发送短信验证码的代码块。
- 统一action名称为驼峰法 - 统一action名称为驼峰法
## 1.0.1(2021-06-28) ## 1.0.1(2021-06-28)
修复resetPwdBySmsCode接口,未注册过的用户也能调用的问题 修复resetPwdBySmsCode接口,未注册过的用户也能调用的问题
## 1.0.0(2021-06-21) ## 1.0.0(2021-06-21)
1.0.0版发布 1.0.0版发布
\ No newline at end of file
{ {
"name": "uni-id-cf-123", "name": "uni-id-cf-123",
"version": "1.0.0", "version": "1.0.0",
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1"
}, },
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"uni-captcha": "file:../../../../uni-captcha/uniCloud/cloudfunctions/common/uni-captcha", "uni-captcha": "file:../../../../uni-captcha/uniCloud/cloudfunctions/common/uni-captcha",
"uni-config-center": "file:../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center", "uni-config-center": "file:../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center",
"uni-id": "file:../../../../uni-id/uniCloud/cloudfunctions/common/uni-id" "uni-id": "file:../../../../uni-id/uniCloud/cloudfunctions/common/uni-id"
} }
} }
{ {
"name": "uni-id", "name": "uni-id",
"version": "3.3.17", "version": "3.3.17",
"description": "uni-id for uniCloud", "description": "uni-id for uniCloud",
"main": "index.js", "main": "index.js",
"homepage": "https://uniapp.dcloud.io/uniCloud/uni-id", "homepage": "https://uniapp.dcloud.io/uniCloud/uni-id",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://gitee.com/dcloud/uni-id.git" "url": "git+https://gitee.com/dcloud/uni-id.git"
}, },
"author": "", "author": "",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"uni-config-center": "file:../../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center" "uni-config-center": "file:../../../../../uni-config-center/uniCloud/cloudfunctions/common/uni-config-center"
} }
} }
\ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
// "文件路径" : {"键名":"改成什么"} // "文件路径" : {"键名":"改成什么"}
{ {
"/manifest.json": { "/manifest.json": {
"appid": "请点击重新获取" ,//清空appid "appid": "请点击重新获取",
"mp-weixin" : { "mp-weixin" : {
"appid" : "" "appid" : ""
}, },
......
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册