当前位置:   article > 正文

省钱兄校园跑腿源码(公众号+APP+小程序+Android+IOS)校园跑腿社区跑腿同城跑腿任务兼职小程序uniapp前端模版_校园跑腿平台源码

校园跑腿平台源码

开源代码是用户端uniapp部分源码,使用hbuilder导入即可运行

只提供参考学习使用!已经获得软著!不可商业使用!感谢支持

h5体验地址

h5:https://paotui.xianmxkj.com

APP下载链接:

https://paotui.xianmxkj.com/paotui.apk

小程序体验 微信搜索:省钱兄科技

二、技术栈

后台服务 springboot+mybatisplus+mysql

用户端 uniapp(vue语法)

管理后台 vue+elementUi

源码下载地址:

​​​​​​​省钱兄跑腿源码(公众号+APP+小程序+Android+IOS)校园跑腿小程序社区跑腿uniapp前端模版_校园跑腿小程序-小程序文档类资源-CSDN下载

免费uniapp视频学习资料

关注我的技术公众号【码兄】回复【uniapp】获取 

免费提供学习视频

VUE、小程序、公众号、Android、JAVA、C、C++、Python等各类语言学习视频
 

  1. <template>
  2. <view class="container">
  3. <view class="header">
  4. <view class="nav">
  5. <view class="navLeft" @tap="goSelectCity">
  6. <image src="../../static/img/home/1.png"></image>
  7. <view class="localName">{{ localCampus }}</view>
  8. <text class="cuIcon-right"></text>
  9. </view>
  10. <view class="navRight" @tap="goMessage">
  11. <image src="../../static/img/home/info.png"></image>
  12. </view>
  13. </view>
  14. <view class="search-box">
  15. <view class="search-wrap" @tap="goSearch">
  16. <image class="search-icon" src="../../static/img/home/search.png"></image>
  17. <input class="search-input" type="text" value="输入关键字搜索任务" disabled />
  18. </view>
  19. </view>
  20. </view>
  21. <view class="main">
  22. <view class="home-bgi">
  23. <swiper class="swiper" autoplay="1500" :indicator-dots="true" :circular='true'
  24. indicator-active-color="#ffffff" indicator-color="#cccccc">
  25. <swiper-item class="swiper-wrap" v-for="(item,index) in banners" :key='index'>
  26. <image :src="item.imageUrl"></image>
  27. </swiper-item>
  28. </swiper>
  29. </view>
  30. <view class="menu-box">
  31. <view class="category">
  32. <swiper class="swiper" duration="300" :style="{ height: categoryHeight }">
  33. <swiper-item v-for="(nav, index) in navlist" :key="index">
  34. <view class="category-list">
  35. <view class="icon-box" v-for="(item,ind) in nav" :key="ind" @tap="toNavList(item, ind)">
  36. <image class="icon" :src="item.classifyIcon" style="height: 100rpx;width: 100rpx">
  37. </image>
  38. <view class="text">{{ item.classifyName }}</view>
  39. </view>
  40. </view>
  41. </swiper-item>
  42. </swiper>
  43. <view class="dots">
  44. <view v-for="(page, pageindex) in navlist" :key="pageindex"
  45. :class="{ active: pageindex == currentPageindex }"></view>
  46. </view>
  47. </view>
  48. </view>
  49. <view class="demand-release">
  50. <view class="title">发布需求</view>
  51. <view class="search-wrap">
  52. <text>我需要</text>
  53. <input class="search-input" type="text" v-model="content" placeholder="请填写需求"
  54. placeholder-class="placeholder-search-input" />
  55. </view>
  56. <view class="search-wrap">
  57. <text>手机号</text>
  58. <input class="search-input" type="text" v-model="phone" placeholder="请填写手机号" :disabled="!isDisable"
  59. maxlength="11" placeholder-class="placeholder-search-input" />
  60. <view class="edit" @tap='edit()'>修改</view>
  61. </view>
  62. <view class="btn" @tap='sendDemand()'>马上发布需求</view>
  63. </view>
  64. <view class="card-box">
  65. <view class="title" v-if="goodsHomeList.length > 0">最新任务</view>
  66. <task-home-list splitLine @click="clickItem" :list="goodsHomeList"></task-home-list>
  67. <!-- 暂无数据展示 -->
  68. <!-- <empty v-if="goodsHomeList.length === 0" des="暂无最新订单" show="false"></empty> -->
  69. </view>
  70. <!-- 加载更多提示 -->
  71. <view v-if="goodsHomeList.length > 0">
  72. <load-more :loadingType="loadingType" :contentText="contentText"></load-more>
  73. </view>
  74. </view>
  75. </view>
  76. </template>
  77. <script>
  78. import taskHomeList from "@/components/mask/task-home-list.vue"
  79. export default {
  80. components: {
  81. taskHomeList
  82. },
  83. data() {
  84. return {
  85. localCampus: '陕西师范大学',
  86. banners: [],
  87. categoryHeight: '320rpx', //菜单默认高度
  88. currentPageindex: 0, //菜单滚动小点
  89. navlist: [{
  90. url: '../../static/img/home/2.png',
  91. title: '找人代买'
  92. },
  93. {
  94. url: '../../static/img/home/3.png',
  95. title: '外卖代拿'
  96. },
  97. {
  98. url: '../../static/img/home/4.png',
  99. title: '找人陪跑'
  100. },
  101. {
  102. url: '../../static/img/home/5.png',
  103. title: '找人代办'
  104. },
  105. {
  106. url: '../../static/img/home/6.png',
  107. title: '快递代拿'
  108. }
  109. ],
  110. content: "",
  111. phone: "",
  112. isDisable: false,
  113. goodsHomeList: [],
  114. page: 1,
  115. limit: 10,
  116. loadingType: 0,
  117. contentText: {
  118. contentdown: '上拉显示更多',
  119. contentrefresh: '正在加载...',
  120. contentnomore: '没有更多数据了'
  121. },
  122. arr: [],
  123. showModal: true
  124. }
  125. },
  126. onLoad() {
  127. let isLogin = this.yu.isLogin();
  128. let userId = this.yu.getCache('userId');
  129. if (isLogin) {
  130. this.getUserInfo(userId);
  131. } else {
  132. this.initCampusList();
  133. }
  134. this.localCampus = this.yu.getCache('campusName') ? this.yu.getCache('campusName') : this.localCampus;
  135. // console.log('this.localCampus',this.localCampus)
  136. this.$Request.getT('/common/type/121').then(res => { //报名成功通知
  137. if (res.code == 0) {
  138. if (res.data && res.data.value) {
  139. // that.orderStart = res.data;
  140. this.arr.push(res.data.value)
  141. }
  142. }
  143. })
  144. this.$Request.getT('/common/type/122').then(res => { //活动即将开始提醒
  145. if (res.code == 0) {
  146. if (res.data && res.data.value) {
  147. // that.orderStart = res.data;
  148. this.arr.push(res.data.value)
  149. }
  150. }
  151. })
  152. },
  153. onShow() {
  154. let isLogin = this.yu.isLogin();
  155. let phone = this.yu.getCache('mobile');
  156. let userId = this.yu.getCache('userId');
  157. this.getSelectBanner(1);
  158. this.getMenuList();
  159. this.localCampus = this.yu.getCache('campusName') ? this.yu.getCache('campusName') : this.localCampus;
  160. if (!isLogin) {
  161. setTimeout(() => {
  162. this.page = 1;
  163. this.goodsHomeList = [];
  164. if (this.yu.getCache('campus')) {
  165. this.campusId = this.yu.getCache('campus');
  166. }
  167. this.getNewHelpOrderList();
  168. }, 10)
  169. } else {
  170. this.page = 1;
  171. this.goodsHomeList = [];
  172. if (this.yu.getCache('campus')) {
  173. this.campusId = this.yu.getCache('campus');
  174. }
  175. this.getNewHelpOrderList();
  176. //订阅
  177. if(this.showModal) {
  178. this.openMsg()
  179. }
  180. }
  181. if (phone && phone !== 'undefined') {
  182. this.phone = phone;
  183. } else {
  184. this.phone = '';
  185. }
  186. },
  187. onHide() {
  188. this.content = ""
  189. },
  190. methods: {
  191. // 开启订阅消息
  192. openMsg() {
  193. console.log('订阅消息')
  194. var that = this
  195. wx.getSetting({
  196. withSubscriptions: true, //是否获取用户订阅消息的订阅状态,默认false不返回
  197. success(ret) {
  198. console.log(ret,'------------------')
  199. // console.log(ret.subscriptionsSetting.itemSettings)
  200. // console.log(Object.keys(ret.subscriptionsSetting.itemSettings).length)
  201. // if (JSON.stringify(ret.subscriptionsSetting.itemSettings).indexOf('accept')!=-1) {
  202. if (ret.subscriptionsSetting.itemSettings && Object.keys(ret.subscriptionsSetting.itemSettings).length == 2) {
  203. uni.setStorageSync('sendMsg', true)
  204. // wx.requestSubscribeMessage({
  205. // tmplIds: that.arr,
  206. // success(re) {
  207. // console.log(JSON.stringify(re), 111111111111)
  208. // var datas = JSON.stringify(re);
  209. // if (datas.indexOf("accept") != -1) {
  210. // console.log(re)
  211. // }
  212. // },
  213. // fail: (res) => {
  214. // console.log(res)
  215. // }
  216. // })
  217. } else { // 用户没有点击“总是保持以上,不再询问”则每次都会调起订阅消息
  218. uni.setStorageSync('sendMsg', false)
  219. uni.showModal({
  220. title: '提示',
  221. content: '为了更好的体验,请绑定消息推送',
  222. confirmText: '确定',
  223. cancelText: '取消',
  224. success: function(res) {
  225. if (res.confirm) {
  226. console.log(res,'--------------------')
  227. wx.requestSubscribeMessage({
  228. tmplIds: that.arr,
  229. success(re) {
  230. console.log(JSON.stringify(re), 111111111111)
  231. var datas = JSON.stringify(re);
  232. if (datas.indexOf("accept") != -1) {
  233. console.log(re)
  234. }
  235. },
  236. fail: (res) => {
  237. console.log(res)
  238. }
  239. })
  240. that.showModal = false
  241. } else if (res.cancel) {
  242. console.log('取消')
  243. that.showModal = true
  244. }
  245. }
  246. })
  247. }
  248. }
  249. })
  250. },
  251. goSearch() {
  252. if (uni.getStorageSync('sendMsg')) {
  253. wx.requestSubscribeMessage({
  254. tmplIds: this.arr,
  255. success(re) {
  256. var datas = JSON.stringify(re);
  257. if (datas.indexOf("accept") != -1) {
  258. console.log(re)
  259. }
  260. },
  261. fail: (res) => {
  262. console.log(res)
  263. }
  264. })
  265. }
  266. uni.navigateTo({
  267. url: '/pages/task/search'
  268. });
  269. },
  270. goSelectCity() {
  271. if (uni.getStorageSync('sendMsg')) {
  272. wx.requestSubscribeMessage({
  273. tmplIds: this.arr,
  274. success(re) {
  275. console.log(JSON.stringify(re), 111111111111)
  276. var datas = JSON.stringify(re);
  277. if (datas.indexOf("accept") != -1) {
  278. console.log(re)
  279. }
  280. },
  281. fail: (res) => {
  282. console.log(res)
  283. }
  284. })
  285. }
  286. uni.navigateTo({
  287. url: '/pages/index/selectCampus?localCampus=' + this.localCampus
  288. });
  289. },
  290. initCampusList() {
  291. let that = this;
  292. that.yu.request('/helpCampus/selectCampusList', 'GET').then(res => {
  293. if (res.code === 0) {
  294. if (res.data.length !== 0) {
  295. this.campusId = res.data[0].campusId;
  296. this.localCampus = res.data[0].campusName;
  297. this.yu.setCache("campus", res.data[0].campusId);
  298. this.yu.setCache("campusName", res.data[0].campusName);
  299. // this.getNewHelpOrderList();
  300. }
  301. }
  302. });
  303. },
  304. goMessage: function() {
  305. if (uni.getStorageSync('sendMsg')) {
  306. wx.requestSubscribeMessage({
  307. tmplIds: this.arr,
  308. success(re) {
  309. console.log(JSON.stringify(re), 111111111111)
  310. var datas = JSON.stringify(re);
  311. if (datas.indexOf("accept") != -1) {
  312. console.log(re)
  313. }
  314. },
  315. fail: (res) => {
  316. console.log(res)
  317. }
  318. })
  319. }
  320. let token = this.yu.getCache('token');
  321. if (token) {
  322. uni.navigateTo({
  323. url: '/pages/task/renwu'
  324. });
  325. } else {
  326. this.goLogin();
  327. }
  328. },
  329. getSelectBanner(index) {
  330. this.yu.request('/banner/selectBannerList?classify=' + index + '&state=1', 'GET').then(res => {
  331. if (res.code === 0) {
  332. this.banners = res.data;
  333. uni.stopPullDownRefresh();
  334. }
  335. });
  336. },
  337. getMenuList() {
  338. this.yu.request('/helpClassify/selectClassifyList', 'GET').then(res => {
  339. if (res.code === 0) {
  340. if (res.data.length > 0) {
  341. var dataNew = this.chunk(res.data, 10)
  342. this.navlist = dataNew;
  343. if (res.data.length > 5) {
  344. this.categoryHeight = "320rpx"
  345. } else {
  346. this.categoryHeight = "160rpx"
  347. }
  348. }
  349. uni.stopPullDownRefresh();
  350. }
  351. });
  352. },
  353. goLogin() {
  354. this.yu.setCache('href', '/pages/index/index');
  355. uni.navigateTo({
  356. url: '/pages/public/login'
  357. });
  358. },
  359. getNewHelpOrderList(type) {
  360. let postData = {
  361. page: this.page,
  362. limit: this.limit,
  363. campus: this.campusId
  364. }
  365. this.loadingType = 1;
  366. this.yu.request('/help/selectNewHelpOrderList', 'GET', postData).then(res => {
  367. if (res.code === 0) {
  368. if (this.page === 1) {
  369. this.goodsHomeList = [];
  370. }
  371. uni.hideLoading();
  372. if (res.data.list) {
  373. res.data.list.forEach(dd => {
  374. this.yu.request('/helpClassify/selectClassifyList', 'GET').then(ress => {
  375. if (ress.code === 0) {
  376. ress.data.forEach(ddd => {
  377. if (dd.classifyId == ddd.id) {
  378. dd.classifyName = ddd.classifyName
  379. }
  380. });
  381. dd.imageUrl = dd.imageUrl != null ? dd.imageUrl :
  382. '/static/img/logo.png'
  383. this.goodsHomeList.push(dd);
  384. }
  385. });
  386. });
  387. console.log('goodsList', this.goodsHomeList)
  388. }
  389. if (res.data.list.length === this.limit) {
  390. this.loadingType = 0;
  391. } else {
  392. this.loadingType = 3;
  393. }
  394. } else {
  395. this.loadingType = 2;
  396. }
  397. if (type === "refresh") {
  398. uni.stopPullDownRefresh();
  399. }
  400. })
  401. },
  402. clickItem: function(options) {
  403. if (uni.getStorageSync('sendMsg')) {
  404. wx.requestSubscribeMessage({
  405. tmplIds: this.arr,
  406. success(re) {
  407. console.log(JSON.stringify(re), 111111111111)
  408. var datas = JSON.stringify(re);
  409. if (datas.indexOf("accept") != -1) {
  410. console.log(re)
  411. }
  412. },
  413. fail: (res) => {
  414. console.log(res)
  415. }
  416. })
  417. }
  418. // console.log('点击',options)
  419. uni.navigateTo({
  420. url: '/pages/index/taskDetail?helpOrderId=' + options.item.id
  421. })
  422. },
  423. toNavList: function(item, ind) {
  424. if (uni.getStorageSync('sendMsg')) {
  425. wx.requestSubscribeMessage({
  426. tmplIds: this.arr,
  427. success(re) {
  428. console.log(JSON.stringify(re), 111111111111)
  429. var datas = JSON.stringify(re);
  430. if (datas.indexOf("accept") != -1) {
  431. console.log(re)
  432. }
  433. },
  434. fail: (res) => {
  435. console.log(res)
  436. }
  437. })
  438. }
  439. uni.navigateTo({
  440. url: '/pages/task/tasklist?searchValue=' + item.classifyName + '&classifyId=' + item.id +
  441. '&type=directSearch'
  442. });
  443. },
  444. // 传进数组和指定个数,进行拆分
  445. chunk: function(array, size) {
  446. const length = array.length
  447. if (!length || !size || size < 1) {
  448. return []
  449. }
  450. let index = 0
  451. let resIndex = 0
  452. let result = new Array(Math.ceil(length / size))
  453. while (index < length) {
  454. result[resIndex++] = array.slice(index, (index += size))
  455. }
  456. return result
  457. },
  458. edit() {
  459. this.phone = '';
  460. let isLogin = this.yu.isLogin();
  461. if (isLogin) {
  462. this.isDisable = true;
  463. } else {
  464. this.isDisable = false;
  465. }
  466. },
  467. sendDemand() {
  468. if (uni.getStorageSync('sendMsg')) {
  469. wx.requestSubscribeMessage({
  470. tmplIds: this.arr,
  471. success(re) {
  472. console.log(JSON.stringify(re), 111111111111)
  473. var datas = JSON.stringify(re);
  474. if (datas.indexOf("accept") != -1) {
  475. console.log(re)
  476. }
  477. },
  478. fail: (res) => {
  479. console.log(res)
  480. }
  481. })
  482. }
  483. let token = this.yu.getCache('token');
  484. if (token) {
  485. uni.navigateTo({
  486. url: '/pages/order/release?type=hasPhoneAndContent&content=' + this.content + '&phone=' +
  487. this.phone
  488. });
  489. } else {
  490. this.goLogin();
  491. }
  492. },
  493. getUserInfo(userId) {
  494. // 更新登录信息
  495. this.yu.request("/app/selectUserById?userId=" + userId, 'POST').then(res => {
  496. if (res.code === 0) {
  497. this.yu.setCache("avatar", res.data.imageUrl ? res.data.imageUrl : '/static/img/logo.png');
  498. this.yu.setCache("nickName", res.data.nickName ? res.data.nickName : res.data.phone);
  499. this.yu.setCache("mobile", res.data.phone);
  500. this.yu.setCache("invitationCode", res.data.invitationCode);
  501. this.yu.setCache("relation_id", res.data.relationId);
  502. this.yu.setCache("relation", res.data.invitationCode);
  503. this.yu.setCache("grade", res.data.grade);
  504. this.yu.setCache("isInvitation", res.data.isInvitation);
  505. this.yu.setCache("gender", parseInt(res.data.gender));
  506. this.yu.setCache("campus", res.data.campus);
  507. this.yu.setCache("campusName", res.data.campusName);
  508. uni.stopPullDownRefresh();
  509. }
  510. });
  511. },
  512. },
  513. onReachBottom: function() {
  514. this.page = this.page + 1;
  515. this.getNewHelpOrderList();
  516. },
  517. onPullDownRefresh: function() {
  518. this.getSelectBanner(1);
  519. this.getMenuList();
  520. let userId = this.yu.getCache('userId');
  521. this.getUserInfo(userId);
  522. this.page = 1;
  523. this.getNewHelpOrderList('refresh');
  524. }
  525. }
  526. </script>
  527. <style lang="scss">
  528. page {
  529. width: 100%;
  530. background: #F7F7F7;
  531. }
  532. .container {
  533. width: 100%;
  534. .header {
  535. width: 100%;
  536. background: #FFFFFF;
  537. .nav {
  538. height: 88upx;
  539. padding: 0 30upx;
  540. display: flex;
  541. justify-content: space-between;
  542. align-items: center;
  543. .navLeft {
  544. display: flex;
  545. justify-content: space-around;
  546. align-items: center;
  547. image {
  548. width: 34upx;
  549. height: 48upx;
  550. }
  551. .localName {
  552. font-size: 28upx;
  553. font-weight: bold;
  554. color: #333333;
  555. margin-left: 20upx;
  556. }
  557. text {
  558. font-size: 22upx;
  559. color: #333333;
  560. margin-left: 12upx;
  561. }
  562. }
  563. .navRight {
  564. width: 44upx;
  565. height: 39upx;
  566. image {
  567. width: 100%;
  568. height: 100%;
  569. }
  570. }
  571. }
  572. .search-box {
  573. width: 100%;
  574. height: 78upx;
  575. padding: 0 30upx;
  576. display: flex;
  577. align-items: center;
  578. .search-wrap {
  579. width: 100%;
  580. height: 60upx;
  581. background: #F2F2F2;
  582. border-radius: 8upx;
  583. display: flex;
  584. align-items: center;
  585. padding: 0 20upx;
  586. .search-icon {
  587. width: 35upx;
  588. height: 34upx;
  589. }
  590. .search-input {
  591. flex: 1;
  592. font-size: 24upx;
  593. font-weight: 500;
  594. color: #858585;
  595. margin-left: 10upx;
  596. }
  597. }
  598. }
  599. }
  600. .main {
  601. width: 100%;
  602. padding: 20upx 20upx 20upx;
  603. .home-bgi {
  604. width: 100%;
  605. height: 240upx;
  606. background: #FFF;
  607. .swiper {
  608. width: 100%;
  609. height: 100%;
  610. .swiper-wrap {
  611. width: 100%;
  612. height: 100%;
  613. image {
  614. width: 100%;
  615. height: 100%;
  616. display: block;
  617. }
  618. }
  619. }
  620. }
  621. .menu-box {
  622. width: 100%;
  623. padding: 20upx 0 20upx;
  624. display: flex;
  625. .category {
  626. width: 100%;
  627. border-radius: 20upx;
  628. .swiper {
  629. width: 100%;
  630. .uni-swiper-dot {
  631. width: 20upx;
  632. }
  633. .category-list {
  634. width: 100%;
  635. height: auto;
  636. display: flex;
  637. justify-content: flex-start;
  638. flex-flow: wrap;
  639. .icon-box {
  640. width: 20%;
  641. display: flex;
  642. flex-flow: wrap;
  643. justify-content: center;
  644. font-size: 22upx;
  645. color: #666;
  646. .icon {
  647. width: 100upx;
  648. height: 100upx;
  649. }
  650. .text {
  651. width: 100%;
  652. display: flex;
  653. justify-content: center;
  654. padding-bottom: 18upx;
  655. padding-top: 18upx;
  656. }
  657. }
  658. }
  659. }
  660. .dots {
  661. display: flex;
  662. align-items: center;
  663. justify-content: center;
  664. height: 15upx;
  665. width: 100%;
  666. view {
  667. width: 30upx;
  668. height: 5upx;
  669. background-color: rgba(0, 0, 0, 0.2);
  670. &.active {
  671. background-color: #ff570a;
  672. }
  673. }
  674. }
  675. }
  676. .menu-item {
  677. width: 20%;
  678. display: flex;
  679. flex-direction: column;
  680. align-items: center;
  681. justify-content: center;
  682. .iconImg {
  683. width: 100upx;
  684. height: 100upx;
  685. }
  686. text {
  687. margin-top: 17upx;
  688. font-size: 24upx;
  689. font-weight: bold;
  690. color: #333333;
  691. }
  692. }
  693. }
  694. .demand-release {
  695. background-color: #FFF;
  696. padding: 32upx 20upx 30upx;
  697. .title {
  698. font-size: 34upx;
  699. font-weight: 800;
  700. color: #333333;
  701. line-height: 34upx;
  702. margin-bottom: 26upx;
  703. }
  704. .search-wrap {
  705. height: 88upx;
  706. padding: 0 20upx;
  707. background: #F5F5F5;
  708. border-radius: 5upx;
  709. display: flex;
  710. justify-content: space-between;
  711. margin-bottom: 10upx;
  712. text {
  713. margin-right: 40upx;
  714. line-height: 88upx;
  715. font-size: 28upx;
  716. }
  717. .search-input {
  718. flex: 1;
  719. height: 100%;
  720. font-size: 28upx;
  721. }
  722. .placeholder-search-input {
  723. font-size: 28upx;
  724. }
  725. .edit {
  726. height: 88upx;
  727. line-height: 88upx;
  728. font-size: 24upx;
  729. font-weight: 500;
  730. color: #FF3530;
  731. }
  732. }
  733. .btn {
  734. width: 100%;
  735. height: 88upx;
  736. text-align: center;
  737. line-height: 88upx;
  738. background: #FF3530;
  739. border-radius: 5upx;
  740. font-size: 28upx;
  741. font-weight: bold;
  742. color: #FFFFFF;
  743. margin-top: 20upx;
  744. }
  745. }
  746. .card-box {
  747. // padding: 0 30upx;
  748. background-color: #FFF;
  749. margin-top: 20upx;
  750. .title {
  751. height: 86upx;
  752. font-size: 34upx;
  753. font-weight: 800;
  754. color: #333333;
  755. line-height: 86upx;
  756. padding: 0 30upx;
  757. }
  758. }
  759. }
  760. }
  761. </style>

以上项目仅供学习使用、不可商用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/733497
推荐阅读
相关标签
  

闽ICP备14008679号