我的发布文章模块
在这个模块中,需要用到schema2code
uniapp.dcloud.net.cn/uniCloud/sc…
在我的页面点击我的长文,把自己的发文全部列出来,现在只有样式,没有内容,点了是没有任何效果的,还没有写代码
我的长文也是基于文章列表的
之前文章列表的schema是quanzi_article.schema,右键这个schema,选scheam2code
创建方法有两种: 一是在服务空间创建表,使用预置的表,然后根据表结构创建出schema2code
二是在编辑器中将云端的schema下载到编辑器,然后右键创建
会自动创建出一个以表名做名字的文件夹,四个页面就在里面,创建完成后需要重启项目,否则报找不到文件
创建完成后进入列表页面
数据是用unicloud-db组件获取的
collectionList是定义在data中的属性,值就是quanzi_article,就是表名
<template>
<view class="container">
<unicloud-db ref="udb" v-slot:default="{data, pagination, loading, hasMore, error}" :collection="collectionList" field="user_id,title,description,province,content,article_status,last_comment_user_id,picurls,publish_date,last_modify_date">
DOM结构
<template>
<view class="container">
<unicloud-db ref="udb" v-slot:default="{data, pagination, loading, hasMore, error}" :collection="collectionList" field="user_id,title,description,province,content,article_status,last_comment_user_id,picurls,publish_date,last_modify_date">
<view v-if="error">{{error.message}}</view>
<view v-else-if="data">
<uni-list>
<uni-list-item v-for="(item, index) in data" :key="index" showArrow :clickable="true" @click="handleItemClick(item._id)">
<template v-slot:body>
<text>
<!-- 此处默认显示为_id,请根据需要自行修改为其他字段 -->
<!-- 如果使用了联表查询,请参考生成的 admin 项目中 list.vue 页面 -->
{{item.title}}
</text>
</template>
</uni-list-item>
</uni-list>
</view>
<uni-load-more :status="loading?'loading':(hasMore ? 'more' : 'noMore')"></uni-load-more>
</unicloud-db>
<uni-fab ref="fab" horizontal="right" vertical="bottom" :pop-menu="false" @fabClick="fabClick" />
</view>
</template>
这里需要对作者信息进行筛选,只要当前登录的用户文章,并根据时间进行倒序排列
<unicloud-db ref="udb"
:where="`user_id==$cloudEnv_uid`"
orderby="publish_date desc"
v-slot:default="{data, pagination, loading, hasMore, error}"
:collection="collectionList"
field="user_id,title,description,province,content,article_status,last_comment_user_id,picurls,publish_date,last_modify_date">
点击一条数据会进入详情页,可以让他跳转到之前自己写的详情页
这是add页面
编辑页面和新增页面一样
现在只需要列表页面,把列表页面的添加文章按钮删掉
<uni-fab ref="fab" horizontal="right" vertical="bottom" :pop-menu="false" @fabClick="fabClick" />
前面创建了四个页面,在pages.json中只留list列表页就行了
接下来在self页面,点击跳转到list页面,在我的页面点击我的长文,就跳转到列表页了
<view class="item" @click="myArticle">
<view class="left"><text class="iconfont icon-a-24-bianji"></text><text class="text">我的长文</text></view>
<view class="right"><text class="iconfont icon-a-10-you"></text></view>
// 跳转到我的长文
myArticle(){
uni.navigateTo({
url:"/pages/quanzi_article/list"
})
},