遇到的一些问题(bug)记录,前端图片拉伸,Dialog对话框加横向滚动条,app启动时隐私协议弹窗配置,app启动时读写手机存储、访问设备信息等权限策略

307 阅读2分钟

1. 前端图片拉伸

图片在显示的时候如果img固定了宽高,一些不同大小的图片就会被拉伸

<img :src="imgUrl" alt="" srcset="" width="250px" height="250px">

image.png

解决方案 在css里使用 object-fit

<img :src="imgUrl" alt="" srcset="" width="250px" height="250px" style="object-fit: cover">

image.png

2. ElementUI Dialog对话框 加横向滚动条

在dialog对话框里有个尺寸很大的图片,图片会被遮挡,无法看到后面的

<el-dialog
    title="提示"
    :visible.sync="dialogVisible"
    :append-to-body="true">
    <img src="" alt="" width="1200px" height="500px" style="object-fit: cover">
    <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
    </span>
</el-dialog>

image.png

解决方案 加上 el-scrollbar

<el-dialog
    title="提示"
    :visible.sync="dialogVisible"
    :append-to-body="true">
    <el-scrollbar style="height:550px;">
        <img src="" alt="" width="1200px" height="500px" style="object-fit: cover">
    </el-scrollbar>
    <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
    </span>
</el-dialog>

image.png

3. app启动时隐私协议弹窗配置

打开项目的manifest.json文件,切换到“源码视图”项

uni-app项目

在 "app-plus" -> "privacy" 节点下添加 prompt节点

5+ App项目

在 "plus" -> "privacy" 节点下添加 prompt节点

"privacy": {
  "prompt": "template",
  "template": {
    "title": "服务协议和隐私政策",
    "message": "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href=\"\">《服务协议》</a>和<a href=\"\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
    "buttonAccept": "同意",
    "buttonRefuse": "暂不同意",
    "second": {
      "title": "温馨提示",
      "message": "  进入应用前,你需先同意<a href=\"\">《服务协议》</a>和<a href=\"\">《隐私政策》</a>,否则将退出应用。",
      "buttonAccept": "同意并继续",
      "buttonRefuse": "退出应用",
    } 
  }
}

image.png

这是官网 uni-app官网 (dcloud.net.cn)

4. app启动时读写手机存储、访问设备信息等权限策略

打开manifest.json文件,切换到“源码视图”项

uni-app项目

在"app-plus" -> "distribute" -> "android" 节点下添加 permissionExternalStorage 节点

5+ App项目

在 "plus" -> "distribute" -> "google" 节点下添加 permissionExternalStorage 节点

(1) 读写手机存储权限
"permissionExternalStorage": {  
    "request": "always",  
    "prompt": "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"  
 }

image.png

(2) 访问设备信息权限
"permissionPhoneState": {  
    "request": "always",  
    "prompt": "为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。"  
 }

image.png

这是参考文档 Android平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限策略及提示信息 - DCloud问答