brightness.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <template>
  2. <view>
  3. <page-head :title="title"></page-head>
  4. <view class="uni-padding-wrap uni-common-mt">
  5. <!-- #ifndef MP-TOUTIAO -->
  6. <view class="text-box">亮度 : {{ screen }}</view>
  7. <view class="uni-slider"><slider :value="screen" @changing="sliderChange" step="1" /></view>
  8. <!-- #endif -->
  9. <button type="primary" @click="keep">
  10. {{ keepScreenOn ? '保持常亮状态' : '关闭常亮状态' }}
  11. </button>
  12. <view class="tips">
  13. 保持常亮时,屏幕不会熄灭。仅在当前应用生效,离开应用后设置失效。
  14. </view>
  15. </view>
  16. </view>
  17. </template>
  18. <script>
  19. export default {
  20. data() {
  21. return {
  22. title: 'brightness',
  23. screen: 0,
  24. keepScreenOn: true
  25. };
  26. },
  27. onLoad() {
  28. uni.getScreenBrightness({
  29. success: res => {
  30. this.screen = (res.value * 100).toFixed();
  31. },
  32. fail(e) {
  33. console.log(e);
  34. }
  35. });
  36. },
  37. methods: {
  38. sliderChange(e) {
  39. let screen = e.detail.value;
  40. // 判断是否重复
  41. if (this.screen !== screen) {
  42. console.log('当前数值:' + e.detail.value);
  43. uni.setScreenBrightness({
  44. value: screen / 100,
  45. success: function() {
  46. },
  47. fail(e) {
  48. console.log(e);
  49. }
  50. });
  51. this.screen = screen;
  52. }
  53. },
  54. keep() {
  55. uni.setKeepScreenOn({
  56. keepScreenOn: this.keepScreenOn
  57. });
  58. this.keepScreenOn = !this.keepScreenOn;
  59. }
  60. }
  61. };
  62. </script>
  63. <style>
  64. .text-box {
  65. margin-bottom: 40rpx;
  66. display: flex;
  67. justify-content: center;
  68. align-items: center;
  69. height: 300rpx;
  70. background-color: #ffffff;
  71. font-size: 32rpx;
  72. color: #353535;
  73. }
  74. .uni-slider {
  75. margin: 100rpx 0;
  76. }
  77. .tips {
  78. font-size: 26rpx;
  79. text-align: center;
  80. margin-top: 20rpx;
  81. color: #999;
  82. }
  83. </style>