codigo wxml:
<view class="downImg" bindtap="downImgEven">
<image src="/img/downimg.png"></image>
<text>下载</text>
</view>
codigo js:
downImgEven: function () {
wx.getSetting({
//先授权相册
success: res => {
if (!res.authSetting['scope.writePhotosAlbum']) {
//未授权的话发起授权
wx.authorize({
scope: 'scope.writePhotosAlbum',
success: () => {
//用户允许授权,保存到相册
this.saveImg();
},
fail: () => {
//用户拒绝授权,然后就引导授权(这里的话如果用户拒绝,)
wx.showModal({
// 直接调wx.openSetting在真机调试正常,但在体验版无法调起,因为官方文档做了限制,请看下面什么
content: '请允许打开设置页授权',
success: function (res2) {
if (res2.confirm) {
wx.openSetting({
success: () => {
wx.authorize({
scope: 'scope.writePhotosAlbum',
succes: () => {
//授权成功,保存图片
this.saveImg();
}
})
}
})
}
}
})
}
})
} else {
//已经授权
this.saveImg();
}
}
})
},
saveImg() {
//保存到相册
let {
downurl //需要保存到相册的图片地址
} = this.data;
//文件名设置为时间戳
// let fileName = new Date().valueOf();
wx.downloadFile({
url: downurl,
// filePath: wx.env.USER_DATA_PATH + '/' + fileName + '.png',
success: (res) => {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: (res) => {
wx.showToast({
title: '保存成功!'
})
},
faile: (err) => {
console.log('失败!')
}
})
}
})
},
Abra la interfaz de la página de configuración del applet (wx.openSetting) para ajustar el oficial
Los desarrolladores pueden abrir la interfaz de configuración del subprograma a través de la interfaz wx.openSetting y devolver los resultados de configuración del usuario. En la interfaz wx.openSetting original, permitimos que los desarrolladores llamen a esta interfaz directamente, pero ahora descubrimos que muchos desarrolladores abusan de esta interfaz, lo que hace que los usuarios salten continuamente a la página de configuración a la fuerza sin ninguna operación, lo que hace que los usuarios no puedan usar el subprograma. normalmente o incluso salió.
Para asegurarnos de que los usuarios tengan una experiencia más fluida con el Mini Programa y evitar dicho abuso, hemos ajustado esta interfaz.
Después del ajuste, "Abrir página de configuración del programa mini" admitirá los siguientes dos métodos de implementación:
Método 1: Use el componente de botón para usar esta función, el código de muestra es el siguiente:
<button open-type="openSetting" bindopensetting="callback">打开设置页</button>
Método 2: el comportamiento del clic desencadena la llamada de la interfaz wx.openSetting. El código de ejemplo es el siguiente:
<button bindtap="openSetting">打开设置页</button> openSetting() {
wx.openSetting()}
El método 2 se admite en la última versión de la herramienta para desarrolladores (la biblioteca básica se cambió a 2.2.4 y versiones posteriores) y los desarrolladores pueden adaptarlo lo antes posible.
Este ajuste afectará la llamada directa de la interfaz wx.openSetting
Ya no se admitirá el método de implementación original de llamar directamente a la interfaz wx.openSetting sin que el usuario haga clic. Los ejemplos de métodos de uso incorrecto que se descartarán son los siguientes:
onShow() {
wx.openSetting()}
Los lanzamientos enviados recientemente a partir del 10 de octubre se verán afectados por este ajuste.
Los desarrolladores deben prestar atención a que la versión recién enviada del miniprograma a partir del 10 de octubre ya no admitirá la interfaz "Abrir página de configuración del miniprograma" a la que se puede llamar directamente sin que el usuario haga clic. Se solicita a los desarrolladores que se adapten tan pronto como sea posible. posible.
La política de ajuste entra en vigor en la biblioteca básica versión 2.3.0 y superior, que corresponde a la versión 6.7.2 del cliente de WeChat. Además, teniendo en cuenta la compatibilidad y otros problemas, el entorno por debajo de la versión 2.3.0 de la biblioteca base no se ve afectado por esta política.