• 若依移动端Ruoyi-App——引入uview2.0开发项目


    1. 背景:

         若依移动端Ruoyi-App只有个人中心,登录,其他模块都是建设中,因uniapp本身样式不够美观,所以本文基于ruoyi移动端引入uview2.0,实现基本功能。

    RuoYi-App: 🎉 RuoYi APP 移动端框架,基于uniapp+uniui封装的一套基础模版,支持H5、APP、微信小程序、支付宝小程序等,实现了与RuoYi-Vue、RuoYi-Cloud后台完美对接。

    2.uViewj介绍

    uView2.0是继1.0以来的一次重大更新,2.0已全面兼容nvue,为了这个最初的梦想,我们曾日以夜继,挑灯夜战,闻鸡起舞。您能看到屏幕上的字,却看不到我们洒在键盘上的泪。

    介绍 | uView 2.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架

    特点:组件样式丰富,不用个人开发

    3. 引入方法

    参照若依UView插件   插件集成 | RuoYi

    项目默认使用的是uni-ui,如果不满足需求可以尝试集成uview,它整合了非常多组件,功能丰富、文档清晰,同时支持nvue

    (1)NPM方式安装

    在项目根目录执行如下命令即可:

    1. // 安装
    2. npm install uview-ui@2.0.31
    3. // 更新
    4. // npm update uview-ui

    默认会下载到node_modules目录下,建议剪切到RuoYi-App根目录下。

    (2)引入uview主JS库

    在项目根目录中的main.js中,引入并使用uviewJS库。

    1. // 引入全局 uview 框架
    2. import uView from '@/uview-ui'
    3. Vue.use(uView)

    (3)在引入uview的全局SCSS主题文件

    在项目根目录的uni.scss中引入此文件。

    @import '@/uview-ui/theme.scss';
    

    (4)引入uview基础样式

    在项目的static\scss\index.scss中引入此文件。

    1. // uview-ui
    2. @import "@/uview-ui/index.scss";

    (5) 配置easycom组件模式

    此配置需要在项目根目录的pages.json中进行。

    1. // pages.json
    2. {
    3. // 此为本身已有的内容
    4. "pages": [
    5. // ......
    6. ]
    7. ........
    8. // 如果您是通过uni_modules形式引入uView,可以忽略此配置
    9. "easycom": {
    10. "^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
    11. }
    12. }

    4. 在Ruoyi-App-master目录下的pages添加目录test,然后添加test1.vue页面,使用uview2.0的表格组件内容,并且搭配如下样式。


    最终代码如下

    1. <template>
    2. <view>
    3. <scroll-view scroll-y class="page">
    4. <!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
    5. <u--form
    6. labelPosition="left"
    7. :model="model1"
    8. :rules="rules"
    9. ref="form1"
    10. >
    11. <u-form-item
    12. label="姓名"
    13. prop="userInfo.name"
    14. borderBottom
    15. ref="item1"
    16. >
    17. <u--input
    18. v-model="model1.userInfo.name"
    19. border="none"
    20. ></u--input>
    21. </u-form-item>
    22. <u-form-item
    23. label="性别"
    24. prop="userInfo.sex"
    25. borderBottom
    26. @click="showSex = true; hideKeyboard()"
    27. ref="item1"
    28. >
    29. <u--input
    30. v-model="model1.userInfo.sex"
    31. disabled
    32. disabledColor="#ffffff"
    33. placeholder="请选择性别"
    34. border="none"
    35. ></u--input>
    36. <u-icon
    37. slot="right"
    38. name="arrow-right"
    39. ></u-icon>
    40. </u--form>
    41. <u-action-sheet
    42. :show="showSex"
    43. :actions="actions"
    44. title="请选择性别"
    45. description="如果选择保密会报错"
    46. @close="showSex = false"
    47. @select="sexSelect"
    48. >
    49. </u-action-sheet>
    50. </scroll-view>
    51. </view>
    52. </template>
    53. <script>
    54. export default {
    55. data() {
    56. return {
    57. showSex: false,
    58. model1: {
    59. userInfo: {
    60. name: 'uView UI',
    61. sex: '',
    62. },
    63. },
    64. actions: [{
    65. name: '男',
    66. },
    67. {
    68. name: '女',
    69. },
    70. {
    71. name: '保密',
    72. },
    73. ],
    74. fileList1: [],
    75. rules: {
    76. 'userInfo.name': {
    77. type: 'string',
    78. required: true,
    79. message: '请填写姓名',
    80. trigger: ['blur', 'change']
    81. },
    82. 'userInfo.sex': {
    83. type: 'string',
    84. max: 1,
    85. required: true,
    86. message: '请选择男或女',
    87. trigger: ['blur', 'change']
    88. },
    89. },
    90. radio: '',
    91. switchVal: false
    92. };
    93. },
    94. methods: {
    95. sexSelect(e) {
    96. this.model1.userInfo.sex = e.name
    97. this.$refs.form1.validateField('userInfo.sex')
    98. },
    99. onReady() {
    100. //如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
    101. this.$refs.form1.setRules(this.rules)
    102. }
    103. }
    104. }
    105. </script>
    106. <style lang="scss">
    107. .page {
    108. height: 100Vh;
    109. width: 100vw;
    110. background-color: #ffffff;
    111. padding: 12px;
    112. }
    113. .page.show {
    114. overflow: hidden;
    115. }
    116. </style>

    7.在Ruoyi-App-master根目录下的pages.json添加如下内容

      {
            "path": "pages/test/test1",
            "style": {
                "navigationBarTitleText": "问题列表"
            }
        }  

    8. 运行效果

         

    9.  下一篇文章实现了使用uview2.0开发通知公告。

    若依移动端Ruoyi-App——引入uview2.0开发通知公告_鲸鱼姐的博客-CSDN博客

  • 相关阅读:
    springCloud-LoadBalancer负载均衡
    算法通关村第十五关——从40亿个数中产生一个不存在的数的处理方法
    硬件基础之HEX文件格式
    后端:任何客户端的东西都不可信任
    面向对象进阶
    【uniapp】本地资源图片无法通过 WXSS 获取,可以使用网络图片,或者 base64,或者使用image标签
    python安装wind10
    电商财务对账
    【POJ No. 1190】 生日蛋糕
    Sermant在异地多活场景下的实践
  • 原文地址:https://blog.csdn.net/zhaolulu916/article/details/127692044